July 27, 2021

Two Women Working on a Computer

By Mike M.

Solutions need to be updated over time to ensure they are as efficient and secure as possible with current technologies. If new technology emerges that better suit a project, it is critical that they be analyzed and implemented. Our QA (Quality Assurance) testing team was recently confronted with this dilemma. The previous solution was based upon tools that left significant gaps in the team’s automation capabilities. The technology was getting older and processes weren’t as efficient or universal as they could be.

The original solution comprised of solely web-based testing using Selenium. Testing coverage was inadequate and could not cover most applications being developed. Many tests required hours of oversight using the majority of our team to complete. The process was clunky and inefficient, prompting us to search for new solutions. Our search led us to the implementation of two core technologies; Python as a programming language and the robot framework.

Python is a great solution for large-scale adaptions. The language is more modern and easier to learn than many similar languages. This ease of use can be attributed to its English-like syntax and user-friendly data structures. Most importantly for solutions in virtual environments, python is portable and can easily be executed across multiple environments.

Pairing python with the robot framework enables testing and reporting for a variety of technologies and libraries. The implementation of the framework allows us five additional testing capabilities over our previous model. Most importantly, the reporting system automatically generates logs in easy-to-understand language. Meaning our team could begin implementing and running tests using the framework quickly.

Comparison of the Robot and Gauge Testing Capability. Gauge can only test plain language test cases and web applications, while robot can test the above plus APIs/Services, Databases, Mobile Applications, Desktop Applications, and Networking

Comparison of the Automated Testing possible with the Robot Framework vs. Gauge

Due to DOS (Department of State) security policy, native python dependency was not possible for our testing. To overcome this limitation without breaching security, we manually configured virtual testing environments.

The solution resulted in triple the efficiency for the QA team. Testing capabilities increased from 25% of total applications to nearly 100%. Tests that previously required multiple employees and several hours to complete now could be run in a matter of seconds. Logs are automatically generated and easily read. QA staff can quickly overview test cases in plain language and make judgement on the success or necessary improvements for an application. The customer was overwhelmingly satisfied with the result, and the solution continues to be improved and implemented.

Sample testing log. Log type includes header "Go to Login Page" with subsets reading "Go to ${LOGIN URL}" followed by "Login Page Should be Open"

Example Test Log

Due to the plain-language nature of python and the robot framework, the ActioNet Innovation Center (AIC) has been working to implement the automated testing solution to other ActioNet projects. The solution is easy to apply and creates quick returns. Our teams are excited to work with our customers, new and old, to streamline their quality assurance process.

We are committed to continuing innovation at ActioNet. We would like to implement innovative solutions to improve the success and efficiency of your projects. Chat with us at [email protected]  to learn about how our teams can benefit your project.