Telerik blogs

In this article, we’ll discuss best practices for testing mobile apps and offer guidance for executing testing for integrated web and mobile apps.

Mobile apps are slowly but surely taking over. No, it’s not Armageddon, but mobile apps are beginning to hold more cards than website apps. Currently, more than 50% of website traffic comes from mobile phones.

Many organizations typically produce a web version and a mobile version of apps because not everyone prefers mobile. Organizations often produce both to address the widest range of user needs. For example, a healthcare company may only produce a mobile app for patient tracking of medication dosage. Another web app may be produced for backend control of patient management and accounts. They are associated with each other, but the web is for internal users managing patient accounts while the mobile is only intended for use by patients.

Testing mobile apps is different from web-based apps. It’s not only about screen size or device. The format and function may differ significantly. Testers must plan for and be aware of how a mobile app is used and how it integrates with related web apps. Producing both mobile and web apps complicates testing.

In this article, we’ll discuss best practices for testing mobile apps and offer guidance for executing testing for integrated web and mobile apps.

Best Practices for Testing Mobile Apps

Mobile apps require complex testing even if the functionality appears simple. There is significant test coverage to plan and execute for a quality app release.

Best practices for testing mobile apps start with a test strategy or plan that includes:

  • Identification of devices to test
  • Automated test, manual or a mix
  • Defining the mobile app as hybrid or native
  • Understanding the business purpose or customer use
  • Identifying the types of testing required for the best customer experience
  • Reviewing existing analytics (if any exist)
  • If both web and mobile exist, determining:
         ◦ Integration points
         ◦ Shared data points
         ◦ Shared and unique functionality
  • Determining if testing is on cloud-based devices, real devices or emulators.
         ◦ Google Development tools
         ◦ Xcode for iOS
         ◦ Android Studio for Android
  • Determining if API and/or data testing is necessary

We haven’t even mentioned performance, security or usability testing yet. Many QA testing teams manually test for performance during other testing. Same with usability. If that’s enough, then it’s a good approach. Security testing is required unless you want to face the possibility of a data breach. Consider the fact that security testing by an experienced security team is far more cost-effective than a data breach.

Taking the time to create a test strategy or plan that outlines the testing process is time well spent. Planning is the cornerstone of an organized and well-thought-out testing process. Reduce the testing chaos with a plan. You can use whatever type of document works for your organization whether it’s a written document, a mind map, an outline or a checklist. The purpose is to provide structure, identify risks and determine what testing will be done and how. The test strategy is also handy for documenting the test effort for any project.

In cases where an app is not new, you can also gain value from reviewing existing app analytics. Analytics can give testers quick insight into problem areas for customers or areas customers are avoiding. Where there’s avoidance, there are either defects or serious usability issues.

Finally, determine if you are testing APIs directly or validating data. Data testing can help prevent serious or even critical errors that may be otherwise missed. Integration testing is essential for apps that have a mobile and web component or share functionality and/or data.

Integration Testing Tips

Integration testing for mobile and web apps that share functionality is critical. As a tester, it’s nearly guaranteed there is at least one significant defect that causes data in the mobile and web app to display differently. Why? Because most development teams work on either mobile or web. When the developers are working on different setups, a particular field or data will be missed and cause a defect during integration testing.

Another area to be on the lookout for defects is when the mobile app and web app share functionality. QA testers need to verify the functionality coming in, and from both sources and in various combinations. For example, say I’m using a healthcare tracking mobile app and I’ve input a medication date and dosage and saved it. Now I log in via the web app and view the current medication dosage and date. Does it match? Or is the web app showing a previous value? Does it update automatically or does it require the user to log out and back in again?

Another integration testing tip is planning for testing when the mobile app is online and offline. Mobile apps have the flexibility of working offline, whereas web apps typically do not. Be sure to verify the usability of an app when the users are working offline and then logging into a web app.

Know how the mobile app is built. Testers need to know if a mobile app is hybrid, developed with a web-based tool or is a native app. Native apps tend to offer a greater number of unique features that are not available for hybrid apps. If your mobile app is native, then do you support both Android and iOS? If the application supports both, then your test effort just doubled. As a QA tester, be sure to understand what unique native features an app contains. You’ll need to create specific tests for those features.

Many apps have a mobile app for customers and a web app that provides access for end-user management. For example, a healthcare app may provide patients a way to log in and track their medication use and symptoms directly. The web app may provide the healthcare company access to patient data and the ability to have medical staff review symptoms or results. The web and mobile apps are for separate user groups. In this case, it’s important to verify the data each app shows is accurate at all times. Verifying user access based on role settings may also be critical. After all, you don’t want administrators accessing patient accounts and vice versa.

The complexity of testing mobile apps is more than determining device types and screen sizes. There can be a variety of integration and data impacts. The best way to manage complex testing is by practicing exceptionally organized testing.

Being Organized Is Key to Test Efficiency

Organization is the key to testing efficiently and effectively. Testing complex applications requires the ability to analyze risk and plan thorough testing. Organized testing efforts reduce chaos, churn and duplicate work. Effective testing planning provides the base structure and the talents of the testers provide the work. Testers have various levels of experience—some are more creative than others and many display more technical aptitude. Planning allows for matching testers with the right types of testing to challenge themselves and put the applications through thorough and constructive testing.

Testers can improve test organization and efficiency by grouping or clumping similar tests together. Similar tests are those that require the same precondition, configuration or test data to be set up. When tests are grouped together, a tester can perform the configuration and data setup once and then execute all the relevant tests. You’ll save a ton of time. No more need to set up multiple configurations for every single test individually.

Continuously review test suites to ensure there are no duplicate or invalid test cases. There’s nothing that wastes testing time more than testers trying to execute an invalid test. Move them out of the test suite until they are corrected or updated. Check for redundant tests as well. Redundant tests are tests that exercise the same functionality and only change in data used. Run a test per function—there’s no need to test each function repeatedly.

During test executions provide testers with time to focus on testing. Cancel meetings and side projects until the test execution is completed. Test execution time is not time for cramming in training courses or having additional meetings to prepare for the next iteration. Testers need to be able to focus solely on test execution.

Always run your test automation first if it exists. Running test automation first helps confirm the test environment is functional and that the basic functions are working as expected. Schedule test automation to run as often as possible but not at the same time as manual testing is occurring if using a shared environment. In a perfect world, automated tests are executed in a separate environment. If not, be sure to schedule around any manual testing efforts so testing efforts don’t interfere with each other.

Keeping testing organized can be challenging. However, organized testing is both more effective and efficient. Mobile app testing is more complex than it first appears. Even a simple mobile app requires a wide variety and depth of testing. The first step for performing quality QA testing is a test strategy or plan that determines the testing setup and structure. As mobile apps continue to move ahead of web apps for communication, shopping and entertainment, then organizations must perform quality mobile testing to retain a competitive edge. Make the app that customers want to use and you’ll be in business.


About the Author

Amy Reichert

A QA test professional with 23+ years of QA testing experience within a variety of software development teams, Amy Reichert has extensive experience in QA process development & planning, team leadership/management, and QA project management.  She has worked on multiple types of software development methodologies including waterfall, agile, scrum, kanban and customized combinations. Amy enjoys continuing to improve her software testing craft by researching and writing on a variety of related topics. In her spare time, she enjoys gardening, cat management and the outdoors.

 

Related Posts

Comments

Comments are disabled in preview mode.