05 Apr Using QA Automation to Speed up Development and Product Life Cycle
Using QA Automation to Speed up Development and Product Life Cycle
An example of how Daxima uses testing automation tools to reduce bugs and shorten the development cycle.
At Daxima, we love automation testing. In our 14 years of development experience, we’ve found that a well-executed automation test can help create better software and speed up deployment times. To accomplish this we’ve used Selenium automation for a number of our clients. More recently one of our clients, MyWorkDrive, a cloud storage company, needed to cut down on the amount of QA time necessary to test each build.They contacted us to build an automation test suite to speed up QA time and the deployment schedule.
As development schedules have become more compressed, companies are often looking for ways to deliver software faster while ensuring good quality control. Trial and error testing processes can be slow, expensive to implement, and require extensive resources. By using automation testing, organizations can test builds quickly and accurately.
The client required us to release software on a very aggressive schedule, and we felt that the only way to ensure quality was to implement automation testing as part of the product life cycle. Our customers want to be able to update their software as quickly as possible, whether to answer a request or fix a defect.
We started by writing detailed test cases for each function in the application. While this process can be tedious, mapping each function means that we can test everything. We wanted to make sure our test cases accomplished GUI and non-GUI automation across multiple browsers and operating systems.
The QA team spent time learning about and documenting the application via case studies. Because the application was large, we choose to automate each module separately to save time.
Prototyping and Iteration
We used open source tools Java and Apache Maven to build the testing software using the Selenium WebDriver. We focused on user management test cases for our prototype. After confirming successful pass and fail test cases, we moved on to more specific functions of the software.We also developed customized test reports that were easy to read, and could be emailed to the appropriate parties at the end of each test run.
Throughout the process, we worked closely with the development team to ensure that we could make the necessary changes to the test cases after every sprint. With most our products, we run automated tests on a scheduler overnight so that we can review any issues that may arise first thing in the morning, or earlier if critical. By using the open source tool Jenkins with our automated tests, we are able to implement continuous integration with all of our clients’ products.
By implementing our solution using open source tools such as Java, Jenkins, and the Selenium WebDriver, we were able to lower development costs for our client. With increased test coverage and reduced execution time, they found the project provided a significant return on investment. Automated testing and the fact that we inspected their software after each and every build gave them peace of mind.