One of the aims of testing is to detect as many failures as possible. Many techniques have been developed to do this .These techniques attempt to “break” a program by being as systematic as possible in identifying inputs that will produce representative program behaviors; for instance, by considering sub-classes of the input domain, scenarios, states, and data flows. The classification of testing techniques presented here is based on how tests are generated: from the software engineer’s intuition and experience, the specifications, the code structure, the real or imagined faults to be discovered, predicted usage, models, or the nature of the application. One category deals with the combined use of two or more techniques. Sometimes these techniques are classified as white-box (also called glass-box), if the tests are based on information about how the software has been designed or coded, or as black-box if the test cases rely only on the input/output behavior of the software. The following list includes those testing techniques that are commonly used, but some practitioners rely on some of the techniques more than others.
1. Based on the Software Engineer’s Intuition and Experience
2. Input Domain-Based Techniques
3. Code-Based Techniques
4. Fault-Based Techniques
5. Usage-Based Techniques
6. Model-Based Testing Techniques
7. Techniques Based on the Nature of the Application
8. Selecting and Combining Techniques
1. Based on the Software Engineer’s Intuition and Experience
A. Ad Hoc
B. Exploratory Testing
2. Input Domain-Based Techniques
A. Equivalence Partitioning
B. Pairwise Testing
C. Boundary-Value Analysis
D. Random Testing
3. Code-Based Techniques
A. Control Flow-Based Criteria
B. Data Flow-Based Criteria
C.Reference Models for Code-Based Testing
4. Fault-Based Techniques
A. Error Guessing
B. Mutation Testing
5. Usage-Based Techniques
A. Operational Profile
B.User Observation Heuristics
6. Model-Based Testing Techniques
A. Decision Tables
B. Finite-State Machines
C. Formal Specifications
D. Workflow Models
7. Techniques Based on the Nature of the Application
• object-oriented software
• component-based software
• web-based software
• concurrent programs
• protocol-based software
• real-time systems
• safety-critical systems
• service-oriented software
• open-source software
• embedded software
8. Selecting and Combining Techniques
A. Combining Functional And Structural
B. Deterministic Vs Random
Back - 2 - Test Levels
Next - 4 - Test-Related Matters
Home - Software Testing
Main - The BOK
Published on : 30-May-2018
Ref no : DTC-WPUB-000030
1. Based on the Software Engineer’s Intuition and Experience
2. Input Domain-Based Techniques
3. Code-Based Techniques
4. Fault-Based Techniques
5. Usage-Based Techniques
6. Model-Based Testing Techniques
7. Techniques Based on the Nature of the Application
8. Selecting and Combining Techniques
1. Based on the Software Engineer’s Intuition and Experience
A. Ad Hoc
B. Exploratory Testing
2. Input Domain-Based Techniques
A. Equivalence Partitioning
B. Pairwise Testing
C. Boundary-Value Analysis
D. Random Testing
3. Code-Based Techniques
A. Control Flow-Based Criteria
B. Data Flow-Based Criteria
C.Reference Models for Code-Based Testing
4. Fault-Based Techniques
A. Error Guessing
B. Mutation Testing
5. Usage-Based Techniques
A. Operational Profile
B.User Observation Heuristics
6. Model-Based Testing Techniques
A. Decision Tables
B. Finite-State Machines
C. Formal Specifications
D. Workflow Models
7. Techniques Based on the Nature of the Application
• object-oriented software
• component-based software
• web-based software
• concurrent programs
• protocol-based software
• real-time systems
• safety-critical systems
• service-oriented software
• open-source software
• embedded software
8. Selecting and Combining Techniques
A. Combining Functional And Structural
B. Deterministic Vs Random
Back - 2 - Test Levels
Next - 4 - Test-Related Matters
Home - Software Testing
Main - The BOK
Published on : 30-May-2018
Ref no : DTC-WPUB-000030
Comments
Post a Comment