How to test mobile apps

Tram Ho

With smartphones slowly becoming a must-have, developers have been looking for good careers in mobile app development. The markets are also flooded with millions of apps. But the truth is that only a few are capable of making their mark and dominate the mobile world.

As a result, mobile app developers must make sure that aside from providing something creative and interesting to their customers, their apps should be free of any glitch. And thus, mobile app testing is also becoming more important.

What is mobile application testing?

Mobile application testing is a process to test mobile applications for usability, functionality and consistency.

What are the essentials for mobile app testing?

Mobile application testing is very different from software testing and web testing. There are some specific characteristics that you should consider before doing mobile app testing:

  1. Screen resolution
  2. Turn on / off GPS
  3. Screen orientation (horizontal, vertical)
  4. Equipment manufacturers are different
  5. Operating system
  6. Mobile application type

Mobile application type

The test mobile application type plays a very important role in defining the testing process. So be clear about the type of mobile application to be tested.

They are mainly classified into three different categories:

  1. Mobile web apps: These are web pages opened through a browser on a mobile phone
  2. Native apps: These are apps developed for a specific platform (iOS, Android, Windows 10 M0bile, Tizen, BlackBerry)
  3. Co-op: A combination of the mobile web app and native app

How to strategize for mobile app testing?

Test strategy planning can help in implementing testing properly, thus increasing efficiency and performance. The basics to consider when planning a mobile app testing are:

Equipment selection

Real device testing is always the best decision for mobile app testing. It gives the highest accuracy. However, with the market flooded with hundreds of different brands and different mobile phone models, choosing the one most suitable for testing is also a complex task.

Here are a few suggestions to help with device selection:

  • The most used and popular mobile device research on the market
  • Note cell phones have different screen resolutions
  • Choose mobile phones with different operating systems
  • Features such as compatibility, memory capacity, connectivity, etc. should not be underestimated.

Which is better – Emulators or Simulators?

Emulators or emulators are widely used for mobile testing today. But what are these emulators or emulators? They are tools capable of simulating / mimicking the behavior and behavior of mobile devices.

Although many of us may confuse “Emulators” and “Emulators” and that they are the same, they are actually different.

An emulator is a replacement device originally allowing to run apps on the device without being able to modify them.

Although the emulator does not mimic the mobile device’s hardware, it can set up the same environment as the mobile operating system.

Hence, the emulator is preferred for mobile app testing while the emulator is better for mobile web app testing.

Cloud-based testing of mobile apps

Allowing mobile devices to run on a number of systems and networks, cloud-based testing overcomes the limitations of emulators and real devices.

Which is better – Manual or Automated testing on mobile devices?

Some testers still do manual testing while for others they believe this manual testing will not last long. But the reality is that both automated testing and manual testing are important.

There are situations that are best tested with automated testing, but there are some that give the best results with manual testing.

Mobile app testing phases

1. Documentation Testing

Mobile testing starts from document testing phase.

Even before application development began, testers were handed over screen layout documents, navigation charts, and other requirements hidden in the design.

This phase should analyze the totality and differentiation requirements. All differences found during this phase need to be resolved before starting application development.

Document preparation phase helps to design and analyze requirements (Specification, PRD), Test Cases, Test Plan, Traceability Matrix.

2. Functional testing (Functional testing)

Functional testing helps to test whether the mobile app is performing as expected and conforms to the required specifications. While performing functional testing of the application, take note of the following factors:

  • Business functions of the application such as banking, social networking, food ordering and delivery, education, tickets, game industry, etc.
  • Target audience like companies, students, entrepreneurs, etc.
  • Distribution channels like Google Play, direct delivery, App Store, etc.

The basic assertions that you need to check in functional testing are:

  • Install and run the application
  • Check out the fields
  • Test business functions
  • Check out interrupted
  • Test user feedback continuously
  • Check for updates
  • Check device resources

3. Usability testing

Usability testing ensures that the application provides the convenience of web browsing for the customer and creates an intuitive interface that conforms to industry standards. It promises fast and easy-to-use apps. The usability of the application is assessed on the following three basic criteria:

  • Satisfaction
  • Effective
  • Impressive

4. UI testing

UI testing ensures that the application GUI meets all the required specifications.

5. Compatibility testing

Compatibility testing determines the optimal performance of an application across different devices based on screen size, resolution, version, hardware, etc. Compatibility testing is also interested in:

  • Configure the operating system
  • Browser configuration
  • Database configuration
  • Device Configuration
  • Network configuration

