QA automation services for mobile banking app

Banking App Development

Client overview

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.

Challenges

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:

1

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.

2

Ability to trigger automated tests by all team members at any time to ensure quality work at all stages of development.

3

Ability to execute tests per platform. The OS as the mobile application was built cross-platform to support a wide range of mobile devices.

4

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.

Scope of work

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.

  • Each feature was implemented irrespective of the solution as a whole. This happened due to the lack of a thorough approach towards the solution’s architecture;
  • It was impossible to locate a specific feature as a mixed bunch of tools and technologies were used on the project: a mix of both cloud/on-premise environments and languages (Python, Perl, SQL, and Bash);
  • The documentation was missing.
01
Architectural design for existing application's test automation;
02
Automated testing integration into the existing CI/CD development process
03
Test results reporting to Jira using XRay and integration with Slack for notifications
04
Configuring automated tests execution by a trigger and on schedule;
05
Implementation of QA automated tests, both UI and API

Solution

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.

  1. The QA team evaluated the application's current state.
  2. Team members designed preliminary architecture for the test automation solution.
  3. Finally, our specialists started building up tests and CI processes in collaboration with developers.
Success
9109.prepaid_bill
run_test_suite_ios
Clock icon
15m42s
# 1004
Tick Icon
Success
9109.post_paid_bill
run_test_suite_ios
Clock icon
18m45s
# 1003
Tick Icon
Failed
9109.passcode
run_test_suite_ios
Clock icon
10m36s
# 1002
Tick Icon
Success
9109.logout
run_test_suite_ios
Clock icon
5m1s
# 1001
Tick Icon

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.

QA Tests Graphic

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.

UI Bakery as management tool

Technology Stack

The Akveo team chose this set of tools to work on the project.

01

Appium

An open-source test automation framework for use with native, hybrid, and mobile web apps.

02

Pytest

A test execution tool with flexible configuration to write, group, and split tests.

03

UI Bakery

A low-code development platform for visual creation of branded web apps based on a custom design system.

04

Sauce Labs

A platform providing virtual and real devices for automated testing.

05

Python

A programming language for tests.

06

Bash

A command language used for Bitrise jobs’ configuration.

07

XRay

A Jira extension for test storage, planning, and execution.

08

Bitrise

A CI/CD platform.

Banking App

Value-Driven Results

  • The ability to execute automated tests locally eliminated the necessity to run full regression tests after making local changes in the codebase.
  • The ability to flexibly configure automated tests execution by feature, platform, OS, and environment.
  • Regression testing time reduced by 30%.
  • Any team member can execute automated tests using GUI based on the UI Bakery tool.

The Team

The Akveo QA automation team located in Minsk, Belarus included:

1

QA Lead Engineer

1

QA Automation Engineer

1

Project Manager

Let's start your project

We will carefully guide you through the entire process, from idea generation to the product launch.

contact us

Contact us

Leave us your inquiry, and our specialists will get in touch within 1 business day!