Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 2:Testing throughout the software life cycle (2.3 Test types: the…
Chapter 2:Testing throughout the software life cycle
2.1 Software development models
V-model
Integration testing: tests interfaces between components
System testing: concerned with the behavior of the whole system/product as defined by the scope of a development project or product
Component testing: searches for defects in and verifies the functioning of software components
Acceptance testing: validation testing with respect to user needs, require ments, and business processes.
Iterative life cycles
Rapid Application Development(RAD): Rapid Application Development (RAD) is formally a parallel development of
functions and subsequent integration
Agile development: Extreme Programming (XP) is currently one of the most well-known agile development life cycle models.
2.3 Test types: the targets of testing
1 Testing of function (functional testing)
Functional testing considers the specified behavior and is often also referred to as black-box testing.
Function (or functionality) testing can be done focusing on suitability, interoperability, security, accuracy and compliance.
2 Testing of software product characteristics
(non-functional testing)
Non-functional testing includes, but is not limited to, performance testing, load testing, stress testing, usability testing, maintainability testing, reliability testing and portability testing.
3 Testing of software structure/architecture (structural
testing)
Structural testing is often referred to as 'white-box' or 'glass-box'
Good tool support to measure code coverage.
The techniques used for structural testing are structure-based techniques, also referred to as white-box techniques.
4 Testing related to changes (confirmation and regression
testing)
Confirmation testing (re-testing)
Executing test cases that
have been executed before.
Regression testing
Executing test cases that
have been executed before.
The test cases probably passed the last time they were executed
2.4 Maintenance testing
1 Impact analysis and regression testing
Testing the changes
Regression tests to show that the rest of the system has not been affected by the maintenance work.
2 Triggers for maintenance testing
Planned modifications
Perfective modifications (adapting software to the user's wishes)
Adaptive modifications (adapting software to environmental changes)
Corrective planned modifications (deferrable correction of defects)
Ad-hoc corrective modifications
Concerned with defects requiring an immediate solution
2.2 Test levels
2 Integration testing
Tests interfaces between components, interactions to different parts of a system such as an operating system, file system and hardware or interfaces between systems.
Top-down: testing takes place from top to bottom
Bottom-up: testing takes place from the bottom of the control flow upwards.
Functional incremental: integration and testing takes place on the basis of the functions or functionality.
1 Component testing
Known as unit, module and program testing, searches
for defects in, and verifies the functioning of software.
May be done in isolation from the rest of the system depending on the context of the development life cycle and the system.
Component testing may include testing of functionality and specific nonfunctional characteristics.
3 System testing
Concerned with the behavior of the whole system/product as
defined by the scope of a development project or product.
System testing should investigate both functional and non-functional requirements of the system.
4 Acceptance testing
When the development organization has performed its system test and has corrected all or most defects, the system will be delivered to the user or customer for acceptance testing.