Mobile app traditional test process optimization

Source: Internet
Author: User
Tags nets

Overviewin the traditional software testing process, each period of demand from development to on-line experience from the requirements analysis and review, test case review, development, testing, release process. The tests included background testing, front-end Web testing, and client-side testing. Background testing includes background code logic test, Interface test, interface stress test, etc., web-side test includes UI test of front-end page, PC and mobile browser compatibility test and functional test, and client test contains more test items, and each test is relatively technical content. The concept of special testing is introduced. Unlike functional testing for client-per-issue requirements, the results of a specific test are related to the specific functionality of the product and include parts that are independent of the product requirements function. This also allows us to design the client test cases often will be part of the special test of the content ignored, resulting in some of the design test case thinking on the omission.  What are mobile app testing?from the concept of special testing, the mobile app's special testing includes:Install package test, Compatibility test, memory leak test, power consumption test, traffic test, conflict test, weak network test, interface fault tolerance test, system permission test, over-draw test.  To introduce special tests into existing business, we need to consider the following three points:1. When to special test?2. How to Special test? 3. Why to Special test?  Install package Testinstallation package Test IntroductionThe installation package test is a test of the prompt information including installation, uninstall, upgrade three ways, package name, version information, logo, the main function of the client and test after installation and upgrade. The importance of installation package testing is self-evident, it can directly affect user download volume and app activation rate, and indirectly affect user conversion rate. the installation package test mainly includes the following points:1) routine installation package test;2) from the low version to the high version of the coverage installation test;3) from the low version to the high version of the app internal upgrade test;4) in the process of mobile phone memory, hard disk under the circumstances of the installation package test;5) Install anti-virus software under the premise of the installation package test;6) In the process of forced shutdown, disconnection, phone call out, jump to other apps to operate the installation package test;7) Interrupt test (check to be able to fall back to previous state): installation interruption, uninstall interrupt, upgrade interrupt;8) Different iOS version, Android version of the installation package test. when does the installation package test take place? The test of the installation package is at the stage of the software testing process prior to the functional testing phase.  Compatibility TestIntroduction to Compatibility testingcompatibility testing is a test of the different hardware and software environments in which the app is located. Compatibility testing is very important, if an app to change a phone to flash back, a system to throw an exception, will undoubtedly indirectly affect the user's evaluation of the product, directly and indirectly increase the user's wastage rate, reduce the download volume of the app. compatibility testing mainly includes the following:1) OS version compatible: Andoird version, iOS version;2) Screen size compatible with resolution:2.8-inch resolution is 640x480 (VGA) pixel density 286PPI3.5-inch resolution of 960x640 (DVGA) pixel density 326PPI (iPhone4)4.0-inch resolution of 1136x640 (HD) pixel density 330PPI (iPhone5)4.7-inch resolution is 1280x720 (HD) pixel density 312PPI... ...10-inch resolution 2560x1600 pixel density 299ppi3) Android ROM compatible: Xiaomi, Huawei, Meizu, ZTE, Google, Samsung;4) network type compatible: WiFi, 3G, 4G. when does the compatibility test take place? compatibility testing is generally based on functional testing without problems, in the software testing process stage after the functional testing phase , before the release of the launch phase.  Memory leak testIntroduction to memory leak testingA memory leak test is a test that detects the occurrence of a memory leak in the course of a test. Occasional memory leaks are difficult to detect, but this part of the test is still very necessary because the accumulation of memory leaks will eventually consume all of the system's memory and seriously affect the performance of the machine. Memory leak testing requires tools. when to do a memory leak testmemory leak testing runs through the entire software testing process, so memory leak testing and functional testing are carried out in the same phase.  Power consumption testPower consumption Test IntroductionThe power consumption test is the test for measuring the amount of electricity consumed in different scenarios. The reason for the power consumption test, for example, there is user feedback in the use of an app to find that the battery consumption is very fast, and finally uninstall the app after everything back to normal. If the user comments the product indirectly, the user's evaluation will directly affect the download volume of the app. The test of power consumption requires tools. Several typical power consumption scenarios are as follows:1) Positioning, especially call GPS positioning;2) network transmission, especially non-wifi environment;3) screen brightness;4) CPU frequency (some operations within the client will increase CPU frequency);5) Memory scheduling frequency (IBID.);6) Time and frequency of lock screen and wakeup. the design of the power consumption test case should revolve around the above points, combining the needs and functions. when to test the power consumptionThe power consumption test can be performed in the same phase as the functional test .  Flow TestFlow Test IntroductionThe flow test is to click on the screen you want to test or a set of scenes on your phone, and then see how much traffic is being tested. Traffic testing is important, some products of the traffic consumption is serious, and some users have installed traffic statistics software, users may consider uninstalling those traffic consumption of serious software or in the absence of WiFi in the case of the use of the corresponding app. The flow test requires tools. when to do the flow testThe flow test can be carried out in the same phase as the functional test, ensuring that the function is not problematic .  Conflict TestingIntroduction to conflict testingA conflict test is a test that is interfered by third-party functionality or software while running a program's functionality. Conflict testing is a software state testing, software status is divided into "start", "Hang", "end" three kinds of, so the conflict test is also simulated interference software run "start", "Suspend", "end" the test of three states. A number of common interrupts are triggered during the operation of the module, testing whether the client's handling of event priorities affects functionality. The difficulty of conflict testing is that it takes time to break an event, and for some situations where it is fast and difficult to break, the need to implement conflict testing sometimes requires some automated means. key points of interest in conflict testing:1) call incoming;2) network switching;3) SMS notification;4) push message;5) alarm clock;6) USB plug -in;7) Hang up;8) program history starts;9) long key to shut down the machine;10) automatic horizontal screen;11) Lock screen standby;when to do a conflict testconflict testing involves the entire software testing process, for example: conflict testing is involved in the installation package test. Therefore, conflict testing runs through the entire software testing process, prior to the functional testing phase.  Weak net testIntroduction to Weak net testingWeak net testing is the test of the app in different network environments. Features affected by network conditions are often related to background interfaces, and updates to data within the client are done by invoking the backend interface and receiving the returned data. The key to design weak net test cases is to analyze what functions are linked to the background interface, and it is necessary to consider whether a targeted design of weak net test cases is required for the functions linked to the background interface. The simulation of weak nets needs to be aided by tools. when to test for weak netsWeak net testing and functional testing are carried out in the same phase.  interface Fault tolerance testingInterface Fault Tolerance test introductioninterface Fault Tolerance testing is a test that verifies that the exception data is handled correctly in the client if the server-side interface returns an exception or unreasonable data. The interface return timeout and return exception should correspond to reasonable prompts within the client to improve the user experience. Interface fault tolerance testing requires the use of the capture tool to complete the modification of the interface return data. when to do interface tolerance testinginterface Fault tolerance testing is performed in the same phase as functional testing .  System permissions TestIntroduction to System permissions testingthe System permission test is the test that the app needs to get system permissions. In the process of testing, the main check in the client for access to system permissions are friendly, functional and normal. We need to do a statistic on the functional modules that involve acquiring system permissions to determine the scope of the design test case. Often involves the system permission test related function Point also is included in the client each period of demand, therefore involves the system permission aspect the test point is generally not easy to be ignored. The test case needs to include three scenarios in which the app has "Allow permission", "Reminder permission", and "Prohibit permissions":1) Permission: The function of the relevant module in the app is normal;2) Alert permission: When the function of the relevant module in the app triggers, a reminder will appear;3) Forbidden Permission: The function of the relevant module in the app will be friendly when triggered, and there will be no abnormal and crashing phenomenon. when to test system permissionsThe system permission test is carried out in the same phase as the functional test.  over-drawing testsIntroduction to Over-drawing testsover-drawing means that pixels are drawn more than once in a frame of time (16.67ms), each drawing consumes the CPU, and when the drawing times out, the phenomenon occurs. The over-drawing test is to check whether there is excessive drawing during testing. Testing often requires tools, because over-rendering is difficult to discern with the naked eye. The "Force GPU rendering" feature in the developer tools of the Android system can help us to discover the phenomenon of over-rendering. The product does not know which functional modules are at risk of being over-drawn, so it does not write content that involves over-drawing to the requirements documentation. Due to the need to be able to take over the place of the ability to have a certain degree of certainty (generally in the area involved in the activity jumps prone to excessive painting phenomenon occurs. For example, activity A is not destroyed after you jump from activity A to activity B, and activity A is re-created after activity B returns to activity a, which is prone to over-rendering. So it's easy to ignore the design of this part of the test case in the actual test. An example of an over-drawing of the main areas of concern (take the "one Dollar Tesco" app):1) The homepage of the shortcut entrance icon (recharge, 1 yuan to 20, drying a single, easy in-product);2) Tesco headline scroll bar clickable section. To Design This part of the test case, you need to:1) Understand all the activity that may exist in the app;2) Determine the function module that can trigger the jump between activity;when to do an over-drawing testthe over-drawing test is carried out in the same phase as the functional test.  mobile App Special test implementation planfrom the above overall to the specific test stage grasp, divided into three teams:First Team: Installation package test, conflict test;Second Team: Memory leak test, power consumption test, flow test, weak network test, interface fault tolerance test, system permission test, over-plotting test;Third Team: Compatibility Test.  Specific Implementation Planinstallation package test: Recommended for the installation of changes in the measurement, do not need to test every time;Conflict Test: The conflict test case is designed together with the functional test case in the client function test case;Memory leak test: It is recommended that the testing process be monitored through the automated tools, and once the leak is found, the client screen, the collection of the log before and after the leak, send Popo to the client development;Power Consumption testing: It is recommended to test by automated tools;Flow test: It is recommended to complete the test through automated tools, the tool can detect the flow of the app for a period of time, with manual click on the requirements involved in the client and the request operation related to the button or operation to determine whether there is a serious traffic problem; Weak Network testing: It is recommended to simulate various degrees of weak nets through the automation tools, to the related client and request operation of the button or operation of the weak net test; Interface Fault tolerance test: The interface fault tolerance test cases are designed together with the functional test cases to the client functional test cases;System Permission test: The system permission test case is designed together with the functional test case to the client function test case;over-drawing tests: The over-drawing test cases are designed together with the functional test cases into the client functional test cases;compatibility testing: Done with the compatibility test platform (traditionally: borrowing mobile phones around the point).  implementation Processthe above-mentioned implementation plan is summarized again, can improve the traditional test process. For each requirement, the following stages--1. Confirmation phase:1) Determine the function module that involves jumping between activity;2) Determine all the buttons or actions associated with the background request. 2. Test Case design phase:1) functional test cases;2) conflict test cases;3) interface fault tolerance test cases;4) System permission test case;5) Excessive drawing of test cases. 3. Test Execution phase:1) Manual testing: Installation package test (on-demand), functional testing;2) Semi-automatic test (half by hand, half by tool): Flow test, weak net test;3) Automated testing (complete with tools): Memory leak test, power consumption test (select main model);4) Compatibility test (manual testing with the help of the compatibility test platform).  Automation Tools1) Automated flow test aids, requirements: can be carried out over a period of time statistics;2) Automatic weak network test AIDS, requirements: can choose to set various degrees of weak network;3) Memory leak automation test tool;4) Power Consumption automation test tool.  Summarynow the mobile app software testing process can be summarized as: Four tools, three stages, a platform. optimized for the traditional mobile app testing process:1) greatly enrich and perfect the design method of functional test case;2) The development and use of the automation process in the test is realized to a great extent.    

Mobile app traditional test process optimization

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.