Conventional testing, also known as traditional or waterfall testing, follows a linear and sequential approach to software development and testing. Here are the stages typically involved in conventional testing:
- Requirements Analysis: In this initial stage, the requirements for the software system are gathered, documented, and analyzed. This involves understanding the needs of the stakeholders and defining what the software should accomplish.
- System Design: Once the requirements are understood, the system architecture and design are created. This stage involves defining the overall structure of the software system, including how different components will interact and how data will flow within the system.
- Implementation: In the implementation stage, the actual code for the software system is developed based on the design specifications. Developers write code according to the requirements and design, aiming to create functional software that meets the specified criteria.
- Unit Testing: Unit testing is performed by developers to verify the individual units or components of the software. Each unit is tested in isolation to ensure that it behaves as expected and meets its functional requirements. Unit tests are typically automated and focus on testing small, specific pieces of code.
- Integration Testing: Integration testing is conducted to test the interactions between different units or components of the software. This stage verifies that the units work together as intended and that data is passed correctly between them. Integration testing may involve testing progressively larger portions of the system, culminating in testing the entire system as a whole.
- System Testing: System testing evaluates the entire software system as a whole. It involves testing the system against the requirements to ensure that it meets the specified functionality, performance, and quality criteria. System testing may include functional testing, performance testing, usability testing, and other types of testing to validate the system from end to end.
- User Acceptance Testing (UAT): User acceptance testing is performed by end-users or stakeholders to validate whether the software meets their expectations and requirements. This stage involves executing real-world scenarios and evaluating the software’s usability, functionality, and suitability for its intended purpose. Feedback from UAT is used to make final adjustments and refinements to the software before deployment.
- Deployment: Once the software has passed all testing stages and received approval from stakeholders, it is deployed to the production environment. Deployment involves installing the software on the target systems and making it available to end-users.
- Maintenance: After deployment, the software enters the maintenance phase, where it is monitored, updated, and supported as needed. Maintenance may involve fixing bugs, implementing enhancements, and addressing issues that arise in the production environment.
Overall, conventional testing follows a structured and sequential approach, with each stage building upon the previous one to ensure that the software meets its requirements and delivers value to stakeholders.