Software product testing aims to identify and fix defects or bugs in a software application. The primary goal of testing is to ensure that the software meets the specified requirements, functions as intended, and is of high quality.
Software Product Testing
A software engineering product can be tested in one of two ways:
- Black box Testing
- White box Testing
Black box testing
Black box testing examines some aspects of the system with little regard
to the internal logical structure of the software. Black box tests demonstrate that the software functions are operational, that input is properly accepted, that the output is correctly produced, and that the integrity of the external information is maintained.
Black box testing is carried out knowing the specified function that a product
has been designed to perform and determining whether each function is fully operational.
White box testing
Black box testing is carried out knowing the internal workings of a software product, determining whether the internal operations implementing the functions perform according to the specification and whether all internal components have
been adequately exercised.
White box testing of software is predicated on closely examining procedural detail. Logical paths through the software are tested by providing test cases. The program’s status is examined at various points to determine if the expected status corresponds to the actual status.
White box testing is a test case design method that uses the internal control structure to derive test cases. Using this method, the software engineer can derive test cases that:
- Guarantee that all independent paths in a module have been exercised at least once.
- Exercise all logical decisions after true and false branches.
- Execute all loops at their boundaries and within their operational bounds.
- Exercise internal data structures to ensure their validity.