Test automation development considering the needs of different teams

Testiautomaatiokehittäjä robot framework
[Telecom sector client behind NDA]

In the rapidly evolving world of telecommunications, quality assurance of software is critically important. An international telecommunications company, with a particularly extensive clientele among business customers, felt the need to enhance the use of test automation in its software development. Here, we describe at a technical level how the conglomerate advanced its test automation project and the results achieved.

Challenges encountered

The company’s software development unit had decentralized teams around the world, presenting unique challenges. Although some teams had already adopted test automation, many struggled with outdated systems, or had not used automation at all. One team, in particular, faced difficulties in maintaining the test automation of their system built on the Salesforce platform, resulting in tests that were not up-to-date and not run regularly.

Solution strategy

Our expert approached the challenge in two phases:

  1. Identifying current challenges through interviews and analysis.
  2. Developing customized test automation strategies for each team.

Special attention was given to two teams, one requiring assistance in testing a Java-based service bus, and the other in testing a service chain built on the Salesforce platform.

Solution strategy

Java-based enterprise service bus testing

For the Java team, an API test automation tool was recommended, enabling them to efficiently automate their testing process. The evaluation and selection of the tool were critical steps requiring the expert’s deep guidance and monitoring.

Testing the service chain operating on the Salesforce platform

For another team, a new test automation system was constructed using Robot Framework and the Browser library in conjunction with a framework developed with Python. This foundation allowed for the use of page object models, significantly enhancing web interface testing.

Automation environment and reporting

To ensure continuous test runs, our expert set up a GitHub Actions pipeline in the company’s GitHub environment for executing tests and reporting results nightly, or by request. For the challenge of uniformly and easily reporting test results from various test tools used by the client into Jira, our expert developed a system using Docker, which reports the results based on different test tools’ reports through Xray’s API into Jira.
This reporting software developed with JavaScript was available for both local individual test runs and for reporting results from tests run in the GitHub Actions pipeline.

Test automation evaluation environment

Our expert also developed a distinct evaluation environment that comes with interfaces to facilitate the learning and evaluation of test automation tools. This environment is usable as a test target in both API and UI testing, even allowing the use of both interfaces in the same test case. The entire environment has been implemented using JavaScript.

Final results and summary

As intended by the client, the utilization of test automation in software development teams gained momentum through the development of targeted test automation strategies and technical support for the software development teams. The company gained access to a well-designed test automation framework based on Robot Framework, as well as reporting tools, making quality assurance significantly more efficient than before.

The experience gained through this project demonstrates that effective implementation of test automation in a large conglomerate, where teams are decentralized and expertise in test automation varies, requires real commitment from both employees and management, as well as a lot of technical knowledge. It is also critically important to stay up-to-date with evolving practices and tools in test automation.