Automation of testing activities within a software project is a factor that can bring great contribution to the success of a project, taking into consideration the resources and the knowledge needed. In the following lines, Ionut will share some interesting thins about automation testing.
Alina: Which are the major benefits of automating of testing efforts in software development ?
Ionut: The major benefits of automation of testing are:
Eliminating the basic repetitive work - Eliminating some of the basic repetitive work done by testers, thus the focus of testing is changed towards: testing more complex scenarios that are not covered by the automated tests.
Quick feedback on the quality status of the application- Automated tests, if done right, can become a reliable indicator of the quality of the code.
Same precision every time - When testing a software product the number of failed test cases will indicate the quality level of the application. Running the test cases manually takes more time and it’s not always precise, because it depends on factors such as the mood and the abilities of the tester.
Alina: What are the phases for implementing an automated testing solution ?
Ionut: The phases of implementing an automated testing solution are:
Phase 1: Planning - This phase is crucial for the success of the automation solution. If some details are missed in this part, the solution may not deliver the promised quality. Starting from a list of general high level specifications, the overall technical architecture will be detailed.
Phase 2: Prototype - Based on the technical details created in the planning phase, the prototype should be built.
Phase 3: Implementing a basic smoke test - When delivering the highest value for the client, first we should aim to get as much as we can for the least amount of effort. In most cases this will be implementing a low number of tests that cover most of the business critical functionality, or a smoke test.
Phase 4: Adding new tests each sprint - After creating a simple smoke test, more test cases can be added in each sprint. Each sprint new tests are chosen for automation, depending on the priority or how critical the functionality is for the business of the client.
Alina: What could make a simple automated solution be very effective?
Ionut: a simple automated solution can be effective because:
Availability of the tests - Once the tests are created, they should be available for all members within the project team.
It is quick and easy to run - The speed of execution is important, as the number of tests within the automatic test solution will grow in time. The required time for the tests to be completed will grow exponentially. Taking into consideration the speed of execution is important from the start, otherwise there is the possibility to generate setbacks.
Good logging of the incidents - Automated tests are good while they are able to provide valuable information quickly. A good recording of incidents will mean that the incidents are recorded, so they are easy to trace and reproduce.
by Alina and Ionut