Software Testing

Unlike physical systems, most of the defects in software are design errors. Read about the important purpose of software testing and differentiate between verification and validation and basic software testing terms. Compare and contrast the use of various testing strategies, including black-box, white-box, top-down, and bottom-up.

Test Techniques

Techniques based on the nature of the application

The above techniques apply to all types of software. However, for some kinds of applications, some additional know-how is required for test derivation. A list of a few specialized testing fields is provided here, based on the nature of the application under test:

    • Object-oriented testing
    • Component-based testing
    • Web-based testing
    • GUI testing
    • Testing of concurrent programs
    • Protocol conformance testing
    • Testing of real-time systems
    • Testing of safety-critical systems (IEEE1228-94)