a1qa has become our trusted technology partner with their ability to add value to areas of quality assurance and functional enhancement. Their contributions have become essential to our overall programme success that can be seen in numbers — so far we serve more than 60 mobile operators with the listed services. 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.Senior Director Platforms & Operations
The client is the leading trade body in representing the interests of mobile network operators (MNO) worldwide.
The client was launching a secure universal authentication platform.
Third-party mobile operators develop user’s identity APIs and, along with the service provider’s application, use this solution as a log-in option.
End users choose it to authenticate to websites and services without the need to remember passwords and usernames. System accessibility from multiple devices eases user experience as well.
The platform is composed of several modules and a set of SDKs to enable integration into third-party applications: client-side SDKs (iOS, Android, web) for client applications and server-side SDKs (Java, PHP, .Net) for service providers.
The customer wanted to improve the quality of the product and invited the a1qa team who had a proven track record of delivering independent QA services to the 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 versions of new apps and accelerate the time to market.
The creation of the tool was to be in accordance with the best DevOps practices. a1qa was to assure its high quality and support functioning.
The a1qa engineers started with client-side SDK testing. In order to carry it out, they performed the following steps:
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). They also built automated testing scripts to check API of the client’s software, which went through a rigorous manual UI testing process.
To enhance solution security and guarantee isolation of the client’s part from any interaction with APIs, the engineers split the SDKs into server-side SDKs and client-side libraries. The QA team implemented a novel mechanism for interaction between client/server solutions, ensured their compatibility, and established the process of updating solutions as well as creating documentation.
On top of all that, a1qa provided support to end users and introduced test automation, end-to-end, unit, integration tests for server-side SDKs. Software architecture allowed for speedy updates of API version support policy.
As a result, core specifics of SDKs incorporated the following hallmarks:
QA engineers took advantage of the below-mentioned tools to introduce test automation and implement best DevOps practices:
The process of setting up the environment was complex and consisted of 30 very complicated steps, which could’ve resulted in a much higher risk of errors.
To carry out a build correctly, the a1qa team applied Docker containers to simplify the process of downloading and launching only one container. This approach helped to eliminate human mistakes.
After the implementation of test automation:
Let’s compare the availability of the solution before test automation implementation to what it is now. As you can see, it went from being only available 120 hours a week to the now 24/7/365 availability.
The testing process greatly influenced the customer’s attitude to automation and DevOps practices, which turned out to pay off very quickly.
Time on launching automated test scripts was reduced, streamlining the process into being clearer and more understandable for the end users — mobile operator’s developers.
Initially, a1qa was tasked to measure the latency of queries for certain APIs. For that, the engineers developed a script running from different machines in various locations which was generating a file with the required results. However, later the number of scripts and test data variability increased drastically.
To overcome this hurdle, a1qa proceeded with developing a portal for tracing queries with standardized end-users’ flow (UI activities, API interaction). The solution was to tackle 3 core issues:
The QA team harnessed a .NET (C#) programming toolkit and based the application on ASP.NET according to an MVC template. AWS allowed the portal deployment in 6 regions.
Therefore, the portal enabled the client to:
Integration with an analytical Internet service for working with business information
To provide the client with real-time access to metrics covering APIs’ status, the engineers integrated a portal with a cloud-based service.
Developed JS scripts gathered data from the portal, converted it into the appropriate format for the service, and sent it to a dashboard. Later, the engineers augmented the number of scripts and automatic transfer of data about the number of transactions for multiple conditions was applied.
In such a way, test automation reduced the amount of effort required for transmitting and analyzing data as well as allowed for supervising the system status in real time.
Based on the highly competent and timely performance of a1qa, the client entrusted the team to implement automation on a brand-new project in a banking sphere.