{"id":3450,"date":"2020-08-27T09:43:09","date_gmt":"2020-08-27T08:43:09","guid":{"rendered":"https:\/\/www.brainbox.consulting\/blogs-nieuws\/testing-of-mobile-applications\/"},"modified":"2020-08-27T09:43:09","modified_gmt":"2020-08-27T08:43:09","slug":"testing-of-mobile-applications","status":"publish","type":"post","link":"https:\/\/brainbox.consulting\/talent\/testing-of-mobile-applications\/?lang=nl","title":{"rendered":"Testing of Mobile Applications"},"content":{"rendered":"<h2><span style=\"color: #000000;\"><strong>Introduction<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Mobile Application Testing is a process by which application software developed for handheld devices is tested for its functionality, usability, and consistency. Apart from functional testing, which \u2013 most importantly \u2013 ensures that the application is working per the requirements, performance (behavior &amp; performance under certain conditions; bad connections or low battery), security or compliance testing are also very important. Usability is one of the keys to commercial success and therefore testing is crucial to verify if the application is achieving its goals and if it is getting a favorable response from users.<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Mobile Application Testing Types<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Mobile application testing can be done in two ways, Testing by Engineer and Automation. We have discussed in detail about test automation of Mobile applications in the article <a href=\"https:\/\/www.brainbox.consulting\/talent\/mobile-application-test-automation\/\">here<\/a>.<\/span><\/p>\n<ul>\n<li>\n<h3><span style=\"color: #000000;\"><strong>Testing by Engineer<\/strong><\/span><\/h3>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Testing by Engineer can be described as the part of mobile testing that requires human input, analysis, or evaluation. Consequently, this kind of testing is a user-centric approach, mainly focusing on explorative ways of monitoring whether a mobile application meets user requirements and expectations. Especially when it comes to the testing of the application\u2019s look and feel, the usability or the reproduction of bugs, testing by Engineer on real devices is vital.<\/span><\/p>\n<h4 style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>How to perform mobile application testing by testing by Engineer?<\/strong><\/span><\/h4>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">To perform testing by Engineer, you must organise and standardize the tests. By taking these steps, you can repeat them in any device without any changes in the flow. And you will be able to reproduce an error again if it is necessary.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Without organizing, you are just going around in circles and hoping to find something wrong. Organizing tests will save time, and it will be easier to reproduce errors. There are a few steps to follow to create testing by Engineer.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\"><strong>Plan the test<\/strong><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><span style=\"color: #000000;\">Most things start with a good plan, and testing is no exception. Your first step when preparing a test is to plan out the steps that will comprise the test, and your route for executing them.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\"><strong>Test<\/strong><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><span style=\"color: #000000;\">Upload the app to be tested on the platform. With the test planned, run it. Test everything you have planned, note the route you used and how each point was addressed to avoid confusion when the test is run again. When an error appears, try to reproduce all the steps the same way you did the first time. Determine what caused the error.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\"><strong>Note the errors<\/strong><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><span style=\"color: #000000;\">Registering errors is necessary to make them easier to reproduce again. Show your test to the developers to help find out what is causing the errors. After solving each of the problems, perform all tests to verify that nothing was broken. Use an appropriate tool to share your test results with QA and the development team and keep a history of your tests and issues.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\"><strong>Repeat<\/strong><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><span style=\"color: #000000;\">We must repeat all the steps again after performing any kind of code change, reproducing the tests exactly as from the start, and remembering to note any changes, thus reducing the test error rate of testing by Engineer.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\"><strong>Select devices<\/strong><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><span style=\"color: #000000;\">Select different devices to perform tests. Try distinct device brands, platforms, and operational systems. Differentiate whenever possible the hardware and software, check the version of auxiliary software, and take note if there are differences between updates. And because there are often differences between screens and resolution, checking if the app is responsive is mandatory.<\/span><\/p>\n<h4 style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>Advantages and Disadvantages of testing by Engineer<\/strong><\/span><\/h4>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>Advantages<\/strong><\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\">It is more cost effective in the short-termed period.<\/span><\/li>\n<li><span style=\"color: #000000;\">Testing by Engineer is more flexible.<\/span><\/li>\n<li><span style=\"color: #000000;\">Better simulation of user actions.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>Disadvantages<\/strong><\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\">Testing by Engineer test cases are hard to be reused.<\/span><\/li>\n<li><span style=\"color: #000000;\">Less effective of execution certain and constant task.<\/span><\/li>\n<li><span style=\"color: #000000;\">Test running process is slow.<\/span><\/li>\n<li><span style=\"color: #000000;\">Some kinds of test cases couldn\u2019t be executed testing by Engineer (load testing).<\/span><\/li>\n<\/ul>\n<\/li>\n<li>\n<h3><span style=\"color: #000000;\"><strong>Automation testing<\/strong><\/span><\/h3>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Test automation can be described as the process of automating different test cases or scenarios by using a specific tool and language, instead of testing manually with a group of human testers and physical devices.<\/span><\/p>\n<h4 style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>How to perform mobile application automation testing?<\/strong><\/span><\/h4>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Selecting the right mobile testing tools for script generation is the first step toward automated testing. Having chosen the perfect tool, you should start thinking about setting up the testing environments.<\/span><\/p>\n<h4 style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>Benefits and drawbacks of automated testing<\/strong><\/span><\/h4>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>Benefits:<\/strong><\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\">The biggest benefit of automated testing is time savings, especially achieved through regression testing and continuous integration.<\/span><\/li>\n<li><span style=\"color: #000000;\">Another important advantage of automated testing is cost reduction. Since it requires fewer resources, test automation also reduces the overall costs involved in testing.<\/span><\/li>\n<li><span style=\"color: #000000;\">Furthermore, testers benefit from the repeatability of tests while using an automated approach. This helps to avoid the risk of human errors.<\/span><\/li>\n<li><span style=\"color: #000000;\">A powerful automated testing test suite helps to ensure that test scripts are kept up to date, and testers can cover every feature (increased coverage) within the application.<\/span><\/li>\n<li><span style=\"color: #000000;\">Finally, automated tests are re-usable and can be applied on different versions of the software \u2013 even if the interface changes.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\"><strong>Drawbacks: <\/strong><\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\">The initial effort of automated mobile testing seems often rather high due to initial direct costs.<\/span><\/li>\n<li><span style=\"color: #000000;\">Furthermore, automated testing requires expert knowledge especially when it comes to writing automated test scripts.<\/span><\/li>\n<li><span style=\"color: #000000;\">Not every test can be automated and not every project is suitable for automated testing.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"color: #000000;\"><strong>Mobile Application Testing Techniques<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">There are different types of testing which can be performed on a mobile device. Some of them are,<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Functional Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Compatibility Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Localization Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Performance and Stress Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Security Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Memory Leakage and Power Consumption Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Interrupt Testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Usability testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Installation and un-installation\u00a0 testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Certification Testing<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Consider testing of a mobile application for online flight ticket booking system for example test scenarios in the mobile test techniques below.<\/span><\/p>\n<h4><span style=\"color: #000000;\"><strong>Functional Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Functional testing is the most basic test for any application to ensure that it is working as per the defined requirements. Similar to other user-interface based applications, mobile applications require several human interactions in user scenarios.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that flight availability is displayed for a chosen source destination on a selected date only.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Compatibility <\/strong><strong>Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Compatibility testing has got the highest stack when it comes to mobile application testing. The purpose of a mobile app compatibility test is to ensure an app\u2019s key functions behave as expected on a specific device. It is not possible test the compatibility on all available devices. So, depending on the customer requirement and market study, select top 10 devices of most used phone models and OS. This can either be physical devices or cloud farm of devices accessed through tools like Browser Stack.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that flight search is performed successfully with Android device.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Localization <\/strong><strong>Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Nowadays, most of the apps are designed for global use and it is very important to care about regional trails like languages, time zones, etc.\u00a0 It is important to validate the app\u2019s functionality when time zone changes.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that there is no UI or data truncation issue when we use the mobile app with different languages.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Performance and Stress Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Mobile performance test covers client application performance, server performance, and network performance. With the help of performance testing tools, we can identify the existing networks, servers, and server-side application bottlenecks, given the predefined loads and transaction mix.<\/span><\/p>\n<p><span style=\"color: #000000;\">Stress testing is a must to find exceptions, hangs, and deadlocks that may go unnoticed during functional and user interface testing. Some of the criteria for stress testing are as follows:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Load your application with as much data as possible to try to reach its breaking point.<\/span><\/li>\n<li><span style=\"color: #000000;\">Perform the same operations over and over again.<\/span><\/li>\n<li><span style=\"color: #000000;\">Perform the repeated operations at varying speeds \u2013 very quickly or very slowly.<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Example test scenarios:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that flight available check takes only a reasonable amount of time.<\/span><\/li>\n<li><span style=\"color: #000000;\">Check 1000 users are accessing the mobile app to search for domestic flights.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Security <\/strong><strong>Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Vulnerabilities to hacking, authentication, and authorization policies, data security, session management and other security standards should be verified as a part of mobile app security testing. Applications should encrypt username and passwords when authenticating the user over a network.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that the application does not get operated with same user credentials on two different mobile devices.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Memory Leakage and Power Consumption Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Memory testing is exceptionally important for mobile applications to ensure that each application maintains optimised memory usage throughout the user journey. One more important test is checking the battery usage while the application is running. It is important to make sure the battery usage is minimum and does not affect the device.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenarios:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Do flight availability checks for ten times and note down increasing memory usage for each check.<\/span><\/li>\n<li><span style=\"color: #000000;\">Use the mobile app to search for flight availability and check the power consumption remains minimal.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Interrupt Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">An application, while functioning, may face several interruptions like incoming calls or network coverage outage and recovery. So, testing should be done to verify app handles these interruptions well. The state of the application should not change because of interruptions.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that flight availability check gets paused and resumed back after receiving an incoming call.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Usability Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">Usability testing evaluates the application based on the following three criteria for the target audience: Efficiency, Effectiveness and Satisfaction.<\/span><\/p>\n<p><span style=\"color: #000000;\">It is very important to get usability testing in place from the early stage of the application design, and it should not be done only when the application is completed. Usability testing requires heavy involvement of users, and the output might affect the application design, which is very difficult to change in the later stages of the project.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Flight availability check should be on the home page. \uf0b7 Sponsored advertisement should not be displayed in the middle of the content.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Installation, Un-installation and Updates Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">This testing verifies that the installation and un-installation process of the application goes smoothly without the user having to face any difficulty. It is also important to test the application works as expected when an update is done on it, without breaking any functionality.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenarios:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that the installation process is smooth and does not take long.<\/span><\/li>\n<li><span style=\"color: #000000;\">Verify that all the application related files are removed successfully after un-installation.<\/span><\/li>\n<li><span style=\"color: #000000;\">Verify that the application works successfully after automatic update.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Certification Testing\u00a0 <\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">To get a certificate of compliance, each mobile device needs to be tested against the guidelines set by different mobile platforms.<\/span><\/p>\n<p><span style=\"color: #000000;\">Example test scenario:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Verify that the application adheres to the policy of iOS phones when installed on iPhone.<\/span><\/li>\n<\/ul>\n<h2><span style=\"color: #000000;\"><strong>Testing different types of mobile applications<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">There are 3 types of mobile applications: Web, Native and Hybrid.<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\"><strong>Web mobile application testing:<\/strong><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Web mobile apps<strong>\u00a0<\/strong>are websites optimised for mobile browsers. These can be tested similar to web browser applications. These uses user agent ad-ons that help render the content of mobile we browser on desktop browser.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">What to test in Web mobile applications:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\">UI testing<\/span><\/li>\n<li><span style=\"color: #000000;\">App performance<\/span><\/li>\n<li><span style=\"color: #000000;\">Connectivity issues<\/span><\/li>\n<li><span style=\"color: #000000;\">Battery usage<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><span style=\"color: #000000;\"><strong>Native and Hybrid applications testing:<\/strong><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Native mobile apps\u00a0are smartphone apps specifically designed for a particular operating system\u2014iOS or Android. Whereas Hybrid apps can be well described as a mixture of native app and mobile web app. They are a way to expose content from existing websites in App format.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">What to test in Native and Hybrid mobile applications:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"color: #000000;\">Functional testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Compatibility testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Connectivity testing<\/span><\/li>\n<li><span style=\"color: #000000;\">Performance testing<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Some special scenarios to which importance should be given while testing mobile applications<\/strong><\/span><\/h4>\n<ul>\n<li><span style=\"color: #000000;\">When an application switches to a different application while performing an action<\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">Take an example of an online shopping mobile application. In this case, when you order a product from the app, it will redirect you to a banking website to complete your payment. This is a crucial testing point for an application. It is important to make sure the transition from the shopping application to banking application happens without any issues and also comes back to the shopping app once the payment is complete. It is important to make sure no data is lost in the process.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">The way to go for testing in such situation is to do API testing. API testing will make sure that the interface of the application successfully transits to a different application and vice versa.<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">When there is an interruption while the mobile app is running<\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">When some interruptions occur while the application is running, like receiving a phone call or notification, it is important for the app to behave as expected when the interruption is over. The state of the application should not be affected by the interruption that occurred. The app should run in background during the handling of interruption by the user and then resume its state as before.<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #000000;\">So, Interrupt Testing is a subset of\u00a0Functional Testing\u00a0for a Mobile Application. And, to conduct Interrupt Testing, you would follow the same Mobile Application Test Frameworks and Tools. It is the skill of the testers to conceive these scenarios. Once done, you would design the test cases and execute in the exact same way as any other test.<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Case Study<\/strong><strong>: <\/strong><strong>Mobile Application Testing and Automation<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">At Brainbox, we provided mobile application testing service for a client who were launching their mobile application. Their application was the smart and free app to personalise your photos and videos by simply clicking your logo from the keyboard, add a message and instantly share it on your social media platform. A very simple way to generate brand awareness which makes online marketing easier for the companies.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u200bFor the best possible solution to get application to market on time and within budget, a comprehensive testing strategy is required. This mobile testing strategy should include a device and a network infrastructure, an optimised selection of target devices, and an effective combination of testing by Engineer and automated testing tools to cover both functional and non-functional testing. We provided both testing by Engineer and automated testing (using our Brainbox Framework) services for our customer. We will see the approaches that we followed.<\/span><\/p>\n<p><span style=\"color: #000000;\">Customer\u2019s main requirement was,<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">To verify the application is working as expected on the selected\u00a0mobile devices (Device Compatibility) \u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Feedback on the \u201cEase of use\u201d \u200b<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Challenges:<\/strong><\/span><\/h4>\n<ul>\n<li><span style=\"color: #000000;\">Client is commercially launching their app in a few weeks.<\/span><\/li>\n<li><span style=\"color: #000000;\">Usability, functionality, compatibility, and security areas needs through testing to avoid\u00a0surprises\/risks (users may uninstall app as soon as they install) \u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">No detailed requirement specifications.<\/span><\/li>\n<li><span style=\"color: #000000;\">It was a challenge to perform testing on handheld devices, and then also develop a automation test suit.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Test Strategy:<\/strong><\/span><\/h4>\n<ul>\n<li><span style=\"color: #000000;\">Understand context, technology, architecture<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Review system requirements, review software design and architecture<\/span><\/li>\n<li><span style=\"color: #000000;\">Understand Context of the business<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Define test strategy<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Test Data and Test Design<\/span><\/li>\n<li><span style=\"color: #000000;\">Test Plan outline<\/span><\/li>\n<li><span style=\"color: #000000;\">Requirement coverage<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Develop system test specification<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Detailed test plan<\/span><\/li>\n<li><span style=\"color: #000000;\">System test environment<\/span><\/li>\n<li><span style=\"color: #000000;\">Test cases and Test data preparation<\/span><\/li>\n<li><span style=\"color: #000000;\">Requirement traceability matrix<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Test Execution<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Defects<\/span><\/li>\n<li><span style=\"color: #000000;\">Test Reports<\/span><\/li>\n<li><span style=\"color: #000000;\">Assess Application Maturity and fill gaps<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Functional Testing:<\/strong><\/span><\/h4>\n<ul>\n<li><span style=\"color: #000000;\">100 % System Requirement Specification (SRS) coverage of all testable functional requirements\u200b.<\/span><\/li>\n<li><span style=\"color: #000000;\">Automation of critical and most used functionalities.<\/span><\/li>\n<\/ul>\n<h4><span style=\"color: #000000;\"><strong>Non-functional Testing:<\/strong><\/span><\/h4>\n<ul>\n<li><span style=\"color: #000000;\">Usability\u200b<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Screen Orientation (Landscape\/Portrait) \u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Accessibility of menu items\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Error Messages\u200b\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Gestures tests\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Switching between application\u200b<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Performance\u200b<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Application size\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Startup time\/Launch time\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Responsiveness of the application\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Memory, CPU utilization and Battery Consumption\u200b<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Compatibility\u200b<\/span>\n<ul>\n<li><span style=\"color: #000000;\">Testing the application on Multiple devices\/Different Operating\u00a0Systems\/Screen Resolutions<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Network Specific Checks\u200b<\/span><\/li>\n<li><span style=\"color: #000000;\">Installation\/Upgrade tests\u200b<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">There was a weekly status report shared with the stakeholders on progress and deliverable. Defects were logged and defect management board meeting was held twice a week.<\/span><\/p>\n<h4><span style=\"color: #000000;\"><strong>Client Benefits<\/strong><strong>:<\/strong><\/span><\/h4>\n<p><span style=\"color: #000000;\">The product was delivered on time and within budget, and the client was fully satisfied with our proactive communication, international standard of delivery, support, and effective documentation process. The following are the key benefits we added to our quality service during the test management.<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000;\">Brainbox test team worked like a product partner with a strong belief in shared growth and exceeded quality expectations of the client.<\/span><\/li>\n<li><span style=\"color: #000000;\">Our extensive experience in providing independent testing services helped the client take care of their product at different stages smoothly without any botheration and remain focused on sales and strategic planning.<\/span><\/li>\n<li><span style=\"color: #000000;\">On-time delivery and on-schedule reporting provided the client an edge in product\u2019s market introduction and saved their time.<\/span><\/li>\n<li><span style=\"color: #000000;\">Our expertise in mobile test automation and testing capacity provided the client guaranteed quality assurance.<\/span><\/li>\n<li><span style=\"color: #000000;\">Accelerated QA process helped our customer to take fast and confident decisions regarding release cycle and market launch.<\/span><\/li>\n<\/ul>\n<h2><span style=\"color: #000000;\"><strong>Summary<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Mobile application testing has become an integral part of application development process, with increase in development of critical and complex mobile applications. At Brainbox, we provide solutions of testing by Engineer and automation of mobile applications, using our in-house test automation framework.<\/span><\/p>\n<p><span style=\"color: #000000;\">Contact us at <a style=\"color: #000000;\" href=\"mailto:sales@brainbox.consulting\">sales@brainbox.consulting<\/a> for more information and we would be happy to assist you with testing related services.<\/span><\/p>\n<p><span style=\"color: #000000;\"><strong>\u00a0<\/strong><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Mobile Application Testing is a process by which application software developed for handheld devices is tested for its functionality,&#8230;<\/p>\n","protected":false},"author":7,"featured_media":3451,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_mi_skip_tracking":false},"categories":[23],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/posts\/3450"}],"collection":[{"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/comments?post=3450"}],"version-history":[{"count":0,"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/posts\/3450\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/media\/3451"}],"wp:attachment":[{"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/media?parent=3450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/categories?post=3450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brainbox.consulting\/talent\/wp-json\/wp\/v2\/tags?post=3450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}