Mobile application testing

Mobile application testing

The MobileUp team has its own QA Engineers. We get involved in the workflow at the stage of writing terms of reference. Then, we monitor the project quality until it is published in the app store. Сertainly, our team continues to follow the project after its publication, but just in support mode.



Testing tasks

  • Feedback on product quality

  • Product quality assurance

  • Detection and prevention of bugs



MobileUp’s tasks to solve

MobileUp offers two types of testing: auto and manual. Most often, we prefer to use manual testing, but MobileUp has some huge projects that need automated testing.

  • Auto testing

    This method is applied when it is cheaper and faster than manual testing. This is not suitable for all projects, so we provide this service to our largest clients. For example, DMV Genie testing was automated (the group includes 14 applications). Automation was a necessary step to reduce testing costs on this project in the future.

    The goal is to optimize the testing budget and free up the tester’s time to work on more complex cases.

  • Manual testing

    The name hints that this type of testing involves a lot of manual work. Indeed, testers go through most of the scenarios manually. So we can get data on the state of the product very quickly and influence them promptly.

    The goal of this testing is to obtain a complete picture of the product’s functionality and track dangerous points in time.

IT tests

Test IT is used for testing. We usually keep our projects there: prepare test cases, do runs, and generate reports


Testing types

Functional testing

This is the testing that verifies compliance with the requirements of both the customer and the user. Find more info about testing types that are selected depending on the goal and objectives below.

  • Analysis of documentation and layouts

    The stage takes place before the development. We study documentation and requirements and conduct a technical review of layouts.

    The goal is to find bugs in the designed logic before development and fix them.

  • Exploratory testing

    Testing without case design based on functional background information is provided.

    The goal is to test the product without documentation promptly and effectively.

  • Test case design

    We make a list of test cases for the product. They should cover business logic, transition states, and bug handling.

    The goal is a full test coverage of the project with clear expected results, digitization of the project knowledge base.

  • Сomplete testing (full testing)

    Deep testing of product functionality is provided. This may be required if the project has been refactored.

    The goal is full testing of all described cases in the project.

  • Test cases with high priority

    Run of brief test on the main project functionality when the code has been already changed.

    The goal is to make sure all basic functionality works and new changes don’t crash anything.

  • Analytics Testing

    We check each platform for its display and correct collection of analytic data and events.

    The goal is to find quickly the section of the application that works incorrectly.

  • Database testing

    The testing is used if a significant change has occurred in the database and it is necessary to check the deployment i.e how the release build lays on the one published in the app store.

    The goal is to make sure that the application could process information from a new database.

  • Pixel Perfect

    Pixel Perfect is a special coding technique that screens match layout pixel by pixel (100%). We compare screenshots from real devices with a file in Figma and ring the alarm in case of any smallest gaps.

    The goal is to get a perfect match between the layout and the app.

IT tests

Our team can test even on POS devices. The photo shows testing devices for one of the projects — a Canadian POS system

Non-functional testing

Non-functional testing

We check how user-friendly, logical, fast, and reliable the product works.

  • Exploratory testing

    This type of testing is suitable if there are no clearly defined cases.

    The goal is to test a product’s performance as fast as possible.

  • Performance testing

    Stress testing of the app is provided.

    The goal is to find the place where the app stops working properly.

  • Text consistency check

    We review all texts before release so as not to miss typos. There is the testing of localization, translation literacy, and correct text display.

    The goal is to clear the application of stupid typos and weasel words.

  • UI testing

    We make build reviews and compare layouts and actual screen states.

    The goal is to test the build on different devices to make sure that it works fine and matches layouts.

Smartphones for bugs searching

MobileUp has a large park with more than 60 models of old and new smartphones to search for bugs

Static testing

Static testing

We test the code and everything related to the application codebase.

  • API and UX/UI

    Test the product for compliance with the API documentation and design.

    The goal is to make sure that the documentation and the product release are consistent.

  • API testing

    Server health monitoring.

    The goal is to make sure that API implementation is stable.

  • Client/Server model

    Correct client-server interaction check.

    The goal is to make sure that data exchange between the client and the server goes as planned.

Smartphones for bugs searching

We know how to use test design techniques. Usually, our engineers prefer USE cases and boundary values. Sometimes charts and Mindmaps are also used

Regression testing

Regression testing

The product is tested when changes are made.

  • Related areas testing

    All functionality that could be affected by changes in the product is tested.

    The goal is to check that fixing bugs in the application did not lead to appearing of new bugs in related parts of the app.

  • Working areas testing

    The main functionality which should work a priori is tested.

    The goal is to check that any work in the application did not affect the performance of those parts of the application where no work was performed.



Modern stack

The MobileUp team uses up-to-date languages and tools. We create libraries. The most famous one is Cicerone, which was created by a MobileUp employee.

  • Manual testing

    TestRail, Charles, Postman, Firebase Console, TablePlus, Android Studio, Xcode.

  • Auto testing

    Behave, Toolium, Selenium, Appium, PL – Python.

  • Hyperion

    Hyperion is used for app testing. This is a debug tool to peek under the hood of the app and speed up manual testing.

Rubber duck debugging

Our QA engineers prefer Rubber duck debugging to manage complex tasks



Canadian POS-system


This multifunctional app helps to take orders, manage connections among pos, kitchen, and waiters, accept payments, print receipts, distribute orders to tables, send a fiscal report to the tax office and see all the statistics in real time. We test all this for our Canadian customers right in St. Petersburg.


Confidential neobank


We did functional, exploratory, and regression testing, provided smoke tests, testing of localization, and UI. We also tested the compatibility of the app with the Telegram bot. The crash-free rate of the app is 99,8. This means that less than 1% of users face crashes.


RBС Investment


Screens are made one-to-one with layouts because, not surprisingly, this is the industry standard. But there is a special Pixel Perfect layout technique that allows replicating of the layout through the layout page, down to the pixel. We made sure that the design and layout screens were identical on the RBC project.


QA (Quality Assurance)

Testing is an integral part of the development process

Testers don’t just help you find bugs in the app, but also prevent these bugs, find errors in logic, update databases, and monitor documentation. But the point is, they help to release a high-level product that matches the requirements of the customer and users.



  • I just want to say thank you so much for all work you have already done and continue to do

    Nikita KukushkinThe "Pomosch" project
  • The guys have repeatedly demonstrated flexibility and excellent communication skills

  • We have improved the efficiency of the service

    Tima SergeevYami Yami


We are always glad to cooperate and work on new projects

Describe the task, and we will contact you soon. Or you can always text us on Telegram.

Let’s get to know each other!

By clicking 'send', you consent to our processing your personal data and agree to our privacy policy terms.

Your application has been submitted successfully

Thank you! We will contact you soon