We are nothing but happy with the level of services delivered within the scope of the current partnership and would be pleased to recommend a1qa to the companies seeking unprecedented quality of their complex software solutions.
The client is the leading trade body that represents the interests of mobile network operators worldwide.
Within an internal programme, the client was launching a product – a secure universal authentication platform.
Third-party mobile operators develop their apps and use this solution as a log-in option.
End users choose it to authenticate to websites and apps without the need to remember passwords and usernames.
This product also allows users to enter the system from multiple devices, be it a smartphone, a tablet, or a desktop computer.
The solution was made of several modules and a set of SDKs to enable integration into third-party applications: client-side SDKs (iOS, Android) for client applications and server-side SDKs (Java, PHP, .Net) for mobile network operators.
The customer wanted to improve the quality of the product and invited the a1qa engineers who had a proven track record of delivering independent QA services to companies of different size in telecom industry.
The number of mobile operators eager to connect to the solution dramatically increased. In this context, the client decided to develop a tool to speed up the testing of new apps’ versions and accelerate time to market.
This tool was to be created according to the best DevOps practices. a1qa was to assure its quality and support functioning.
The engineers started with the client-side SDK testing. To carry it out, the team fulfilled the following steps:
- Created test documentation and test strategy (test cases, acceptance sheet)
- Set up the environment for iOS, Android, and HTML5 SDK versions
- Performed functional tests (positive and negative test scenarios).
The engineers assessed the code quality using code analyzers, developed a set of the automated tests emulating invocation of the SDK methods (including unit and integration tests).
The a1qa speсialists built automated testing scripts to check API of the client’s software, which went through rigorous manual UI testing process.
To automate testing and implement best DevOps practices, the following tools were applied:
- Java programming language - to automate tests.
- Ruby on Rails - to deliver frontend with an intuitive graphic interface.
- Spring (Java) - to build interaction with the database, organize solution models and controllers’ realization, as well as set up a server application.
- RabbitMQ - to enable interaction between the frontend and backend.
- Jenkins - for a code inspection using SonarQube.
- Docker - to speed up the setup of the environment.
- AWS Elastic Beanstalk - to monitor and create new environments (for both Windows Server and Linux).
- A cloud-based tool CircleCI - to perform parallel launches of automated tests.
- NGINX - for web server configuration.
- AWS CloudWatch - to monitor current conditions of the environment.
The process of setting up the environment was complex and consisted of 30 overcomplicated steps, which could result in a higher risk of error occurrence.
To carry out a build correctly, the a1qa team applied Docker containers, which allowed the engineers to narrow down the whole process to the download and launch of only one container. This approach helped eliminate human mistakes.
After the implementation of test automation:
- The new app testing time reduced from 40h to 2h
- The launch time of a new app reduced from 2h to 15m
- New environment deployment and configuration time reduced from 36h to 30m
Comparing the availability of the solution before test automation implementation (it was available 120 hours/week), it became a 24/7/365 accessible one.
The testing process greatly influenced the customer’s attitude to automation and DevOps practices, which turned out to pay off very fast.
Time on launching automated test scripts was reduced, and the process became clear and understandable to the end users – mobile operator’s developers.
Based on the a1qa highly competent and timely performance, the client entrusted the team to implement automation on a brand-new project in a banking sphere.
- Functional testing
- Test automation
- SDK testing
- API testing
- DevOps in testing
- Documentation services
TECHNOLOGIES & TOOLS
- Ruby on Rails
- Spring (Java)
- AWS Elastic Beanstalk
- AWS CloudWatch
- MS SQL
The a1qa testing strategy contributed to fulfilling the core business goal - accelerating time to market.
The uptime of the system reached the level of almost 100%.
The solution, based on best DevOps practices, was delivered and used by dozens of mobile operators and millions of end users.
3+years of the project duration
50+mobile operators use the solution on a full-time basis
20times reduce testing time with test automation
8times reduce the launch time of a new app
72times speed up new environment deployment and configuration