Software Testing Foundation

Get Started. It's Free
or sign up with your email address
Software Testing Foundation by Mind Map: Software Testing Foundation

1. Static Testing

1.1. Background

1.2. Review process

1.2.1. Basic elements

1.2.2. Activities

1.2.3. Roles & Responsibilities

1.3. Types of review

1.3.1. Informal

1.3.2. Walkthrough

1.3.3. Technical review

1.3.4. Inspection

1.4. Static Analysis by tools

2. Test Design Techniques

2.1. Test development process

2.1.1. Test conditions

2.1.2. Test cases

2.1.3. Test procedures

2.2. Test coverage

2.3. Test case design techniques

2.3.1. Specification-based (Black-box)

2.3.1.1. Equivalence partitioning

2.3.1.1.1. Input partitions

2.3.1.1.2. Output partitions

2.3.1.1.3. Other partitions

2.3.1.2. Boundary value analysis

2.3.1.3. Decision table testing

2.3.1.4. State transition testing

2.3.1.5. Use case testing

2.3.2. Structure-based (White-box)

2.3.2.1. Flow charts

2.3.2.2. Control flow graphs

2.3.2.3. Statement testing and coverage

2.3.2.4. Decision testing and coverage

2.3.2.5. Simplified control flow graphs

2.3.3. Experience-based

2.3.3.1. Error guessing

2.3.3.2. Exploratory testing

3. Test Management

3.1. Test approaches (Test strategies)

3.2. Test planning and estimation

3.2.1. Test planning

3.2.1.1. Activities

3.2.1.2. Entry criteria

3.2.1.3. Exit criteria

3.2.2. Test estimation

3.2.2.1. Metrics-based approach

3.2.2.2. Expert-based approach

3.3. Test progress monitoring and control

3.3.1. Test progress monitoring

3.3.1.1. Test matrics

3.3.2. Test reporting

3.3.3. Test control

3.4. Incident management

3.5. Configuration management

4. The Fundamentals

4.1. Why software fails

4.1.1. Error

4.1.2. Defect

4.1.3. Failure

4.2. What testing is and what testing does

4.2.1. Static testing and Dynamic testing

4.2.1.1. Static testing

4.2.1.2. Dynamic testing

4.2.2. Testing and Debugging

4.2.2.1. Testing

4.2.2.2. Debugging

4.3. Fundamental test process

4.3.1. Test planning and control

4.3.2. Test analysis and design

4.3.3. Test implementation and execution

4.3.4. Evaluating exit criteria

4.3.5. Test closure activities

5. Life Cycles

5.1. Software development models

5.1.1. Waterfall model

5.1.2. V-model

5.1.3. Iterative development

5.2. Test levels

5.2.1. Unit (component) testing

5.2.2. Integration testing

5.2.2.1. Integration strategy

5.2.2.1.1. Big-bang

5.2.2.1.2. Top-down

5.2.2.1.3. Bottom-up

5.2.2.2. Level of integration testing

5.2.2.2.1. Component integration testing

5.2.2.2.2. System integration testing

5.2.3. System testing

5.2.3.1. Functional testing

5.2.3.2. Non-functional testing

5.2.4. Acceptance testing

5.2.4.1. User acceptance testing

5.2.4.2. Operational acceptance testing

5.2.4.3. Contract & Regulation acceptance testing

5.2.4.3.1. Contract acceptance testing

5.2.4.3.2. Regulation acceptance testing

5.2.4.4. Alpha & Beta acceptance testing

5.2.4.4.1. Alpha acceptance testing

5.2.4.4.2. Contract acceptance testing

5.3. Test types

5.3.1. Functional testing

5.3.2. Non-functional testing

5.3.3. Structural testing

5.3.4. Testing related to changes

5.3.4.1. Retesting

5.3.4.2. Regression testing

5.4. Maintenance testing

5.4.1. Impact analysis

5.4.2. Data migration/conversion testing

6. Test Tools

6.1. Definition and benefits

6.2. Types of tool

6.2.1. Support for management

6.2.1.1. Test management tools

6.2.1.2. Incident management tools

6.2.1.3. Requirement management tools

6.2.1.4. Configuration management tools

6.2.2. Support for static testing

6.2.2.1. Review tools

6.2.2.2. Modelling tools

6.2.3. Support for test specification

6.2.3.1. Test design tools

6.2.4. Support for test execution and logging

6.2.4.1. Test comparators

6.2.4.2. Test execution tools

6.2.4.2.1. Record (or capture playback) tools

6.2.4.2.2. Data-driven testing

6.2.4.2.3. Keyword-driven testing

6.2.4.2.4. Technical skills

6.2.4.2.5. Maintenance

6.2.4.2.6. Effective and efficient use

6.2.4.3. Test harnesses

6.2.4.4. Coverage measurement tools

6.2.4.5. Security testing tools

6.2.5. Support for performance and monitoring

6.2.5.1. Dynamic analysis tools

6.2.5.2. Performance testing tools

6.2.5.3. Monitoring tools

6.2.5.4. Data quality assessment tools

6.2.5.5. Usability test tools

6.3. Introducing a tool into an organisation