2.1 Levels of testing

22518 Software Testing MSBTE CO IT 2.1 Levels of testing

 

            Software testing is generally divided into several levels, each addressing a specific layer of the software. These levels of testing aim to review specific aspects of the system and gradually integrate and test them as a whole:

  1. Unit Testing: This is the first level of testing and involves testing individual components or modules of a software independently. It's usually performed by developers themselves and aims to catch bugs early in the development process.
  2. Integration Testing: This level of testing checks how different units or modules work together. The aim is to catch any bugs in the interaction between different units. This type of testing is often done using different strategies like top-down, bottom-up, or sandwich approach.
  3. System Testing: At this level, the entire software system is tested as a whole to verify that it meets the specified requirements and works as expected. This is a black-box type of testing where the internal structure of the system is generally not considered.
  4. Acceptance Testing: This is the final level of testing, often carried out by the end-users or clients, and aims to validate the software against the business requirements. It helps to determine whether the system is ready for production. There are two types of acceptance testing - Alpha (conducted by the in-house team) and Beta (conducted by a select group of external users).
  5. Regression Testing: This is not a separate level, but it's a type of testing performed after modifications (like bug fixes or new features) in the software to ensure that the existing functionalities still work as expected.
  6. End-to-End Testing: This kind of testing involves testing the complete flow of the application from start to end. The purpose of end-to-end testing is to identify system dependencies and to ensure that the right information is passed between various system components and systems.

Each level of testing has a specific purpose and is important to ensure the quality of the software. The testing process typically starts from unit testing and move towards acceptance testing.


Post a Comment

Previous Post Next Post