{"id":13540,"date":"2020-11-19T21:23:00","date_gmt":"2020-11-19T21:23:00","guid":{"rendered":"http:\/\/abstracta.us\/blog\/?p=13540"},"modified":"2025-05-05T21:25:51","modified_gmt":"2025-05-05T21:25:51","slug":"how-to-test-a-mobile-app","status":"publish","type":"post","link":"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/","title":{"rendered":"How to Test a Mobile App: A Beginner&#8217;s Guide"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">A quality mobile app can enhance brand image and significantly increase revenue<\/h1>\n\n\n\n<!-- Go to www.addthis.com\/dashboard to customize your tools --><script src=\"\/\/s7.addthis.com\/js\/300\/addthis_widget.js#pubid=ra-58d80a50fc4f926d\" type=\"text\/javascript\"><\/script>\n\n\n\n<p>According to <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/statista.com\/\" target=\"_blank\">Statista<\/a>, between January 2015 and July 2020, application downloads have grown rapidly. In the last 5 years, registered downloads increased from 15.9 billion to 37.8 billion between both app stores. This growth isn&#8217;t slowing down any time soon it seems. A new <a rel=\"noreferrer noopener\" aria-label=\"Sensor Tower report (opens in a new tab)\" href=\"https:\/\/sensortower.com\/blog\/app-revenue-and-downloads-1h-2020\" target=\"_blank\">Sensor Tower report<\/a> revealed that consumer spending on mobile apps and app installs grew significantly during the first half of 2020, reaching $50 billion globally. <\/p>\n\n\n\n<p>However, that doesn\u2019t mean that all mobile applications downloaded by users end up being successful. For that and other reasons, it\u2019s very important to test mobile applications in order to raise their level of quality and enhance the user experience.<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_is_it_Important_to_Test_Your_Mobile_App\"><\/span>Why is it Important to Test Your Mobile App?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul><li>An app with minimal issues has a greater chance at success, meaning more downloads and positive reviews, thus more revenue.<\/li><li>Testing reduces project risk since developing an app can be quite expensive and if it doesn\u2019t meet the users\u2019 expectations, it can lead to great financial losses.<\/li><li>A quality app with a good UX\/UI helps to enhance the brand image and positions the company as more trustworthy and reliable.<\/li><li>Testing will help to check the app\u2019s compatibility with different devices and operating systems such as iOS and Android.<\/li><li>An investment in testing can cut down costs in the future: Detecting bugs in the earlier stages is best as that is when they\u2019re easier and cheaper to fix. In contrast, if a user reports a bug, the cost to fix it at that point will be significantly higher and the app\u2019s reputation will suffer.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Different_Types_of_Mobile_Applications\"><\/span>The Different Types of Mobile Applications&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Mobile applications are not as simple to test as desktop web applications as they\u2019re more complex and varied. <strong>There are three types of mobile apps: native, hybrid and web.<\/strong> Let\u2019s go over each of these!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Native_Applications\"><\/span>Native Applications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>A native application will run on the device faster and be more advanced in terms of functionality than a mobile web app, yet it <strong>must be downloaded before use<\/strong>.&nbsp;<br><\/p>\n\n\n\n<p>Since native apps are platform-specific, they must be developed using specific IDEs (integrated development environments) and languages. Android uses languages \u200b\u200blike Java or Kotlin and Android Studio or Eclipse as the IDE. Apple uses languages \u200b\u200bsuch as Objective-C or Swift and XCode as the IDE.<br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/native-min.png\" alt=\"native apps advantages and disadvantages slide\" class=\"wp-image-13552\"\/><\/figure><\/div>\n\n\n\n<p>Some examples of the most widely used native applications are Google Maps, LinkedIn, Twitter, Telegram, PokemonGo, etc.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Web_Applications\"><\/span>Web Applications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>A web application can be accessed through any mobile browser; this means <strong>you can use it without having to download anything<\/strong>. Just open the internet browser on your smartphone and navigate to the specific URL. Like web applications, mobile web applications are generally built with JavaScript, CSS, and HTML5.<br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/web-min.png\" alt=\"mobile web apps advantages and disadvantages slide\" class=\"wp-image-13551\"\/><\/figure><\/div>\n\n\n\n<p>Some examples of popular web applications are nytimes.com, medium.com, and yelp.com<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Hybrid_Applications\"><\/span>Hybrid Applications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Hybrid apps combine different features of native and web applications. They\u2019re usually developed as a mobile web application using JavaScript, CSS and HTML5. Packaged in a native environment, the same code can be used for different platforms. <strong>Like native apps, hybrid apps must be downloaded from an app store<\/strong>.&nbsp;<br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/Hybrid-min.png\" alt=\"hybrid apps advantages and disadvantages slide\" class=\"wp-image-13550\"\/><\/figure><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Some examples of hybrid apps are Facebook, Instagram, Uber, and Slack.<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_to_Consider_Before_Testing_a_Mobile_App\"><\/span>What to Consider Before Testing a Mobile App?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Software testers and\/or developers must take into account the following considerations before testing a mobile application:<br><\/p>\n\n\n\n<ul><li><strong>App Type:<\/strong> Whether it\u2019s a native, hybrid or web app, knowing this information will help define what types of tests can be performed.<\/li><li><strong>OS Versions:<\/strong> It should be clear which versions of iOS and Android should be covered in the test strategy.&nbsp;<\/li><li><strong>Devices:<\/strong> Regardless of the type of app, you should choose a set of real mobile devices to test with. Since having a set of only real devices can be very expensive, it\u2019s recommended to expand device coverage by running tests with simulators and emulators as well.&nbsp;<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_to_Know_About_Mobile_Device_Simulators_and_Emulators\"><\/span>What to Know About Mobile Device Simulators and Emulators&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Simulators and emulators are limited in terms of what you can test. Therefore, you can\u2019t use them to test the holistic user experience, but they are great tools for expanding test coverage.<\/p>\n\n\n\n<p>A simulator like the one provided by Xcode simulates or imitates devices with an iOS operating system (like an iPhone or iPad). On the other hand, an emulator &#8211; referring to what Android Studio offers &#8211; acts as the configured device (running the Android operating system), emulating its operating system and hardware.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/Screen-Shot-2020-09-28-at-3.46.14-PM-min-1-1024x308.png\" alt=\"saucelabs and browserstack logos\" class=\"wp-image-13563\" width=\"1000\"\/><\/figure><\/div>\n\n\n\n<p>Another alternative is to use a cloud testing tool, although they\u2019re paid. Some of the best options are <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/saucelabs.com\/\" target=\"_blank\">Sauce Labs<\/a> and <a href=\"https:\/\/www.browserstack.com\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">BrowserStack<\/a>. These tools offer the ability to test apps through their real device cloud services, mobile emulators\/simulators, and live application tests.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_Do_You_Choose_Which_Devices_to_Test_On\"><\/span>How Do You Choose Which Devices to Test On?&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><a href=\"https:\/\/www.browserstack.com\/test-on-the-right-mobile-devices\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">This BrowserStack article<\/a> includes lists that combine insights from the usage statistics of over 2 million developers on BrowserStack and the latest global market trends.<br><\/p>\n\n\n\n<p>One of the basic packages that BrowserStack offers, \u201cStarting Up,\u201d includes the following devices:<br><\/p>\n\n\n\n<ul><li>Apple iPhone 8 (Cellular) iOS 13.0<\/li><li>Apple iPhone XR (Cellular) iOS 12.0<\/li><li>Google Pixel 3 (Cellular) Android 9.0<\/li><li>Samsung Galaxy S9 Plus (Cellular) Android 8.0<\/li><li>Samsung Galaxy S8 (Cellular) Android 7.0<\/li><li>Apple iPad 6th (Tablet) iOS 11.0<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>With this set of devices alone, you can achieve the following market coverage:<br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/Market-Coverage-min.png\" alt=\"market coverage graph\" class=\"wp-image-13549\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Where_Can_You_Download_the_Mobile_Application_You_Want_to_Test\"><\/span>Where Can You Download the Mobile Application You Want to Test?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Testflight\"><\/span>Testflight<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Only available for iOS, <a href=\"https:\/\/apps.apple.com\/es\/app\/testflight\/id899247664\">Testflight<\/a> is an application on the App Store that you must download and install on the test device. With an invitation from the developer, you can download the version to test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Visual_Studio_App_Center\"><\/span>Visual Studio App Center<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><a href=\"https:\/\/appcenter.ms\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Visual Studio App Center<\/a> is a platform where you can upload and download applications. Its tools are designed for Android and iOS applications built on Swift, Objective-C, Java, React Native, UWP, and Xamarin.&nbsp;<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cloud_Storage_for_Android\"><\/span>Cloud Storage (for Android)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>APKs (Android Package Kits) aren\u2019t limited regarding where they can be published, so you can use a cloud storage service such as Google Drive, One Drive or Dropbox.<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_Can_You_Capture_Evidence_of_Bugs\"><\/span>How Can You Capture Evidence of Bugs?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>If you&#8217;ve only used Android before, you may not be sure of how to take a screenshot on an iPhone, or vice versa.&nbsp;<br><\/p>\n\n\n\n<p>For Android, the <a href=\"https:\/\/support.google.com\/android\/answer\/9075928?hl=en\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">screenshot functionality<\/a> is a native one and all you have to do is press the power and lower volume buttons simultaneously but, this combination may vary depending on the manufacturer.&nbsp;<br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/Android-Screenshot-min.png\" alt=\"diagram of Android screenshot\" class=\"wp-image-13547\"\/><\/figure><\/div>\n\n\n\n<p>If you want to go further than that and take a screen recording, this functionality isn\u2019t native to Android. Some brands like Samsung, Xiaomi, and Huawei include it in their phones. Check out the many ways to do a screen recording on Android <a href=\"https:\/\/www.pcmag.com\/how-to\/how-to-record-the-screen-on-your-android-phone\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">here<\/a>.&nbsp;<br><\/p>\n\n\n\n<p>If the test Android device doesn\u2019t have this functionality, check out the following applications: <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.kimcy929.screenrecorder&amp;hl=en\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Screen Recorder<\/a>, <a href=\"https:\/\/www.vysor.io\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Vysor<\/a> and <a href=\"https:\/\/consumer.huawei.com\/minisite\/HiSuite\/HiSuite_en\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">HiSuite<\/a> (HUAWEI).<br><\/p>\n\n\n\n<p>On iOS, the <a href=\"https:\/\/support.apple.com\/en-us\/HT200289\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">screenshot functionality<\/a> is native and depends on the iPhone model; but you can take a screenshot in either of these ways in the image shown below:<br><br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/iOS-Screenshot-min.png\" alt=\"diagram of how to take screenshot on iOS\" class=\"wp-image-13546\"\/><\/figure>\n\n\n\n<p>The <a href=\"https:\/\/support.apple.com\/en-us\/HT207935\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">screen recording functionality<\/a> is also native to iOS since the release of iOS 11 and is carried out as follows:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/record-iOS-min.png\" alt=\"image showing ios screen recording\" class=\"wp-image-13545\"\/><\/figure>\n\n\n\n<p><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Types_of_Software_Tests_for_a_Mobile_Application\"><\/span>Types of Software Tests for a Mobile Application<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Different apps will require several different kind of tests, but every tester should first take into consideration these ones when getting started:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Functional_Testing\"><\/span>Functional Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>These are the tests to focus on first since they ensure that the mobile application works as indicated in the requirements and\/or user stories. Some of the functionalities to be tested are:<br><\/p>\n\n\n\n<p><strong>Sign Up \/ Login<\/strong><\/p>\n\n\n\n<ul><li>Verify that the user can register and log in<\/li><li>Verify any integrations with applications such as Facebook, Twitter, Snapchat or Google<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Vertical (Portrait) and Horizontal (Landscape) Mode<\/strong><\/p>\n\n\n\n<ul><li>Check if the app has the landscape option activated<\/li><li>Does the app adjust quickly and appropriately to changes in orientation?<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Basic Actions, Menu Options, Titles, Texts and Buttons<\/strong><\/p>\n\n\n\n<ul><li>Ensure that all buttons, links and other elements of the User Interface (UI) work as expected<\/li><li>Review the integrations with other applications such as payment applications (PayPal, Stripe, etc.)<\/li><li>Test the forms, verify that each entry is validated (mandatory fields vs. optional fields)<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Notifications, Error\/Success Messages<\/strong><\/p>\n\n\n\n<ul><li>Check that push notifications are processed correctly<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Basic Gestures<\/strong><\/p>\n\n\n\n<ul><li>Check how the application behaves by performing some basic gestures on the screen<\/li><li>A helpful resource: Luke Wroblewski, Product Manager at Google, created the <a href=\"http:\/\/www.lukew.com\/touch\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Illustrated Reference Guide<\/a> with the different gestures that can be performed on touch screens<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/2ccbbdba038578987c295e59a46325e2.png\" alt=\"\" class=\"wp-image-13570\"\/><\/figure><\/div>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Common Bugs Found in Functional Testing<\/strong><\/p>\n\n\n\n<ul><li><strong>Integration with social networks in the Sign Up and Login functionalities:<\/strong> When testing this integration, it sometimes happens that after signing up or logging in through a social media account, the user doesn\u2019t return to the app, but instead remains on the social media site. It\u2019s recommended to test these scenarios with the social media apps installed and uninstalled.&nbsp;<\/li><\/ul>\n\n\n\n<ul><li><strong>Enabling the option to rotate screen: <\/strong>When testing this functionality, the tester may find that the content doesn\u2019t adapt to landscape mode, since it\u2019s not configured.<\/li><\/ul>\n\n\n\n<ul><li><strong>Performing a basic gesture on the screen: <\/strong>When trying to perform a specific gesture, the app breaks. This can happen when the gesture isn\u2019t configured properly.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Usability_Testing\"><\/span>Usability Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This type of testing focuses on ensuring that the end user has a good experience with the application. Usability testing ensures that the mobile app ends up being built in an intuitive and easy-to-use way. It\u2019s advisable to incorporate users from the moment that the mockup or interface design is released and get their feedback on it.&nbsp;<br><\/p>\n\n\n\n<p>Also, it\u2019s a good idea to incorporate user acceptance tests (UAT) into the testing process. It\u2019s vital to obtain feedback from users who do not know the application before going to production. Our role as testers is to help coordinate, prepare test scripts and guide users through UAT Tests.<br><\/p>\n\n\n\n<p>This valuable feedback will help the business make decisions such as whether or not to launch the app to market already or make more changes beforehand.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Connectivity_Testing\"><\/span>Connectivity Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Web applications don\u2019t work offline and the same rule applies to mobile web applications. In this case, see if they work well against different internet connection speeds.<br><\/p>\n\n\n\n<p>When it comes to native mobile apps and some hybrid mobile apps, it\u2019s necessary to check if they still work properly in offline or airplane mode as well as how they work with 3G\/4G\/5G or Wi-Fi.<br><\/p>\n\n\n\n<p><strong>The scenarios that can be tested during app connectivity testing include:<\/strong>&nbsp;<\/p>\n\n\n\n<ul><li>How it behaves connected to a mobile network&nbsp;<\/li><li>How it behaves connected to a Wi-Fi network<\/li><li>How it behaves connected to a mobile network and a Wi-Fi network<\/li><li>How it behaves when the connection is lost<\/li><li>How it behaves when the signal is weak<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Performance_Testing\"><\/span>Performance Testing&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Performance tests help ensure that the mobile application performs as expected under different and specific workloads. <strong>The performance of a mobile application is considered a critical factor in its success.<\/strong><br><\/p>\n\n\n\n<p>Nobody wants to wait too long and many users uninstall an application if it starts up slowly or if it takes too long to load the content. <\/p>\n\n\n\n<p><strong>These are some areas to pay attention to:<\/strong><br><\/p>\n\n\n\n<ul><li>The amount of time in seconds from when the app is opened until the first screen is displayed (shouldn\u2019t exceed 2 seconds)<\/li><li>Check the battery consumption: how much battery did the device have before and after using the app<\/li><li>Check if the mobile device is overheating<\/li><li>Review memory usage<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The scenarios listed above should be tested with a physical mobile test device.&nbsp;<br><\/p>\n\n\n\n<p>Fortunately, you don\u2019t have to be an experienced performance tester to obtain this information about an app. <\/p>\n\n\n\n<p><strong>There\u2019s a free tool, <a href=\"https:\/\/apptim.com\/#utm_source=abstracta&amp;utm_medium=article&amp;utm_content=how-to-test-mobile-app\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Apptim<\/a>, that captures performance data for you automatically as you explore the app. <\/strong><\/p>\n\n\n\n<p>Below, you can see what kind of performance metrics you can obtain from an Apptim report which is automatically generated after you finish performing functional testing with the tool. <a href=\"https:\/\/report.apptim.com\/public\/ed988759-b671-11ea-917c-125c374dcc32-ec656a40-96fa-4220-9681-8606f601c913\/report\/report\/index.html#summary_apple_iphone10-1_d20ap_mq6k2_a15bc288f0b7cb8977c35c51da3cce0fba4d6871\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Click here to see a sample mobile test report from Apptim<\/a>.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/Screen-Shot-2020-06-12-at-3.22.18-PM-min-1-1024x596.png\" alt=\"image of an apptim report screen\" class=\"wp-image-13559\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Common issues reported in performance tests<\/strong>:<\/p>\n\n\n\n<ul><li>The app takes a long time to load<\/li><li>The first time opening the app, it takes a long time to load the first screen<\/li><li>The app crashed<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Interruption_Testing\"><\/span>Interruption Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This type of testing ensures that the mobile application works as expected when faced with abrupt and unexpected events. There are many possibilities for an interruption, for example, when a user receives a call or push notification while using the app.&nbsp;<br><\/p>\n\n\n\n<p><strong>Some of the scenarios that can be tested are:<\/strong><br><\/p>\n\n\n\n<ul><li>What happens when the user receives a call or an SMS? What happens when they make a call or send an SMS? Does the mobile app continue to work or does it crash?<\/li><li>What happens after the user turns off their device or it shuts down unexpectedly, does the mobile app open properly afterward?<\/li><li>How does the app behave when receiving an alert or notification?<\/li><li>What happens to the application when the user interacts with other apps at the same time?<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Compatibility_Testing\"><\/span>Compatibility Testing&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>For this type of testing, it\u2019s recommended to create a combined strategy between physical or real devices in order to get the right coverage. <\/p>\n\n\n\n<p><strong>You must define which versions of the operating system the mobile application supports and test the following:<\/strong><br><\/p>\n\n\n\n<ul><li>How it behaves in different versions of the operating system<\/li><li>How it works on different mobile devices<\/li><li>That the app looks good and runs smoothly on different resolutions and screen sizes<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Regardless of the type of application, <strong>every mobile app\u2019s design must be responsive<\/strong>. Like desktop web apps, mobile web apps must be tested across multiple browsers. Some of the most popular mobile browsers are Safari, Chrome, Firefox, Edge, Opera, and Samsung.<br><\/p>\n\n\n\n<p><strong>Common incidents that are reported in compatibility tests:<\/strong><br><\/p>\n\n\n\n<ul><li>The app is not responsive: its design does not adapt correctly to the size of smaller or larger screens<\/li><li>The content of the web app isn\u2019t displayed correctly: The fields of the page are not configured in a certain browser and operating system<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Download_Install_and_Update_Testing\"><\/span>Download, Install and Update Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Even the mobile app with the best concept in the world will be useless if users cannot download, install or update it effortlessly. Therefore, remember to verify the following:<\/p>\n\n\n\n<ul><li>Can the application be downloaded?<\/li><li>How does the mobile application behave during installation, uninstallation and reinstallation? Are there any interruptions?<\/li><li>Can the mobile application be updated? Is the stored data consistent after the update?<\/li><li>Can the app be updated when there are multiple updates available? How does it behave when other mobile apps are also updating?<\/li><li>Does the mobile app work properly after updating the device&#8217;s operating system? It\u2019s vital to verify that an update to the operating system doesn\u2019t break the application.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Localization_Testing\"><\/span>Localization Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Localization testing ensures that the mobile application works as expected in different markets, countries and regions. Some of the scenarios that we can test are:<\/p>\n\n\n\n<ul><li>Verify that the translations are correct and that they\u2019re not automatically generated translations, since users will recognize this immediately and won\u2019t enjoy using the app as much.<\/li><li>Verify that the application shows the time correctly in different time zones.<\/li><li>Confirm that the texts and elements of the interface look fine and work in different languages \u200b\u200bwithout any problems.<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Bugs commonly reported in localization tests<\/strong>:<br><\/p>\n\n\n\n<ul><li>Automatic translations deliver the wrong message (In some cases, an automatically generated translation could even be inadvertently offensive!)&nbsp;<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/freestocks-40k6ZqbsXuo-unsplash-min-1024x683.jpg\" alt=\"Image of woman holding phone\" class=\"wp-image-13543\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lessons_Learned_in_Mobile_Application_Testing\"><\/span>Lessons Learned in Mobile Application Testing<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>From my experience as a mobile tester at Abstracta, <strong>here are some key takeaways to sum up all of the above:<\/strong><br><\/p>\n\n\n\n<ul><li>The type of mobile application and predicted OS versions it will be used on will dictate the tests that you plan to run<\/li><li>You should always have at least one physical or real mobile device to test it on, complemented with simulators or emulators and tools in the cloud. A combined strategy of using <strong>both real and virtual test devices <\/strong>will be a practical way to achieve the ideal level of test coverage.<\/li><li><strong>Don\u2019t skip usability testing.<\/strong> It\u2019s critical to find a group of users who can evaluate the mobile application before going to market; the tester\u2019s opinion alone won\u2019t suffice.<\/li><li>Always consider different connectivity scenarios in testing such as airplane mode, Wi-Fi and different networks like 3G, 4G, etc.<\/li><li>It\u2019s not necessary to be a performance engineering specialist to warn the development team of irregular behavior of the app on a mobile device thanks to mobile performance testing tools like <a href=\"https:\/\/apptim.com\/#utm_source=abstracta&amp;utm_medium=article&amp;utm_content=how-to-test-mobile-app\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\"><strong>Apptim<\/strong><\/a>.<\/li><li>Always check how the app will behave after an update. It\u2019s vital to make sure if the correct version was installed.<\/li><li>Remember that testing a desktop application is not the same as testing a mobile app. We have to consider several more scenarios when carrying out software testing for a mobile application.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-dots\"\/>\n\n\n\n<p>There you have it, an introduction on how to <a href=\"https:\/\/abstracta.us\/solutions\/mobile-testing\">test a mobile app<\/a>! If you need more help to get started or determine the right strategy, Abstracta\u2019s test engineers are here to help! <a href=\"https:\/\/abstracta.us\/contact-us\">Contact us today<\/a>.<\/p>\n\n\n\n<p><em>This article is translated from its original version (in Spanish) published on the <a rel=\"noreferrer noopener\" aria-label=\"Abstracta Chile blog (opens in a new tab)\" href=\"https:\/\/cl.abstracta.us\/blog\/pruebas-software-aplicacion-movil\/\" target=\"_blank\">Abstracta Chile blog<\/a>.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Recommended_for_You\"><\/span>Recommended for You<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\"5 iPad Gestures Testers Should Know (opens in a new tab)\" href=\"https:\/\/abstracta.us\/blog\/mobile-testing\/5-ipad-gestures-testers-know\/\" target=\"_blank\">5 iPad Gestures Testers Should Know<\/a><br><a href=\"https:\/\/abstracta.us\/blog\/software-testing\/9-tips-successful-user-testing-gifs\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"9 Tips for Successful User Testing (and Some GIFS) (opens in a new tab)\">9 Tips for Successful User Testing (and Some GIFS)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A quality mobile app can enhance brand image and significantly increase revenue According to Statista, between January 2015 and July 2020, application downloads have grown rapidly. In the last 5 years, registered downloads increased from 15.9 billion to 37.8 billion between both app stores. This&#8230;<\/p>\n","protected":false},"author":53,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[143,295],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Test a Mobile App: A Beginner&#039;s Guide in 2020 | Abstracta<\/title>\n<meta name=\"description\" content=\"Before launch, know how to test a mobile app in order to improve the user experience and find critical issues. Here&#039;s what to consider!\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Test a Mobile App: A Beginner&#039;s Guide in 2020 | Abstracta\" \/>\n<meta property=\"og:description\" content=\"Before launch, know how to test a mobile app in order to improve the user experience and find critical issues. Here&#039;s what to consider!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaQA\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-19T21:23:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-05T21:25:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/Copy-of-blog-image-1-min.png\" \/>\n\t<meta property=\"og:image:width\" content=\"560\" \/>\n\t<meta property=\"og:image:height\" content=\"315\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaUS\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaUS\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/abstracta.us\/blog\/#website\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\",\"description\":\"AI-powered quality engineering\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/abstracta.us\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/09\/native-min.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/#webpage\",\"url\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/\",\"name\":\"How to Test a Mobile App: A Beginner's Guide in 2020 | Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/#primaryimage\"},\"datePublished\":\"2020-11-19T21:23:00+00:00\",\"dateModified\":\"2025-05-05T21:25:51+00:00\",\"author\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/15542c726fa3d577e7e7e5d36c5be8af\"},\"description\":\"Before launch, know how to test a mobile app in order to improve the user experience and find critical issues. Here's what to consider!\",\"breadcrumb\":{\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/\",\"url\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/\",\"name\":\"Mobile Testing\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/\",\"url\":\"https:\/\/abstracta.us\/blog\/mobile-testing\/how-to-test-a-mobile-app\/\",\"name\":\"How to Test a Mobile App: A Beginner&#8217;s Guide\"}}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/15542c726fa3d577e7e7e5d36c5be8af\",\"name\":\"Pia Tobar\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cb086d29c899ba61b278f7f2c0dff777?s=96&d=blank&r=g\",\"caption\":\"Pia Tobar\"},\"description\":\"Functional Software Tester, Abstracta Chile\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/13540"}],"collection":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=13540"}],"version-history":[{"count":20,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/13540\/revisions"}],"predecessor-version":[{"id":13648,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/13540\/revisions\/13648"}],"wp:attachment":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=13540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=13540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=13540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}