The system under test may be a program, a product, an application, a service-oriented application, middleware, a composition of services, a system, a system of systems, or an ecosystem. A test case specifies the inputs, timing, procedure, and expected results required for an execution. The same input can correspond to different behavior in a different state or environment, so a set of test cases is usually a test suite. Dynamic validation requires executing the test suite on the system under test. Static techniques complement it and are covered in the Software Quality knowledge area.[1]
The Guide's top-level topics for this knowledge area are:
- Software Testing Fundamentals
- Test Levels
- Test Techniques
- Test-Related Measures
- Test Process
- Software Testing in the Development Processes and the Application Domains
- Testing of and Testing Through Emerging Technologies
- Software Testing Tools
Software-testing standards listed in the Guide's appendix include ISO/IEC/IEEE 29119-2:2021 (test processes), ISO/IEC/IEEE 29119-3:2021 (test documentation), and ISO/IEC/IEEE 29119-4:2021 (test techniques).[1]