Splitting automated tests per feature to execute targeted auto-testing following the adjustment of the codebase's specific parts. Covering all existing critical parts of the application with automated tests.
The client is a market-leading bank institution with the ambition to transform its technical department into a separate SaaS service provider for digital banking products. Being one of the leading financial services providers in the Middle East region, the bank has made some breakthrough business decisions in the growing market.
For instance, the bank’s technical department was the first to understand the importance of fast, sustainable, and qualitative delivery. With the idea of improving its development processes, the client realized that automated testing is instrumental in speeding things up while providing high-quality services. That’s where Akveo’s expertise in test automation came on the scene.
The banking domain in the Middle East is highly dynamic and competitive. The cost of user acquisition is high, so any bank institution pointing toward success should be prompt, flexible, and able to offer unique solutions to customers.
Software quality assurance is an integral part of the development lifecycle while being the most time-consuming activity at the same time. Any feature-rich application demands considerable effort for its testing. At some point, the client’s stakeholders realized that manual testing takes too much time, thus, increasing the time to market. Besides, humans make mistakes, and the reliability of manual testing is continuously decreasing as the application’s feature list grows.
Specifically, the project’s product owner was seeking ways to address the following issues:
Splitting automated tests per feature to execute targeted auto-testing following the adjustment of the codebase's specific parts. Covering all existing critical parts of the application with automated tests.
Ability to trigger automated tests by all team members at any time to ensure quality work at all stages of development.
Ability to execute tests per platform. The OS as the mobile application was built cross-platform to support a wide range of mobile devices.
Ability to execute tests depending on the development phase and need: either smoke or full regression testing. Speeding up regression testing before releases by complementing manual testing with automated testing.
The team introduced the QA automation process for a platform-agnostic mobile app development distributed for iOS and Android platforms.
QA automation activities on the project were introduced from scratch: from the initial architectural design to the test execution itself.
Initially, our team resorted to manual testing, but as the number of functionalities increased, so did the number of tests. This way, our team needed to find appropriate software testing tools to make manual testing easier and more effective. Ultimately, the goal was to increase the speed, efficiency, accuracy, and toughness of the testing process.
Our team chose an iterative approach to solve this problem.
Appium, an open-source tool, was selected as a basis to keep costs down. Akveo's engineers built an automation framework from scratch to run tests against iOS and Android application versions on real and virtual devices using the SauceLabs platform. One of the benefits of the solution was the ability to run automated tests easily and frequently, thus, checking out the quality level of the application more often.
The team used Bitrise to schedule script execution and run tests against newly just-built applications or exact application versions stored on AWS to improve the CI process.
Understanding the crucial role of reporting and alerting, the team integrated the automation framework with the existing test management and bug tracking tool JIRA (using Xray plugin) and Slack for instant notifications and alerts.
Automated tests were built for various application layers, e.g., API, UI.
Our specialists built a custom UI solution using the UI Bakery tool to provide easy access and test execution. Using the solution, the team members can run tests at any time. The custom UI form allows selecting test coverage for a specific feature and running tests against a particular application version.
As a result, the solution allows finding regression bugs early at a low cost. Plus, it reduces the number of routine tasks for QA engineers, increases the speed of product delivery, and enlarges test coverage.
The Akveo team chose this set of tools to work on the project.
Appium
An open-source test automation framework for use with native, hybrid, and mobile web apps.
Pytest
A test execution tool with flexible configuration to write, group, and split tests.
UI Bakery
A low-code development platform for visual creation of branded web apps based on a custom design system.
Sauce Labs
A platform providing virtual and real devices for automated testing.
Python
A programming language for tests.
Bash
A command language used for Bitrise jobs’ configuration.
XRay
A Jira extension for test storage, planning, and execution.
Bitrise
A CI/CD platform.
The Akveo QA automation team located in Minsk, Belarus included:
QA Lead Engineer
QA Automation Engineer
Project Manager
We will carefully guide you through the entire process, from idea generation to the product launch.