Case Studies

Automating EV Charging App Testing

The Charging App for electric vehicles enables users to effortlessly create accounts, input vehicle details, and locate nearby EV charging stations. Various purchase plans for charging vehicles are offered within the app, allowing users to select the most suitable option. Throughout the charging process, users can monitor progress directly within the application. Upon completion, the app provides comprehensive information regarding imported energy and other relevant details.
COUNTRY

USA

PRODUCT

EV Charging Booking App

TYPE OF TESTING

Mobile App Automation

TECHNOLOGY

Appium, Java, GitHub, Codemagic, Browserstack.

CHALLENGES FACED BY THE CLIENT

Frequent regression testing was mandatory every week due to frequent UI changes and other minor adjustments made in the App. Additionally, one major release was scheduled weekly to introduce added functionalities or new features.

Extreme time consumption during manual testing

Extreme time consumption during manual testing

Manual testers from the client side did not have enough time to test all the workflows before each release due to the frequent release schedule.As a result, both the QA cycle and the release cycle experienced delays due to manually handled regression tests, as bugs identified during manual regression testing had to be rectified by software developers and then retested manually.

Delayed release cycles and associated costs

Delayed release cycles and associated costs

The frequent releases addressing minor issues fully occupied the manual testers with regression testing, thereby causing delays in releasing new features or updates to existing features/functionality. They needed to be allocated time to thoroughly test major releases containing new features or added functionalities. Additionally, the repeated manual testing of common modules for each regression following minor issues increased the testing costs. Consequently, they sought a solution to accelerate the entire release cycle, in addition to addressing the need for expediting the QA cycle.

SOLUTIONS BY TESTVOX

App testing and automation were conducted simultaneously on both iOS and Android devices, following an Agile testing method, alongside the development of the app.

Automation of Test Cases

Automation of Test Cases

To expedite the QA cycle, Testvox software testers formulated a strategy to automate all frequently executed test cases for each regression linked with every release. Demonstrating the effectiveness of automation, the client witnessed a significant reduction in the time required for regression testing with each release, thereby substantially enhancing the QA cycle. Testvox developed a framework for executing test automation on this app, customizing it to function seamlessly on both Android and iOS platforms. Regression testing for basic functionalities was conducted daily, while UI changes, features, and functionalities incorporated at that time were tested during the major release each week.

CI/CD Integration with development pipeline

CI/CD Integration with development pipeline

To expedite the release cycle, automated scripts were integrated into the development pipeline. Consequently, before the software application is handed over to QA personnel following the addition of a new feature or a functionality change, regression testing is automatically performed on existing functionalities and features, eliminating the need for software testers to intervene. Any identified bugs are promptly rectified by software developers, bypassing the need to wait for the QA cycle. This facilitates detailed testing by QA engineers on major releases containing changes in features/functionalities or the addition of new features/functionalities, thus expediting the major releases and reducing project costs in the long run.

Technology Stack and Report

Technology Stack and Report

Test automation with this framework is performed using Appium with Java. Codemagic, BrowserStack, and GitHub Actions are utilized for implementing the CI/CD setup. GitHub is utilized for version control when pushing code. Pearl commands for CI/CD actions are embedded within GitHub Actions. All new builds are deployed via Codemagic. Upon completion of the automated run, an extensive report is generated on the BrowserStack dashboard. Each test case appears as a link in the report, directing to the execution details of every test case, including necessary screenshots and videos, as well as reasons for any test case failures.

OUTCOME

The increased speed of software testing and the accelerated release cycle resulting from the implementation of automation and CI/CD technologies motivated the clients to request API automation in addition to UI automation. Consequently, we have initiated the API automation process, which we anticipate will elevate the user experience of the application to an exemplary level.

100+

Test Cases are Automated and executed daily at a set time.

The generated reports are made available for viewing before the start of office hours each day. The Bugs are promptly reported, and changes in scripts or UI that cause test case failures are promptly updated.

10X

Increase in the Application Testing speed.

The release cycle experienced a significant acceleration following the implementation of the CI/CD pipeline. Moreover, the speed of software development improved significantly following the adoption of automation and CI/CD technology.

I had the privilege of automating this mobile app using Appium, enhancing user experience and ensuring high quality standards. Our client's unwavering support and enthusiasm streamlined testing processes. With Appium, we improved test coverage, efficiency, and product quality. Appium's flexibility empowered us to adapt quickly to evolving requirements. Together, we set a benchmark for collaboration and innovation in mobile app development.
ANJANA PRAKASH | Test Automation engineer at Testvox
UPDATES

Chime in on some Testing updates here