Difficulty: Easy
Correct Answer: Error guessing
Explanation:
Introduction / Context:
Static testing and dynamic testing are two broad categories of software testing techniques. Static testing examines artefacts such as code, design documents, and requirements without executing the program, while dynamic testing requires running the software. Within static testing, techniques such as inspections, walkthroughs, and static analysis are commonly used. This question asks which technique from the list is not considered static, thereby reinforcing the distinction between static and dynamic approaches.
Given Data / Assumptions:
- Inspections involve structured reviews of documents or code by a team, without executing the software.
- Data flow analysis is a static analysis method that examines the flow of data through code to detect anomalies without running it.
- Error guessing is a dynamic testing technique based on tester experience and intuition during execution of the software.
- Walkthroughs are informal reviews where authors guide reviewers through documents or code without execution.
Concept / Approach:
Static testing techniques are characterised by analysis of artefacts at rest. They can be manual, such as reviews and inspections, or automated, such as static analysis tools. Dynamic testing, by contrast, involves running the program with selected inputs to observe behaviour and detect defects. Error guessing is typically applied while executing test cases, where an experienced tester thinks of likely problematic inputs or paths. This makes error guessing a dynamic technique, while inspections, data flow analysis, and walkthroughs are static techniques.
Step-by-Step Solution:
1. Inspections are formal meetings where reviewers examine code or documents for defects. No execution occurs, so inspections are static.
2. Data flow analysis is a static analysis technique performed by tools or by hand over source code or intermediate representations; it does not require program execution.
3. Walkthroughs involve an author presenting code or documents to peers, again without running the software, and are therefore static.
4. Error guessing relies on the tester's experience to design test cases that are likely to reveal defects, usually executed against the running software.
5. Because error guessing involves dynamic execution of tests, it is not a static testing technique.
Verification / Alternative check:
Standard testing classifications list reviews, static analysis, and walkthroughs under static testing, and list techniques like boundary value analysis, equivalence partitioning, and error guessing under dynamic functional testing. In practice, when testers apply error guessing, they construct input data and scenarios that they then run in the application or through automated test scripts. This reliance on execution confirms that error guessing belongs on the dynamic side, not the static side.
Why Other Options Are Wrong:
Option A, inspections, is clearly static, as no program execution is involved. Option B, data flow analysis, is a static code analysis method. Option D, walkthrough, is a structured review meeting and again non executable. These are all recognised static testing techniques. Option C, error guessing, differs because it is used to guide dynamic test design and execution rather than to analyse artefacts statically, making it the correct answer for what is not a static testing technique.
Common Pitfalls:
A common misunderstanding is to equate static testing only with automated tools and to forget that human reviews are also static testing activities. Another pitfall is thinking that error guessing is informal static analysis because it relies on experience, when in reality it is applied while executing test cases. This question encourages a clear mental separation between activities that operate on non running artefacts and those that require running the software under test.
Final Answer:
The technique that is not classified as static testing is Error guessing.
Discussion & Comments