Quality Assurance

Get Started. It's Free
or sign up with your email address
Quality Assurance by Mind Map: Quality Assurance

1. Fundamentals of Testing

1.1. Necessity

1.1.1. Human -> Error (mistake) -> Defect (fault, bug) which when executed may cause -> Failure

1.1.2. Measures the quality of the software

1.1.3. Gives confidence in the quality

1.1.4. Reduces the overall level of risk

1.1.5. How much testing? Depends on risk, safety & project constraints

1.2. Objectives

1.2.1. Finding Defects

1.2.2. Providing information for decision-making

1.2.3. Preventing defects

1.2.4. Gaining confidence about the level of quality

1.3. Seven Testing Principles

1.3.1. Testing shows presence of defects

1.3.2. Exhaustive testing is impossible

1.3.3. Early testing

1.3.4. Defect clustering

1.3.5. Pesticide paradox

1.3.6. Testing is context dependent

1.3.7. Absence-of-error fallacy

1.4. Fundamental Test Process

1.4.1. Planning & Control

1.4.2. Analysis & Design

1.4.3. Implementation & Execution

1.4.4. Evaluating Exit Criteria & Reporting

1.4.5. Test Closure

1.5. The Psychology of Testing

1.5.1. Mindset of Developer & Tester

1.5.2. Communication in a constructive manner

1.5.3. Test Independence

2. Test Design

2.1. Test Development Process

2.1.1. Test Design Specification

2.1.2. Test Case Specification

2.1.3. Test Procedure Specification

2.2. Specification-based

2.2.1. Boundary Value Analysis

2.2.2. Representative Scenarios

2.2.3. State Transition Diagrams / Tables

2.2.4. BRD Testing

2.3. Structure-based

2.3.1. Decision Testing & Coverage

2.3.2. Other Structure-based Techniques

2.3.2.1. Condition Testing

2.3.2.2. Multiple Condition testing

2.3.2.3. All Path Testing (Strongest)

2.4. Experience-based Techniques

2.4.1. Exploratory Testing

2.4.2. Error Guessing

2.5. Choosing test Techniques

2.5.1. Risk & Objectives

2.5.2. Type of System & Dev Cycle

2.5.3. Customer Standards

2.5.4. Time & Budget

2.5.5. Knowledge & Experience

3. Tool Support for Testing

3.1. Types of Test Tools

3.1.1. Management of Testing & Tests

3.1.2. Performance & Monitoring

3.1.3. Specific testing Needs

3.1.4. Test Execution & Logging

3.1.5. Test Specification

3.1.6. Static Testing

3.2. Effective Use of Tools

3.2.1. Potential Benefits & Risks

3.2.2. Special consideration for Test Execution, Static Analysis & Test Management tools

3.3. Introducing New Tools

3.3.1. Main Considerations

3.3.2. Start with a Pilot project

3.3.3. Success factors for deployment

4. Test Management

4.1. Test Organization

4.1.1. Independent Testing

4.1.2. Tasks of Test Leader & Tester

4.2. Test Planning & Estimation

4.2.1. Test Planning

4.2.1.1. Test Policy, Strategy

4.2.1.2. Estimating Techniques

4.2.1.3. Test Plan

4.2.2. Test Approaches

4.2.2.1. Analytical

4.2.2.2. Model-based

4.2.2.3. Methodical

4.2.2.4. Process-Compliant or Standard-Compliant

4.2.2.5. Regression-Averse

4.2.2.6. Dynamic and Heuristic

4.2.2.7. Consultative

4.2.3. Entry & Exit Criteria

4.3. Test Progress Monitoring & Control

4.3.1. Test Monitoring

4.3.2. Test Reporting & Control

4.3.3. Test Summary Report

4.4. Risks and Testing

4.4.1. Risk: Probability / Likelihood & Impact

4.4.2. Project & Product Risks

4.4.3. Risk-based testing approach

4.5. Configuration Management

4.5.1. Establish and maintain the integrity of the products

4.6. Incident Management

4.6.1. Incident Management

4.6.2. Incident Logging

4.6.3. Test Incident Report

5. Testing Throughout the Software Life Cycle

5.1. Software Development Models

5.1.1. Iterative-Incremental

5.1.1.1. Agile

5.1.1.2. Scrum

5.2. Test Levels

5.2.1. Component (Unit)

5.2.2. System

5.2.3. System Integration

5.2.4. Acceptance

5.3. Test Types

5.3.1. Black Box

5.3.1.1. Functional Testing

5.3.1.2. Non-Functional Testing (Software Characteristics)

5.3.2. White Box

5.3.2.1. Structural Testing

5.3.3. Testing Related to Change

5.3.3.1. Re-Testing

5.3.3.2. Regression

5.4. Maintenance Testing

5.4.1. Change to deployed software system or its enviroment

5.4.2. Triggered by

5.4.2.1. Modification

5.4.2.2. Migration

5.4.2.3. Retirement

5.4.3. Extensive regression testing required

6. Static Techniques

6.1. Review Types

6.1.1. Informal Review

6.1.2. Walkthrough

6.1.3. Technical Review

6.1.4. Inspection

6.2. Activities of a Formal Review

6.2.1. Planning

6.2.2. Kick-off

6.2.3. Individual Preparation

6.2.4. Review Meeting

6.2.5. Rework

6.2.6. Follow-Up

6.3. Static Analysis by Tools

6.3.1. Find defects in software source code and models

6.3.2. Can locate defects that are hard to locate in dynamic testing