Levels of Software Testing
Software Testing is an activity performed to identify errors so that errors can be removed to obtain a product with greater quality. To assure and maintain the quality of software and to represent the ultimate review of specification, design, and coding, Software testing is required. There are different levels of testing :
- Unit Testing: In this type of testing, errors are detected individually from every component or unit by individually testing the components or units of software to ensure that they are fit for use by the developers. It is the smallest testable part of the software.
- Integration Testing: In this testing, two or more modules which are unit tested are integrated to test i.e., technique interacting components, and are then verified if these integrated modules work as per the expectation or not, and interface errors are also detected.
- System Testing: In system testing, complete and integrated Softwares are tested i.e., all the system elements forming the system are tested as a whole to meet the requirements of the system.
- Acceptance Testing: This is a kind of testing conducted to ensure that the requirements of the users are fulfilled before its delivery and that the software works correctly in the user’s working environment.
These tests can be conducted at various stages of software development. The levels of testing along with the corresponding software development phase are shown in the following diagram:
Levels of Testing
While performing the software testing, following Testing principles must be applied by every software engineer:
- The requirements of customers should be traceable and identified by all different tests.
- Planning of tests that how tests will be conducted should be done long before the beginning of the test.
- The Pareto principle can be applied to software testing- 80% of all errors identified during testing will likely be traceable to 20% of all program modules.
- Testing should begin “in the small” and progress toward testing “in the large”.
- Exhaustive testing which simply means to test all the possible combinations of data is not possible.
- Testing conducted should be most effective and for this purpose, an independent third party is required.
Share your thoughts in the comments
Please Login to comment...