Testing vs Debugging
Executing tests can show failures that are caused by defects in the software.
Debugging is the development activity that finds, analyzes, and fixes such defects
Test Activities and Tasks
Confirmation Testing
After a defect is fixed, the software may be tested with all test cases that failed due to the defect, which should be re-executed on the new software version. The software may also be tested with new tests to cover changes needed to fix the defect. At the very least, the steps to reproduce the failure(s) caused by the defect must be re-executed on the new software version. The purpose of a confirmation test is to confirm whether the original defect has been successfully fixed.
Regression testing
Looking for unintended changes in behavior resulting from software or environment changes
It is possible that a change made in one part of the code, whether a fix or another type of change, may accidentally affect the behavior of other parts of the code, whether within the same component, in other components of the same system, or even in other systems. Changes may include changes to the environment, such as a new version of an operating system or database management system. Such unintended side-effects are called regressions. Regression testing involves running tests to detect such unintended side-effects.
Test type
a group of test activities aimed at testing specific characteristics of a software system, or a part of a system, based on specific test objectives
Functional quality characteristics
completeness, correctness, and appropriateness
Non-functional quality characteristics
Functional coverage
the extent to which some functionality has been exercised by tests
Non-functional testing
evaluates characteristics of systems and software such as usability, performance efficiency or security
Non-functional testing
evaluates characteristics of systems and software such as usability, performance efficiency or security
Non-functional testing: details
Non-functional coverage
Non- functional coverage is the extent to which some type of non-functional element has been exercised by tests
expressed as a percentage of the type(s) of element being covered
White-box Testing
derives tests based on the system’s internal structure or implementation (code, architecture, work flows, and/or data flows within the system)
Structural coverage
Structural coverage is the extent to which some type of structural element has been exercised by tests, and is expressed as a percentage of the type of element being covered.
Change-related Testing
2. Regression testing
Test Levels
Def: groups of test activities that are organized and managed together
Misc
1. For every test level, a suitable test environment is required
Test Levels Attributes
Test Levels List
Black Box Techniques (List)
White-box Test Techniques (List)
2. Decision coverage
Experience-based Test Techniques (List)
The purpose of a test technique
help in identifying test conditions, test cases, and test data.
The choice of which test techniques to use depends on
Seven Testing Principles