Software Testing and Quality Assurance

  1. Test Design Techniques
    1. Black-Box Testing Techniques
      1. Equivalence Partitioning
        1. Identifying Input Classes
          1. Valid Equivalence Classes
            1. Invalid Equivalence Classes
              1. Designing Test Cases for Each Partition
              2. Boundary Value Analysis
                1. Identifying Boundaries
                  1. Two-Point Boundary Testing
                    1. Three-Point Boundary Testing
                      1. Robust Boundary Testing
                      2. Decision Table Testing
                        1. Creating Decision Tables
                          1. Condition Combinations
                            1. Action Determination
                              1. Deriving Test Cases from Tables
                              2. State Transition Testing
                                1. Identifying States and Transitions
                                  1. State Transition Diagrams
                                    1. Valid and Invalid Transitions
                                      1. Designing State-Based Test Cases
                                      2. Use Case Testing
                                        1. Analyzing Use Cases
                                          1. Main Flow Testing
                                            1. Alternative Flow Testing
                                              1. Exception Flow Testing
                                                1. Scenario-Based Test Design
                                                2. Pairwise Testing
                                                  1. Combinatorial Testing
                                                    1. Parameter Combinations
                                                      1. Orthogonal Arrays
                                                      2. Classification Tree Method
                                                        1. Hierarchical Classification
                                                          1. Test Case Generation
                                                        2. White-Box Testing Techniques
                                                          1. Control Flow Testing
                                                            1. Statement Coverage
                                                              1. Measuring Code Execution
                                                                1. Coverage Metrics
                                                                2. Branch Coverage
                                                                  1. Decision Coverage
                                                                    1. Testing All Branches
                                                                    2. Path Coverage
                                                                      1. Independent Paths
                                                                        1. Cyclomatic Complexity
                                                                      2. Data Flow Testing
                                                                        1. Variable Definition and Usage
                                                                          1. Data Flow Paths
                                                                            1. All-Uses Coverage
                                                                            2. Condition Coverage
                                                                              1. Simple Condition Coverage
                                                                                1. Boolean Expression Testing
                                                                                2. Multiple Condition Coverage
                                                                                  1. Truth Table Testing
                                                                                    1. Condition Combinations
                                                                                    2. Modified Condition Decision Coverage
                                                                                      1. Independent Condition Testing
                                                                                        1. MCDC Requirements
                                                                                      2. Loop Testing
                                                                                        1. Simple Loops
                                                                                          1. Zero Iterations
                                                                                            1. One Iteration
                                                                                              1. Multiple Iterations
                                                                                              2. Nested Loops
                                                                                                1. Inner Loop Testing
                                                                                                  1. Outer Loop Testing
                                                                                                  2. Concatenated Loops
                                                                                                    1. Sequential Loop Testing
                                                                                                2. Experience-Based Techniques
                                                                                                  1. Exploratory Testing
                                                                                                    1. Simultaneous Learning and Test Design
                                                                                                      1. Session-Based Testing
                                                                                                        1. Charter-Based Testing
                                                                                                          1. Time-Boxed Testing
                                                                                                          2. Error Guessing
                                                                                                            1. Leveraging Experience to Predict Defects
                                                                                                              1. Common Error Patterns
                                                                                                                1. Intuitive Testing
                                                                                                                2. Checklist-Based Testing
                                                                                                                  1. Creating Effective Checklists
                                                                                                                    1. Using Domain-Specific Checklists
                                                                                                                      1. Checklist Maintenance
                                                                                                                      2. Attack-Based Testing
                                                                                                                        1. Vulnerability-Based Testing
                                                                                                                          1. Security Attack Patterns