1. Static Testing Techniques
1.1. Static Analysis
1.1.1. Tools
1.1.1.1. Code Structure
1.1.1.1.1. Data Flow
1.1.1.1.2. Control Flow
1.1.1.2. Code Metrics
1.1.1.2.1. Cyclomatic Number
1.1.1.2.2. Comment frequency
1.1.1.2.3. Depth of nesting
1.1.1.3. Code Standards
1.1.1.4. Capture and Replay Tool
1.2. Review
1.2.1. Informal Review
1.2.2. Inspection
1.2.2.1. Kickoff
1.2.2.2. Individual Preparation
1.2.2.3. Review Meeting
1.2.2.3.1. Logging Phase
1.2.2.3.2. Discussion Phase
1.2.2.3.3. Decision Phase
1.2.2.4. Rework
1.2.2.5. Follow Up
1.2.3. Walkthroughs
1.2.4. Technical Review
2. Test Type
2.1. 1. Structural (White Box)
2.2. 2. Change Related
2.2.1. Maintenance
2.2.1.1. Modifications
2.2.1.2. Migration
2.2.1.3. Retirement of the system
2.2.2. Regression
2.2.2.1. Upgrade
2.2.3. Confirmation/Retesting
2.3. Black Box
2.3.1. 3. Functional or Functionality
2.3.1.1. smoke
2.3.1.2. Sanity
2.3.2. 4. Nonfunctional
2.3.2.1. Maintainability
2.3.2.1.1. Testability
2.3.2.2. Reliability
2.3.2.2.1. Robustness
2.3.2.3. Usability
2.3.2.3.1. Content Testing
2.3.2.4. Efficiency
2.3.2.4.1. Performance
2.3.2.5. Portability
2.3.2.6. Load Testing
2.3.2.7. Stress Testing
2.4. Acceptance Testing Test Types
2.4.1. User Acceptance Testing
2.4.1.1. Alpha Testing
2.4.1.2. Beta Testing
2.4.2. Operational Acceptance Test
3. Impact Analysis
4. Fault = Defect: flaw that causes system/component to fail Mistake = Error: human action produces incorrect result
4.1. Reasons for failure
5. Techniques are used for Test Types and Test Levels
6. Test Levels will have test objectives, exercised through test types
7. Techniques are used for Test Types and Test Levels
8. Dyanmic Analysis Tools
9. Dynamic Testing Teqchniques
9.1. Experience Based
9.1.1. Error Guessing
9.1.2. Exploratory
9.1.3. Fault Attack
9.2. Specification Based/Functional and nonfunctional Testing (Black/Opaque Box Techniques)
9.2.1. Decision Tables
9.2.2. State Testing
9.2.3. Use Case Testing
9.2.4. Equivalence Partitioning
9.2.4.1. Boundary Value Analysis
9.2.5. Cause Effect Graph aka Fishbone Diagram
9.3. Structure Based (White Box Techniques)
9.3.1. Decision (aka branch)
9.3.2. Path Testing
9.3.3. Statement Testing & Coverage
9.3.4. Condition
9.3.5. Multiple Condition
9.3.6. Linear Code Sequence & Jump (LCSJ)
10. Compliance Testing
11. Test Levels
11.1. WHITE BOX ONLY: Unit Testing of Developers
11.2. WHITE BOX ONLY: Component/Unit Testing of testers
11.3. Integration Testing
11.3.1. Big Bang Integration
11.3.2. Top Down
11.3.3. Bottom Up
11.3.4. Functional Incremental
11.4. System Testing
11.4.1. Recovery Testing
11.5. Acceptance Testing
12. Boolean Operators: AND, OR, & NOT
13. Software Development Models
13.1. Capability Maturity Model Integration (CMMI)
13.2. V-Model AKA Sequential Development Model
13.3. Iterative- incremental development models
14. Test harnesses
14.1. Dummy modules
14.1.1. Drivers
14.1.2. Stubs