BreadcrumbHomeResourcesBlog Mobile App Testing Checklist August 5, 2020 Mobile App Testing ChecklistMobile Application TestingAutomationBy Eran KinsbrunerMobile app testing is notoriously complex. With so many device and OS variations, with different functionalities across them all, you have a lot to cover when testing mobile applications.Keep reading to learn how to test an app with a comprehensive mobile app testing checklist to ensure your apps are thoroughly tested and defect free. This checklist will cover various mobile app testing processes and scenarios. Table of ContentsMobile App Testing ChecklistTry Mobile App Testing With PerfectoRelated ResourcesTable of Contents1 - Mobile App Testing Checklist2 - Try Mobile App Testing With Perfecto3 - Related ResourcesBack to topMobile App Testing ChecklistHere’s a mobile app testing checklist for defect-free apps:Step 1: Strategic automation.Step 2: Framework selection.Step 3: Platform considerations.Step 4: Functional testing.Step 5: Performance testing.Step 6: Accessibility testing.Step 7: UX testing.Step 8: Compatibility testing.Step 9: Security testing.Keep reading below to learn more.Strategic AutomationThe first thing on your mobile app testing checklist is determining whether the tests will be manual, automated, or both. High rates of automation are the goal of continuous testing. But not all of your test cases will be automated. So, which types of test cases should you automate?The Complete Guide to Mobile Automation Testing >>Manual Testing or Automated Testing?When it comes to manual vs. automation testing, prioritize automating the tests that will give you the most ROI. Tests should be automated if…The task is repetitive.The requirements are unlikely to change often.The test is time-consuming.The test is subject to human error.The test has downtime between steps.Unit tests, integration tests, and functional tests are the ones that should be automated first. Tests should be conducted manually if they are not run often or are subject to change.Test Automation FrameworksOnce you decide which tests to automate, you’ll also need to decide which test automation framework you’ll use.AppiumAppium is the leading framework for mobile app testing automation. It works on both Android and iOS apps. You can test mobile native, web, and hybrid app tests with Appium.EspressoEspresso is an automation framework for Android apps. Espresso testing focuses on Android-specific UI and the framework is very developer friendly. Because the framework is embedded into the Android IDE, it’s easy to get started with.XCUITestXCUITest is a mobile test automation framework for iOS. Being iOS-specific, XCUITest is entirely developed and maintained by Apple. The framework is embedded into the XCode IDE which also makes scripting fast.QuantumQuantum is a BDD testing framework. It can be used for both mobile and web testing. You don’t need to know code to write test scripts with Quantum. You can create automated tests in plain language.Related Reading: 5 Best Mobile Testing ToolsPlatform ConsiderationsYou also need to decide which platforms you will execute your tests against. Will you use real mobile devices, or virtual ones? We encourage using a mix of both as a best practice.Simulators & EmulatorsVirtual platforms test faster than real devices and they also help you shift testing left. But simulators and emulators should be saved for testing in the early stages of development.Real DevicesNothing can replace real device testing. Real devices simply catch more bugs than virtual platforms. When you test early on with virtual devices, use real devices later on in the test cycle for end-to-end UI tests.Related Reading: Mobile App Testing Strategy Combining Virtual and Real DevicesFunctional TestingFunctional testing is the basic testing activity that ensures that all the features of your app work as they should. It is fundamental to assess that your app functions as expected across devices, OSes, and other variations.You need to test...Sending and receiving messages with the app running.Responding to push notifications with the app running.Making and receiving calls with the app running.Resuming the app after an interruption.Rejecting calls with the app running.Entering and exiting the app.Memory used by the app.Your app’s effect on the device’s battery.Biometrics, like fingerprint and face ID.Functions like camera, screen resolution, and geolocation.Related Reading: What Is Functional Testing?Performance TestingPerformance testing ensures that your app performs as it should in different circumstances. It also makes sure these functions work under different types of conditions.Performance testing includes testing...Your app under typical levels of traffic.Your app with stress/load levels of traffic.Your app with real user conditions.The CPU utilization of your app.The timeto install and uninstall the app.The time to launch the app.App performance during low battery.App performance under varying network conditions. These include:Ideal network conditions.Poor connectivity.Changing network while moving.Dead zones.Switching between 2G, 3G, 4G, and 5G.Accessibility TestingDon’t forget accessibility testing for your mobile apps. Not only does it make your app accessible to all users — it’s also the law. Violating accessibility regulations could result in big fines.In your automated accessibility testing, be sure to test...Text color contrast.Screen magnification.Dynamic font size.Color ratios between text and background.Screen reader compatibility.Readability of the application.Speech recognition capability.UI hierarchy for consistent structure.Labels used by assistive technologies, like VoiceOver or TalkBack.Hit area size for designated user interaction. Usability/UX TestingUsability testing, or UX testing, measures how user-friendly and intuitive your app is. Usability testing can reveal problems in the mobile UX design which impact the end user experience.Usability testing should include…Testing the app when changing the screen orientation.Testing the navigation of the app.Testing the mobile menu of the app.Testing visual feedback for user interactions.Compatibility TestingCompatibility testing ensures that your mobile app works across different devices, OSes, and generations. Given the fragmented nature of the mobile landscape, prioritize testing against the most popular mobile devices and OSes in your region. You can find that data in our Test Coverage Index.Be sure to test...Screen size.Screen resolution.Device-specific features.OS-specific features.Changes in the UI.Security TestingUsers want to know that their digital experiences are secure, and that’s where security testing comes in. Security testing ensures that sensitive information and data remain safe.In your security testing, test for…Two-factor authentication.Fingerprint and face ID.Proper storage of app data and private information.Proper encryption of information stored locally on the device.Back to topTry Mobile App Testing With PerfectoNow that you know how to test an app, give it a try with Perfecto. It’s the world’s only end-to-end continuous testing platform for web and mobile apps. And it allows you to do your automated mobile testing at scale in the cloud.Start your free trial. In it, you can:Scale testing across platforms.Test on real mobile devices.Automated advanced testing scenarios.Test securely from anywhere in the world.Find and fix bugs with advanced reporting.Fully integrate into your CI/CD toolchain.And more.Give it a try for free today.Try PerfectoBack to topRelated ResourcesThe Complete Guide to Appium BasicsMobile Testing 101: Strategy, Types, ToolsMobile Testing With Appium: 3 Advanced Automation TechniquesTypes of Software Testing Back to top
Eran Kinsbruner DevOps Chief Evangelist & Sr. Director at Perforce Software, Perfecto Eran Kinsbruner is a person overflowing with ideas and inspiration, beyond that, he makes them happen. He is a best-selling author, continuous-testing and DevOps thought-leader, patent-holding inventor (test exclusion automated mechanisms for mobile J2ME testing), international speaker, and blogger. With a background of over 20 years of experience in development and testing, Eran empowers clients to create products that their customers love, igniting real results for their companies.