ST Lecture Experience Based Testing
ST Lecture Experience Based Testing
Chapter 5:
Dynamic Analysis-Test Design Techniques
Experience Based Testing
Experience Based Testing
Besides the systematic approaches, intuitive determination of test cases
should be performed.
People’s knowledge, skills and background are of prime importance to the
test conditions and test cases.
Tester verifies and validates the software product quality
Proper strategy and documentation plan along with the gained experience
If used wisely may yield large success to the testers
When experience based testing is
required?
Non-availability of requirements and specifications.
Limited Knowledge of the Software product.
Inadequate specification
Restricted amount of time, to perform testing.
Experience Based Testing
Techniques
Error Guessing
Technique of guessing and detecting the potential defects
Tester identify the vulnerable areas of the software product
This technique may be considered as a risk analysis method.
Tester assigns each area with low-risk, medium-risk and high-risk
defect areas
Checklist Based Testing
Based on the pre-planned “to-do” list of tasks called a checklist
Experienced tester based on his past experience prepares the checklist
Checklist reminds the tester of what to be tested
Checklist prepared by a tester is not the static and the final list
Ensures the complete test coverage in this testing.
Commonly used testing checklists are:
Exploratory Testing
It is used when basis for test design, are of low quality, are obsolete, or do not exist at all.
Approach is the test activities in exploratory testing are executed nearly in parallel.
Tester plans and designs what to be tested next while execution of the software.
It is hands on approach in which testers are involved in minimum planning and maximum test execution
Test charter for certain elements of program is created. (tasks or functions). While executing test charter these questions arise
- Software
- Uses
- Strengths
- Weaknesses
Example : shopping website
Attack Testing
Fault attack
Direct focused evaluation by attempt to force specific failures to occur
Principle of attack is based on interaction between software and its environment, including UI, OS
with kernel, APIs and file systems.
Interactions are based on data exchanges, and misalignment in those can be the cause of a failure.
Software attacks (sometimes called fault attacks) are focused on trying to induce a specific type of
failure.
The faults are injected into the software. Two types of injections:
Compile time injection
• Models used
• Likely defects
• Test objective
• Documentation