Editor’s note: If you’re challenged by persistently disrupted software functioning after the introduced changes, or iteration deadlines missed because of time-consuming regression testing, ScienceSoft can reduce your regression testing bottlenecks. In this article, Viktar shares hands-on ideas on effective regression testing organization. You can also consider ScienceSoft’s software testing services for all-round quality assurance of your software.
Regression testing must be included in the testing scope both at the development and evolution stage. Regression tests validate that recent code changes didn’t have a negative impact on the existing system functions.
In this article, I’ll share real-life example of effective regression testing from our software testing portfolio and explain how to balance manual and automated regression testing efforts.
The project featured an iOS image processing app for a company specializing in processing, storing, printing and displaying digital images. The app had to be integrated with a branded mini-camera that allowed iOS device owners to take professional photos.
The project team followed the Scrum methodology with two-week sprints. The project lasted about three years and involved 1-5 testing engineers at different stages.
My colleagues started with performing the manual regression testing at the end of each iteration. Regression testing fully relied on test cases written during the development phase. The team regularly revised the test suite to delete obsolete or fix inefficient test cases. This helped to keep the number of regression tests relatively stable (200 – 220 test cases).
The testing revealed, for example, an issue with the Photo Gallery Management feature (one of the most frequently changed app features) and the related functionality. To minimize the regression affects, the development team came up with substantial code amendments to make the feature more isolated.
At ScienceSoft, we see test automation as the way to sift more defects with wider test coverage and ensure faster releases. In this software testing project of ours described case, automated regression testing was introduced after the software functionality was stabilized. It automated the verification of all critical application functions and was run after each new app feature introduction. Test automation helped decrease the regression testing time by 18% and let test engineers focus on the validation of the new features’ functioning and exploratory testing, which resulted in test coverage increased by 20%.
The key to regression testing success is choosing a suitable ratio of manual and automated testing, and finding the right time for test automation introduction. If your project still lacks regression testing, you can reach out for ScienceSoft’s testing services.