Software testing
a set of activities to discover defects and evaluate the quality of software artifacts.
Test Objectives
Debugging
concerned with finding causes of the failure (defects), analyzing these causes, and eliminating them
Typical debugging process
Quality control (QC)
a product-oriented, corrective approach that focuses on those activities supporting the achievement of appropriate levels of quality (Testing)
Quality assurance (QA)
a process-oriented, preventive approach that focuses on the implementation and improvement of processes
Test results in QA and QC
A root cause
a fundamental reason for the occurrence of a problem (e.g., a situation that leads to an error). Root causes are identified through root cause analysis, which is typically performed when a failure occurs or a defect is identified.
Errors, Defects, Failures
Human beings make errors (mistakes), which produce defects (faults, bugs), which in turn may result in failures
Testing principles
Test Activities and Tasks
often implemented iteratively or in parallel, need to be tailored to the system and the project
The way the testing is carried out will depend on
Traceability
The test management role
NB varies depending on the context, the test management role can be performed by a team leader, by a test manager, by a development manager,
The testing role
mainly focused on the activities of test analysis, test design, test implementation and test execution.
Generic Skills Required for Testing
Independence of Testing
The main benefit of independence of testing
Drawbacks of independent testers
Test planning work products
Risk register
a list of risks together with risk likelihood, risk impact and information about risk mitigation
Test monitoring and control work products
Test analysis work products
Test design work products