An early software testing plays an important role in reducing the time and cost of the project, minimize risk of failure and deliver a software that meets the quality standards. Software testing mustbe done at different levels of the software development with a specific objective at each level. There are wide variety of software testing types to test the various features of software chosen based on the project scenario. However, the software testing can either be a manual testing or automation testing.
The software testing types can be broadly classified as static testing and dynamic testing. In the static testing, the software project documents are reviewed to identify the errors. The review can be informal review, formal review or inspection, technical review, or a review during walkthrough meeting. Informal review can be conducted by a QA analyst anytime during the project. It is an inexpensive way of testing and the benefits depend on the software tester. Formal review or inspection is planned and controlled by the moderator (a test lead can play the role of moderator). The QA analysts review the software project documents assigned, before the review meeting. During the review meeting, errors are discussed, scribe (a role assigned to one of the tester during review meeting) documents the discussion. The reviewers submit review report to moderator at the end of review meeting.
In the dynamic testing, software is tested during the execution. Dynamic testing can be either white box testing or black box testing. The two types of white box testing are unit testing and integration testing. The white box testing is also called as structural testing. Unit testing or the component testing is testing each program component in isolation. Integration testing is to test the interfaces between the program components. The developers conduct the white box testing using tools in the development environment. The other type of dynamic testing is black box testing and it is also termed as specification-based testing. The system testing and user acceptance testing (UAT) are classified under the black box testing. The system testing on the software is conducted by an independent team of QA analysts to establish the quality of the software. Both the functional and non-functional characteristics of the software are tested by the QA team. The system testing is performed using various different Software Testing tools, in the test environment. After the system testing, users can test the usability of the software in User acceptance testing. The QA analysts may assist the users in the UAT. The users can perform the UAT in IT environment and it is called as Alpha testing. If the software is tested by the users in the real or pre-production environment then it can be called as Beta testing.
Software testing should be a well-organized process performed by the experts using the best suitable test approaches with specific objectives at each level and achieve the desirable results.
Check your understanding?
- Name and describe the different types of software testing that you might have come across.