Abstract:

I. Automated test services

Android Compatibility Testing

The Android compatibility test is designed to help solve various compatibility problems of Android applications on different real phones, including Crash/ANR analysis, 6 performance analysis, UI detection, and 3 version overlay installation detection. Android compatibility test is very simple to use, the customer only needs to submit the tested APK file (if login is required, then provide the test account/password), after a comprehensive test in 10 minutes at the earliest (other platforms in 1-3 minutes), will receive the test completion notice, can come to MQC to view the test report. The test report is very rich and comprehensive, including Test Overview, Terminal Details, Error Log, All Screenshots, and Performance Report.

Through machine learning, a large number of previous applications are tested and summarized. Through deep machine learning, intelligent training of the test Robot can detect more problems in applications more efficiently and accurately. In other words, make the test more targeted. At the same time, MQC test Robot has a lot of complex gesture operation ability, such as multi-point sliding, zooming, double click, multi-click, multi-touch and so on, can simulate the use effect of real users, so that the test “actual combat”.

Thanks to the powerful testing technology of MQC, the Crash/ANR detection rate of compatibility testing is much higher than the industry level. At the same time, in terms of performance testing, MQC provides 6 performance index curves, performance analysis, but also provides a powerful memory leakage and memory overflow detection and analysis capabilities.

Figure 2.1.1-1 Terminal details

Figure 2.1.1-2 Performance curve

Figure 2.1.1-3 Error log

Figure 2.1.1-4 All screenshots

Android Functional Testing

Android functional testing is different from Android compatibility testing. Its main goal is to check the functional correctness of mobile applications. Through functional testing, developers can accumulate their own functional test cases for subsequent regression testing. And, in order to reduce the difficulty of writing functional scripts for customers, we provided comprehensive and detailed Robotium help documentation and Appium help documentation on the one hand; At the same time, it also provides an online recording and playback tool, so that customers can get stable high-quality scripts without writing scripts, which greatly reduces the cost of functional testing.

At present, functional testing supports Robotium framework and Appium framework (only MQC provides Appium support in China), which can meet the requirements of all customers for functional scripting. In addition, the function test supports three network options: WIFI, 3G, and 2G. You can verify the function in different network scenarios to ensure that the all-weather function is correct. In addition, the function test also supports different screenshots: video (recording the entire script running process), automatic screenshots (automatic screenshots according to the Activity), and custom screenshots (customized screenshots after the script sends instructions). To meet some application account kicking scenarios, we support the “Account pool” function, so that customers can submit multiple accounts for testing in parallel without worrying about account kicking.

Functional test reports include Summary Analysis of Use Case Results, Crash/ANR Error Analysis, UI Screenshot, Terminal Details, Test Process Video, Error Log Analysis, Performance Analysis, Memory Leak Detection, and Memory overflow Analysis. You can use test reports to quickly analyze application function problems and Crash/ANR errors. In addition, the severity of errors is graded according to the pass rate of use cases, and the functions with low pass rate and Crash/ANR errors are solved first.

Figure 2.1.2-1 Functional test submission task page

Figure 2.1.2-2 Video of functional test report

Figure 2.1.2-3 Functional test report Test overview

Figure 2.1.2 -4 Terminal details of functional test report

Figure 2.1.2-1 Functional test report Performance report

Android deep performance testing

The in-depth performance test provides more detailed and reliable performance detection services, covering seven in-depth performance detection items: Memory leak detection, Memory overflow analysis/Location, Memory jitter detection, Stutter detection, Startup performance analysis, Mainline I/O, and Transition draw Detection.

The deep performance detection will analyze the cause of each problem, can directly locate the code line, and can link with the key points of the test process video. It can help users “find problems” -> “Analyze problems” -> “locate problems” -> “solve problems”.

Figure 2.1.3-1 Depth performance test The interface is stuck

Figure 2.1.3-2 Depth performance test Test transition drawing

Figure 2.1.3 -3 Deep performance test Test main thread IO/ object leakage

Figure 2.1.3-4 Deep performance test Test main memory jitter

Android remote real machine rental

Remote real machine rental can help customers in the REMOTE real machine provided by MQC, application development, Bug recurrence, two-machine debugging, etc. For example, Android compatibility test, functional test, or user feedback to the problem, but there is no such local model can not reproduce the problem scenario, then you can come to MQC for remote real machine rental, through the web debugging MQC room real machine.

