Manual App Testing for Tech Startup

Our client is a portable workout device and mobile app that coaches its users through low impact, isometric workouts in as little as five minutes per day. It measures and tracks the performance of its clients and offers various fun games you can play while exercising.

Why was testing needed?

Our client approached us at the point when their popularity grew, the app was undergoing constant changes, new functions and additional features were added, new workout games developed. In order to widen its audience and make sure every user stuck to the app, developers had to pay special attention to the quality and usability of its product.

The application needed to be:

  • user-friendly;
  • intuitive;
  • work flawlessly anytime and anywhere on the Globe.

The client asked us to perform manual functional testing as well as test automation on iOS apps.

Have a Project in Mind?

We have been working on performance testing projects since 2008.

Drop us a line to find out what our team can do for you.

How did we start?

We started our project with manual testing, as the quickest way to ensure the quality of the product in the beginning.

GOALS:

01

As an application’s functionality grew, developers needed to broaden the regular functionality testing in a limited amount of time.

02

Cut down the cost of testing by improving the efficiency of the QA work.

Through the course of our work, we used Charles Proxy for API testing, Xcode and Android Studio for recording all logs. We were distributing test builds via Testflight, Crashlytics, and Google Alpha.

Work Process

20

performed testing on 20 different devices;

300

performed 300 manual tests for both Android and iOS apps per day for each regression;

150

performed 150 tests per day for smoke testing.

Mobile Application testing work process

Testing Automation for iOS and Reasons for Choosing Appium

In addition to functional testing we realized Test Automation for iOS apps. When choosing our approach to automation, we were considering two main options: Appium and XCUTest. We have decided to use Appium, which is a test framework based on Selenium and JsonWireProtocol.[DM1] When choosing from a multitude of tools and frameworks we have opted to go with Appium as it helped us significantly reduce the cost of test automation for our client.

Advice!
The main advantage of Appium was the lack of need to rewrite the tests for Android in the future; all that would have to be done is adding new locators and new settings for Appium server.

Testing the Interaction Between the App and the Device

One of the key features of this project was the fact that this is not a simple app, it is an application for a portable fitness device connected via Bluetooth; therefore, we had to test the interaction between the app and the device itself. In addition to typical Functional Testing and Test Automation app testing of the main functionality, we had to include mobile phones Bluetooth compatibility and stress tests into this project and use specific programs like BLE.

Important!
To get the information about app stability in the quickest way, you can integrate your app with Crashlytics services; this way you can always have access to analytics and react to any problems immediately.
Mobile Application testing interaction 1
Mobile Application interaction testing 1
Key Challenges of This Project

One of the challenges of this project had to do with the initial submission to the App Store. One of the cases on those guidelines was that the App should work in Ipv6 only networks. In order to properly test for compliance with all App Store Review Guidelines, we had to test the behavior of the app in the IPv6 network.

Problem:

Since the share of IPv6 network traffic is only about 1 percent, we had to jump quite a few hoops in order to quickly obtain decent IPv6 coverage in our office.

Solution:

Running a very tight deadline, we ended up renting the VPN server in the United States in order to tunnel iPV6 network into our office. This enabled us to timely complete all testing required before the Store release.

Another issue we came across was working on a multinational team across different time zones. Android, iOS and Game applications were developed by three separate teams located on three different continents. At the onset of the project, it was rather a challenge trying to link them up. However, using Agile methodology, we managed to successfully integrate our QA team into developers’ regular sprints.

Result!
You managed to use the difference in the time zones to our advantage. Our team has shifted its schedule so that the majority of testing began right when the developers’ workday was over. This way when the client returned to work the next morning, all tests were executed and all bugs were submitted in the bug tracking tool. This helped cut the release time significantly.

Feedback

Our client approached us at the point when their popularity grew, the app was undergoing constant changes, new functions and additional features were added, new workout games developed. In order to widen its audience and make sure every user stuck to the app, developers had to pay special attention to the quality and usability of its product.

Key Project Results

  • Helped our client reduce the QA costs by almost 30 percent.
  • Significantly improved the time-to-market metric thanks to the 24-hr work shifts.
  • Improved the app itself – the app was gaining more popularity and was receiving more positive reviews among its users in the AppStore and GooglePlay.

This is partially due to the fact that in addition to normal functional and regression testing and regular test model optimization, our team constantly analyzed user reports, thus ensuring good experience by all end users.

Key Success Factors

  • Constant clear written test processes;
  • Having a project manager close to the team in order to make sure the response time is never more than one hour;
  • Having testers available for urgent testing, especially during the release deadlines;
  • Using a single tool for test management and bug tracking;
  • Working under Agile methodology.