Software Testing URL: https://knowledge.ivjn.us/en/concepts/software-testing/at/2.html Software testing is the dynamic validation that a system under test shows expected behavior on a finite set of test cases selected from a usually infinite execution domain. 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.[^s1] 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](https://knowledge.ivjn.us/en/works/ieee-std-29119-2-2021-9591506.html) (test processes), [ISO/IEC/IEEE 29119-3:2021](https://knowledge.ivjn.us/en/works/ieee-std-29119-3-2021-9591575.html) (test documentation), and [ISO/IEC/IEEE 29119-4:2021](https://knowledge.ivjn.us/en/works/ieee-std-29119-4-2021-9591512.html) (test techniques).[^s1] Updated: 2026-11-02 Relations: - Broader concepts: Software Engineering https://knowledge.ivjn.us/en/concepts/software-engineering.html Sources: - Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) v4.0a https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf Chapter 5; Appendix B