Automation can help reduce software development issues
Defects are unavoidable when it comes to software development. A rigorous testing process will detect most issues, but there will be some that go unnoticed and bug fixes required along the way. This can reduce the efficiency of your software, increase costs for your organization, and frustrate both users and developers alike. Automated testing is an invaluable way of making sure that the things you build are working and looking the way they should.
Manual software testing is inherently flawed. A physical person has to meticulously go through application screens and verify the layout, input, output, and performance, just to name a few. At first glance this may seem like a time consuming task, but certainly not an insurmountable one. That is, until the software has been updated and you have to perform the same testing again to make sure the new features work and the old ones were not broken in the process. The cycle will repeat itself again at the next update, and so on, and so on. Not surprisingly, with large applications that could potentially have millions of lines of code, there is a human limit to how fast testing can be done.
Software systems are the backbone of our organizations, and millions of users depend on their proper functioning. With mission critical and high-risk applications, testing is crucial. Software glitches can result in severe disruptions to services, loss of resources, and loss of revenue. According to a recent KPMG study, businesses spend an average of $700,000 per IT incident. Here’s the important part: half of these incidents are avoidable.
This is where test automation comes in. Whether the software development life-cycle is waterfall, agile, or test driven development (TDD), test automation is a critical component. Aversan’s automated test suite can help you:
- Save time and money
- Increase test coverage
- Improve consistency and accuracy
- Perform tasks that manual testing cannot (such as precise performance testing)
- Improve morale (seriously)
One of the projects that I had the privilege of working on was testing a Claims Processing System for Manitoba Blue Cross. We improved their test coverage by increasing the number of test cases from 120 to 5500. We then reduced the testing time from manual testing (which was approximately 1 hour per test) to 230 tests per hour! Thanks to Aversan’s Automated Testing Framework, the amount of time to test all ~5500 tests went from 693 days (based on an 8 hour workday) to 24 hours, meaning that you could run the entire test suite every day to ensure consistency and accuracy.
While morale improvement is a subjective and hard to measure point, from my experience those who have suffered through manual testing see automated testing as a more rewarding practice. Creating automated tests frees up your time to pursue other exciting projects and opportunities at your workplace, improve your skill sets, and improve the relationship with your program’s users.
Following the success of the Manitoba Blue Cross project, I have been applying automation techniques I have learned to many other projects, helping our customers complete their software development worry free.
Disclaimer: Any views or opinions presented in this blog post are solely those of the author and do not necessarily represent those of Aversan Inc.
About the Author
Denis Kharlamov is a Software Developer at Aversan. He has been working in an eHealth domain for almost two years, performing software testing and verification. Outside of Aversan, Denis enjoys a variety of different activities such as hiking, swimming, software & web design and development, playing video games and of course sleeping.