Fundamentals of Software Testing
- Grasping the software systems context
- Identifying causes of software defects
- Bug
- Defect
- Error
- Failure
- Fault
- Mistake
- Quality
- Risk
Ensuring Software Success Through Testing
The key objectives of testing
- Finding defects during development
- Providing confidence and information
Adhering to seven testing principles
- Presence of defects
- Exhaustive testing
- Early testing
- Defect clustering
- Pesticide paradox
- Context dependent
- Absence-of-errors fallacy
Applying common sense processes
- Planning and controlling
- Analyzing and designing
- Implementing and executing
- Evaluating exit criteria and reporting
- Closing activities
Coping with the psychology of testing
- Contrasting developer vs. tester mindset
- Discerning levels of independence
Testing and the Software Life Cycle
Distinguishing software development models
- Adapting to V-model and iterative models
- Performing tests within a life cycle model
Conducting the main test levels
- Component
- Integration
- System
- Acceptance
Comparing four software test types
- Recognizing functional and structural tests
- Performing non-functional testing
- Analyzing software structure/architecture
- Conducting confirmation and regression tests
Performing maintenance testing
- Identifying reasons for maintenance testing
- Modification
- Migration
- Retirement
Finding Defects with Static Techniques
Comparing static analysis to dynamic testing
- Detection
- Correction
- Improvement
Differentiating various review types
- Informal
- Technical
- Walkthrough
- Inspection
Leveraging Test Design Techniques
Differentiating various "specifications"
- Test design
- Test case
- Test procedure
Applying specification-based techniques
- Equivalence partitioning
- State transition
- Boundary value analysis
- Use case
- Decision table
Utilizing structure-based techniques
- Statement coverage
- Decision coverage
Deploying experience-based knowledge
- Intuition
- Experience
- Knowledge
Managing the Testing Process
Organizing and assigning responsibilities
- Independence
- Test leader
- Tester
Planning and estimating the activities
- Metrics-based vs. expert-based approach
- Justifying exit criteria adequacy
- Standardizing test documentation
Monitoring and controlling test progress
- Applying common metrics
- Interpreting test summary reports
Implementing configuration management
- Ensuring proper version control
- Generating incident reports
Addressing project and product risks
- Contractual
- Organizational
- Technical
- Assess
- Determine
- Implement
Adopting Test Support Tools
Classifying different types of test tools
- Test management
- Static testing
- Test specification
- Executing and logging
- Performance and monitoring
- Other
Introducing a tool into an organization
- Recognizing potential benefits and risks
- Considering special circumstances
No comments:
Post a Comment