Compatibility testing can be broken down into:

  • Cross-platform testing: Testing mobile app compatibility with different operating systems: Windows, iOS, Android and BlackBerry, etc …
  • Cross-browser testing: Mobile application compatibility testing in different browsers Google Chrome, Mozilla Firefox, Opera Mini, etc.
  • Database testing: Mobile application compatibility testing in different database configurations: DB2, Oracle, MSSQL Server, MySql, Sybase
  • Device Configuration testing: Mobile app compatibility testing on different devices based on device type: smartphone, tablet, etc and device configuration: Processor type, RAM, battery capacity, screen resolution, etc.
  • Network configuration testing (Network configuration testing): Testing mobile application compatibility in different network configurations (TDMA, GSM) and standards (2G, 3G, 4G)

6. Performance testing

Performance testing helps to test the application’s responsiveness and stability on a specific workload.

Performance testing properties:

  • Load Testing: Performed to test the application’s performance under normal and extreme load conditions
  • Stress Testing: This is done to test the persistence of the application. It ensures that the application is resistant to excessive pressure
  • Stability Testing: Checks if the application can perform well for a longer time under normal loads
  • Volume Testing: Is conducted to test application performance when subjected to large amounts of data.
  • Concurrency testing: Testing the performance of an application when multiple users are logged in

7. Security testing

Security testing validates the security features of the application. It also analyzes the risks of hackers, protection, viruses, and unauthorized access to extremely sensitive data.

8. Recovery testing

Recovery testing checks how well the application can withstand it and successfully recovers from errors that may occur due to software problems, hardware failures, or communication problems.

9. Localization testing

Localization testing tests an application’s adaptability to a specific target audience based on specific cultural characteristics.

10. Change the test

After testing is complete, some bugs may be found, leading to a certain piece of code to be changed to get rid of those errors. After the code changes again, need to perform a round of testing. This basically includes:

  • Re-testing or Confirmation testing: to check if all detected errors have been successfully fixed.
  • Regression testing: sometimes code changes can even disturb the performance of existing and working functions. Regression testing is performed to ensure that the new changes do not lead to the appearance of new errors

11. Beta testing (Beta testing)

Beta testing is performed by real users on real equipment to confirm usability, functionality, compatibility, and reliability testing.

Before the application is under beta testing, take into account the following factors:

  • Number of participants
  • Test duration
  • Transportation
  • Demographic range
  • Cost of testing

Beta testing is a good investment to ensure a better quality of your mobile app.

12. Certification testing

Certification testing checks whether the app meets the standards, license agreements, terms of use, and requirements of stores like the App Store, Google Play, and Windows Phone.

Mobile Application Testing Challenges

  • Test method based on equipment
  • Availability of many mobile user interfaces
  • Bigger security issues
  • Time constraints for market application
  • The environment is constantly changing and the way you use mobile phones
  • Touch screen testing is more complicated
  • User experience and problems with application performance

Mobile application testing tips

Systemize your knowledge and try to identify the main tips for testing mobile apps.

  • Become familiar with the mobile application. Learn it both inside and out
  • Remember that you are testing a mobile app, not a desktop software
  • Taking into account hardware specifications and operating system of the device under test
  • Use real equipment whenever possible for best test results
  • Use mobile app testing tools you are familiar with and do not randomly select a tool just because of its popularity
  • Try using cloud mobile testing
  • Try to use the menu options developed at maximum
  • Emulators and emulators can be your protector, use them whenever required
  • Remember that performance testing is important
  • Don’t go after automation, strike a balance between automation and manual testing
  • Beta testing is always an advantage
  • Plan time for different test activities

Popular mobile app testing tools

  • For Functionality testing: Appium, Selendroid, Robotium, Ranorex
  • For Usability testing: Reflector, User Zoom, Loop
  • For UI testing: iMacros, FitNesse, Jubula, Coded UI, LoadUI
  • For Compatibility testing: CrossBrowserTesting, BrowserStack, Browsera, Litmus, Rational ClearCase, Ghostlab
  • For Performance testing: Apteligent, NeoLoad, New Relic
  • For Security Testing: OWASP Zed Attack Proxy, Retina CS Community, Google Nogotofail, Veracode and SQL Map

Article translated from: How to Test a Mobile Application [Step by Step]

Share the news now

Source : Viblo