Software testing is a set of processes aimed at investigating, evaluating and ascertaining the completeness and quality of computer software. Software testing ensures the compliance of a software product in relation with regulatory, business, technical, functional and user requirements. Software testing is also known as application testing.
Software testing is primarily a broad process that is composed of several interlinked processes. The primary objective of software testing is to measure software health along with its completeness in terms of core requirements. Software testing involves examining and checking software through different testing processes. The objectives of these processes can include:
Verifying software completeness in regards to functional/business requirements
Identifying technical bugs/errors and ensuring the software is error-free
Assessing usability, performance, security, localization, compatibility and installation
The tested software must pass each of the tests in-order to be considered complete or fit for use. Some of the different types of software testing methods include white box testing, black box testing and grey box testing. Moreover, the software can be tested as a whole, in components/units or within a live system.