Remote real rental added a lot of innovative features: dual rental, remote debugging. Double machine renting can allow customers to choose two real machines at a time for online renting, can verify the similar nail this need two equipment to accept/send functions; Dual-phone rental also supports “synchronous operation”. You can operate one device and link the other devices together to verify two mobile phones at a time, making function verification more convenient and fast.

Remote debugging is a technical innovation which is very practical for customers on the basis of real machine renting. By downloading and executing the Remote debug Jar package, you can map the remote real machine in the MQC room to the local machine. You can manipulate remote devices through ADB commands and debug breakpoints through development tools such as Eclipse/Android Studio.

Figure 2.1.5-1 Remote real server lease Lease of two servers

Figure 2.1.5-2 Commissioning of leased remote real machine

Android online script recording

Online script recording helps customers to write and maintain scripts. You can record high-quality scripts in a short time. At the same time, you do not need to care about equipment problems, by THE MQC to provide real machine equipment; You also don’t need to worry about the robustness of scripts on different system versions, MQC automatically generates high-quality scripts for you.

After recording the script, you can build the script and perform playback. After playback, you can submit the script to the MQC online script Management center and use the script directly for functional regression verification during functional testing.

Figure 2.1.6-1 Online script recording Record a script

Figure 2.1.6-2 Online script recording playback script

IOS Compatibility Testing

IOS compatibility test can test the compatibility of applications under test on different system versions and iOS models, mainly for the purpose of discovering Crash. IOS compatibility testing also has a Crash detection rate that is far higher than industry standards (other platforms simply tell you it’s ok). At the same time, the whole process of compatibility test is recorded as a video, which is convenient for you to recall the Crash problem. We also provide the call stack information for Crash errors, so that you can easily Debug the problem.

Figure 2.2.1-1 iOS compatibility test Overview

Figure 2.2.1-2 details of the end point of the iOS compatibility test

Figure 2.2.1-3 iOS compatibility test error log

IOS functional testing

IOS functional testing is similar to Android functional testing in that it aims to verify the functional correctness of the application. IOS feature testing now supports native UIAutomation scripts. In order to facilitate the client to write scripts, we also equipped a script writing document to help iOS testing students improve their testing skills.

The iOS functional test only needs to submit the application under test and JS script files. We will run the functional scripts on devices with different models and system versions to verify the correctness of functions on different models. After the test is complete, a detailed use case analysis report is provided. You can view the overall pass rate of each case and error logs of failed cases to quickly locate the cause of the problem.

Figure 2.2.2-1 iOS functional test overview

Figure 2.2.2-2 details of the iOS functional test terminal

Figure 2.2.2-3 iOS function test view video

IOS online script recording

Similar to the online recording function of Android, the system provides the online recording function for iOS models. Python scripts of Appium can be recorded on the Web. MQC provides the ability of “unique control judgment” for script adaptation of different iOS models. Although the control tree of different iOS system versions is different, one script can run for all models, greatly reducing the development workload.

The response speed of iOS online recording is also very leading in the industry. We can achieve response delay within 100 milliseconds, which is tens of times more effective than other solutions.

H5 performance test

H5 testing provides comprehensive H5 testing capabilities, including: browser compatibility, secondary page traversal, support for different containers, and weak network support. The test results contain 13 performance indicators: first resource time, first rendering time, first screen time, resource load time, number of HTTP requests, page size, DOM node number, redirection times, domain name number, failed resource number, CPU usage, memory usage, and FPS.

To help customers quickly improve the performance of their H5 applications, we also provide up to 33 performance optimizations to let you know what is wrong with your page, what is wrong with your code, and how to fix it. Through optimization suggestions, you can improve web page performance.

In addition, to give you a clearer view of the page loading process, we recorded a video of the page opening process in different browsers. You can easily view the details of every frame during the loading process. At the same time, we continue to retain the secondary page traversal, and page resources load waterfall flow function, ensure that all the loading details, in a glance.

Figure 2.4.1 -1 H5 test load waterfall flow

Figure 2.4.1-2 H5 test loading video

Figure 2.4.1-3 H5 test performance indicators + repair suggestions

Click here to see the original article