What is a traditional testing model? Can someone provide me detailed information?
This model is mainly used to identify bugs in the app. When a team implements the ‘waterfall model’ for testing and development, testing is conducted manually via the User Interface. As seen in the figure below, automation testing is conducted in the middle and lower layers. The middle layer is composed of the utilities that reveal the Application Programming Interfaces (APIs) that the UI layer can use. Unit tests are the lowest layer of the inverted pyramid, and these tests are written by the developers to validate the developer-coded features.
This model can be used in projects where the total budget is limited, specifications are straightforward and fewer adjustments are required in later phases of product/project growth. The biggest drawback of this model is that it can not be used for projects with a larger budget. Often, where project time limits are tight, as testing only begins after ‘product development’ has been completed.
Although the testing operation begins at a later point in time, finding bugs and having them fixed by the developers can consume a long time and resources. This would have a negative effect on the overall production time and could postpone the shipment of the project/product. In such situations, the ‘Agile Approach’ is used in fast-changing enterprises today due to its iterative and versatile approach. Even as user-interface layer experiments increase the length of the ‘test, feedback & patch’ cycle, most companies turn to Test Automation Pyramid, which uses reduced user-interface-based test automation.
In the traditional test model, the prime objective of the testers designing the test code was the development of UI-centric test cases. Also, low-level functionalities involving database transactions, access to core business logic, etc. have been performed through UI test cases.
This method is fragile in nature as automation checks would have to be updated if the web application or website were to undergo significant UI changes. This entails ongoing maintenance costs, which will increase the total budget of the project. This could also have an effect on the ‘project completion schedules’ which could lead to losses for the company (as well as the client).