A Case for Automated Testing
By Nesh Sami
Recently, our QA team completed an automated testing project for an organization that launched an intuitive web application that measures the uptime of its machines. The company needed to pull real-time data on its machines and deliver it to internal and external users with critical insight. Ultimately, the software helps users improve their processes by getting a clearer picture of their machines’ performances.
When the solution was initially developed, the development team completed all of the testing manually. This meant someone on the team had to check every field, every value and every output manually and compare it to the intended result. The process was repetitive and extremely time-consuming.
The company worked with Capmation’s QA team to transform its manual testing process into an automated workflow.
The first step was for our QA team to meet with the client to discuss the objectives and the flow of the project as well as the major milestones we were to meet. From there we created test cases, which were reviewed by the client. There’s a lot of research that needs to take place at this stage, such as the framework to be used, sorting of tables, element identification, dynamic handling of year and month fields, etc.
All of the work and research that happens on the front end comes to fruition on the back end with a much greater ROI. But, initially, this stage of the process takes time.
While the client reviewed the test cases, the QA team converted the bulk of the application to test scripts using Selenium. Though we use Selenium as our primary framework for automating our tests, we’re not limited to this technology. We can use other automation tools, such as Cucumber, Appium and Test Project for Android and IOS.
Once the first round of test case reviews was completed and documented, we used this as the guideline for the creation of the test scripts.
After additional reviews of the test cases, the client approved the final iteration. This was used as the final document to create the test scripts. These automated test scripts could be run through an executable file on a local machine or added to a pipeline for CI/CD in Azure.
Our ability to integrate tests into the Cloud (DevOps) through CI/CD processes ensures our clients always have end-to-end test automation every time a new code commit is made.
Throughout the process, it’s critical to keep proper documentation. For this reason, we use a change management system to track all of the changes as they occur. Code reusability is also a major component as the coding done should be usable in future projects.
Once the test scripts were in place, we were able to complete tests using three different browsers in just four to six hours. Those same test would have taken a couple days if they were completed manually.
Benefits of automated testing
Reduced testing and release times – while automated testing requires an investment of time and knowledge on the front end, it results in much faster testing times down the road and, ultimately, faster releases to production.
Reduced overhead – because testing is done automatically, the client doesn’t need to hire additional resources with specific skillsets to do the manual testing.
Increased quality and accuracy of testing – because scenarios are coded into the testing scripts, the inputs and outputs are consistent, which helps eliminate human error.
Increased efficiency – automated testing eliminates time-consuming, repetitive tasks, which increases speed and efficiency.
About the author
Nesh Sami is a QA Automation Engineer II at Capmation who specializes in designing, developing and implementing automation testing for clients who want to integrate high-quality processes and standards into their projects. Through automation, Nesh and his team help Capmation’s clients increase productivity, eliminate risks, and reduce costs.