Middle
What test design techniques do you know?
sobes.tech AI
Answer from AI
Test Design Techniques:
Black Box Testing Techniques: Based on analyzing functional requirements and specifications without knowledge of the internal structure or code of the application.
- Equivalence Partitioning: Dividing input data or conditions into classes where elements of the same class are presumed to be processed similarly by the system. Tests are created for each class.
- Boundary Value Analysis: Testing values at the edges of equivalence classes, as errors often occur at these boundary conditions.
- Decision Table Testing: Used for testing complex business logic where the outcome depends on a combination of several conditions. It presents conditions and corresponding actions in a table.
- Pairwise Testing: Based on the principle that most errors are caused by interactions of no more than two parameters. Test cases are formed to check all possible pairwise combinations of parameter values.
- State Transition Testing: Applied to systems with clearly defined states and transitions between them (e.g., user interfaces, protocols). Tests cover all possible states and transitions.
- Use Case Testing: Based on describing typical scenarios of user interaction with the system. Tests verify the functionality execution according to these scenarios.
- Error Guessing: An intuitive technique based on the tester's experience and knowledge of likely error-prone areas.
White Box Testing Techniques: Based on analyzing the internal structure, logic, and code of the application.
- Statement Coverage Testing: Checking that each statement in the code is executed at least once.
- Branch Coverage / Decision Coverage: Checking that all possible branches of the code are executed (e.g., in
if,whileconditions). Each condition must be tested as true and false. - Condition Coverage: Checking all individual conditions in complex logical expressions for truth and falsehood.
- Path Coverage: Checking all possible independent execution paths in the code. This is the most thorough but also the most labor-intensive technique.
- Data Flow Testing: Analyzing the paths data takes through the program and verifying the correctness of data usage and modification.
Gray Box Testing Techniques: A combination of black and white box techniques, where the tester has partial knowledge of the internal structure of the application.
The choice of specific test design techniques depends on the testing goals, system complexity, development phase, and available resources. Often, a combination of different techniques is used.