{"id":741,"date":"2019-04-25T18:34:17","date_gmt":"2019-04-25T18:34:17","guid":{"rendered":"http:\/\/www.smart-bricks.net\/?p=741"},"modified":"2019-04-28T22:23:36","modified_gmt":"2019-04-28T22:23:36","slug":"how-to-obtain-a-solid-mobile-testing","status":"publish","type":"post","link":"http:\/\/www.smart-bricks.net\/index.php\/2019\/04\/25\/how-to-obtain-a-solid-mobile-testing\/","title":{"rendered":"How to obtain a solid mobile testing"},"content":{"rendered":"\n<p>\nMarch 25, 2019<\/p>\n\n\n\n<p><em>The mobile scene is growing faster than ever, and with that in mind, we show <strong>some good practices to achieve a solid mobile testing<\/strong>.<\/em><\/p>\n\n\n\n<p><em>Author: Melina Alvear<\/em><\/p>\n\n\n\n<p><strong>Mobile usage is a hot topic<\/strong>. Everywhere you look \ntoday, people are on their smartphones and tablets, among others, so \nthis is why it is not strange to see how app downloading is growing. \nImagine that <strong>in the first half of 2018, around 205.4 billion apps were downloaded<\/strong> versus 178.1 billion in 2017, and according to <a href=\"https:\/\/www.statista.com\/statistics\/271644\/worldwide-free-and-paid-mobile-app-store-downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">Statista<\/a>, <strong>by 2022, the number of total app downloads will increase to 258.2 billion<\/strong>.<\/p>\n\n\n\n<h3>Mobile apps today &amp; the testing challenges<\/h3>\n\n\n\n<p>The number of different devices, screen sizes, and operating systems means that <strong>individual platforms have technical challenges and issues<\/strong> that teams must address.<\/p>\n\n\n\n<p>Today, the standard smartphone or tablet has a touch screen and a \nvariety of sensors such as GPS and accelerometers, proximity sensors, \nand gyroscopes. WiFi can also be adjusted based on your location, where \nyou can use a mobile app to buy anything from an airline flight to \nclothing, or you can use an app to access your home banking, among \nothers.<\/p>\n\n\n\n<p><strong>These particularities definitely bring major challenges for QC teams globally<\/strong>.\n In order to face them, developers and testers need to take into account\n new behaviors like swipes, taps, scrolls, and orientation.<\/p>\n\n\n\n<p>There are a variety of emulators for all mobile operating systems on \nthe market (Android, iOS, Windows OS), but in reality, these differ \nextremely from the actual behavior of physical devices. In addition, \neach manufacturer has its own Operating System (OS), adjusted to their \nmobile devices and peculiarities. Therefore, with an emulator, <strong>it is complicated to replicate the behavior of the device and perform the tests with precision<\/strong>.<\/p>\n\n\n\n<p>So, what should a tester consider when testing mobile? <strong>These are some good practices in order to have a solid mobile testing.<\/strong><\/p>\n\n\n\n<h2>1. Test on actual mobile devices<\/h2>\n\n\n\n<p>Emulators are very efficient for an early testing phase. However, if \nall your tests are running on emulators, your app will probably fail in \nreal-world scenarios. Real mobile devices let you test many key device \ncapabilities like<strong> battery drain, calls, SMS interruption, camera functionality, carrier, and connectivity issues<\/strong>, as well as so much more.<\/p>\n\n\n\n<p>Emulators test the app to work on all devices but <strong>do not take into consideration each unique configuration<\/strong>. For example, if there is an issue that affects only iPhones, you are not likely to find it using an emulator.<\/p>\n\n\n\n<p>With the number of devices available, it might be exhausting to test \nyour app on every appliance and OS combination, but that is not possible\n considering the number of combinations you would need to test for. The \nbest approach is to <strong>identify the most used devices among your user base and test on them<\/strong>. If your testing covers 80% of devices, you can be fairly confident of your test results.<\/p>\n\n\n\n<h2>2. Automate testing<\/h2>\n\n\n\n<p>Automated testing is even more essential with mobile apps than \ntraditional apps. With automation, you can run tests in parallel across \nnumerous emulators and real devices. <strong>This speeds up test results and helps bring your apps to the market faster<\/strong>.\n Plus, you can save configurations before running tests and reuse them \nwhenever they are needed. When shared across teams, this can save a lot \nof time.<\/p>\n\n\n\n<p>However, <strong>not every test should be automated<\/strong>. Some tests are best performed manually, especially if they are rarely run and require a lot of setup.<\/p>\n\n\n\n<h2>3. Keep pace with your web app<\/h2>\n\n\n\n<p>With\n the rise of continuous delivery and deployment, web apps are being \nreleased on a daily basis. This is possible because the app is released \nto users directly. However, mobile apps need to be approved by the \noperating system providers (iOS and Android), as they can enforce \nstringent policies that slow down or even block releases.<\/p>\n\n\n\n<p><strong>iOS and Android have been taking steps to enable faster releases<\/strong>. For example, the auto updating has simplified users\u2019 lives by avoiding repeated notifications and permissions.<\/p>\n\n\n\n<h2>4. Do performance and load testing<\/h2>\n\n\n\n<p>It is great to test as early as possible in the software development \ncycle to identify bugs before they make it to production, but <strong>when it comes to performance and load testing, tests are best done later in the cycle<\/strong>.<\/p>\n\n\n\n<p>You could leverage numerous cloud-based emulators to mimic user \nbehavior when testing for traffic issues. A tool like Jmeter can help \nwith load testing. In addition to this, you will also need to <strong>test performance on several real devices to check for issues like memory leaks and interruption of other apps or calls<\/strong>.<\/p>\n\n\n\n<h2>5. Use mobile-specific tools<\/h2>\n\n\n\n<p>It is tempting to get by with manual functional testing done by humans, but mobile testing done the right way <strong>requires purpose-built mobile testing tools<\/strong>. Fortunately, today, there are many interesting tools for various objectives in mobile testing.<\/p>\n\n\n\n<p>Another useful tool is Espresso that helps you write and automate \nUser Interface (UI) tests easily. Ultimately, Google\u2019s EarlGrey is the \niOS alternative to Espresso.<\/p>\n\n\n\n<p>Appium\n leads the way as the most capable and popular mobile testing platform. \nAlong with it, there are many other tools, such as Robotium, an \neasy-to-use testing tool for Android that records any action you perform\n in the app and saves it as a test case.<\/p>\n\n\n\n<h3>To sum up<\/h3>\n\n\n\n<p><strong>The competition for customer attention and trust is more intense than ever<\/strong>, knowing that slow network connections, a complex navigation, and a hideous UI can be anyone\u2019s downfall.<\/p>\n\n\n\n<p>In mobile testing, emulators are needed, but for excellent quality, <strong>it is necessary to know which devices are most used so that you know which ones to work with<\/strong>.\n It is also important to test the applications under varying network \nconditions to make them functional across challenging network scenarios.<\/p>\n\n\n\n<p>Automated testing can be implemented to check the performance of an \napplication and verify its behavior by applying load\/stress factors. \nHowever, <strong>both types of testing, manual and automated, are essential to test mobile apps and check them for any failure routes or bugs<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>March 25, 2019 The mobile scene is growing faster than ever, and with that in mind, we show some good practices to achieve a solid mobile testing. Author: Melina Alvear Mobile usage is a hot topic. Everywhere you look today, people are on their smartphones and tablets, among others, so this is why it is&hellip;&nbsp;<a href=\"http:\/\/www.smart-bricks.net\/index.php\/2019\/04\/25\/how-to-obtain-a-solid-mobile-testing\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">How to obtain a solid mobile testing<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[14,12,13],"_links":{"self":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts\/741"}],"collection":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/comments?post=741"}],"version-history":[{"count":1,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts\/741\/revisions"}],"predecessor-version":[{"id":742,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts\/741\/revisions\/742"}],"wp:attachment":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/media?parent=741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/categories?post=741"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/tags?post=741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}