When it comes to software testing, testers definitely think of checking files, functions, APIs, performance and determining whether the software is safe, and other things about specific parts of the software. When it comes to mobile testing, testers must consider the way users use mobile devices to test relevant functionality.
Next, we will focus on mobile testing. For products (application software) in mobile phone projects, the focus of testing is system testing. For system testing of mobile application software APP, we usually carry out it from the following perspectives: functional module testing, compatibility testing, installation and uninstallation testing, software update testing, performance testing, user experience testing, cross-event testing, user interface Testing etc.
As a software quality assurance manager, I am devoted to mobile apps and mobile webapps for iPhone, Android, and Windows Phone 7. Through my daily work and communication with other mobile testing experts, I deeply understand the challenges of mobile testing work. I summarized this article based on my work experience, hoping to help readers solve some problems encountered in practice. Regarding the key points of APP testing, I will sort it out and post it for everyone to see.
First look at the picture below:
This picture should be able to clearly show the process of APP testing. Then what needs to be explained is the section of executing the test. Since too many words in xmind will cause the image to shrink, I will explain what each stage corresponds to here.
APP testing process
1. UI testing
Check whether the UI elements match the pictures, icons, text, layout, etc. in the renderings. Generally speaking, there are no particularly serious problems with the UI, so just give them to the product as suggestions.
2. Functional testing
Checking the compliance of functions needs to cover aspects such as UI layer, interface, data, server and code logic. Functional defects are generally defined as serious defects that must be repaired.
3. Robustness test
Test the product’s handling mechanism when exceptions occur. When examining abnormal scenarios or extreme situations, you need to consider whether a crash or ANR will occur. You need to pay attention to some extreme and abnormal scenarios, as well as tests for interruptions and weak networks.
4. Adaptation
It is necessary to test the compatibility of the product under various hardware devices, resolutions, operating systems, screen sizes, mobile phone models, etc. There are too many customized systems in China, and the Android part is not easy to handle, so mainstream model testing standardized methods are generally used.
5. Stability test
Monkey is usually used for testing here. At first I dismissed the monkey, but under the guidance of my seniors, I realized its power. It is also currently in the learning stage. The main method is to perform a large number of clicks, slides and other operations through a pseudo-random event stream, which is mainly used to detect hidden crash and anr defects in the product.
6. Performance Test
Client performance monitoring mainly focuses on data such as CPU, GPU, traffic, power consumption and response time of the client device during operation. Through data analysis, products are optimized to meet client needs, thereby improving product competitiveness. Through further digging, you can analyze the performance bottlenecks on the client and even find out the code that affects client performance.
The data to be monitored when paying attention to server performance includes I/O, throughput, concurrency, pressure, load, etc. Analyze the test results, find performance bottlenecks, and complete performance optimization. Server stability, goal achievement and task completion are the main inspection targets.
7. Regression testing
Regression testing is mainly to test the defects that have been fixed by development. Assess the scope of impact of changes and conduct targeted testing. In fact, it is necessary to return the functions and data of the old version.
8. Online testing
After the release is launched, the final round of system testing must be conducted in the production environment. I usually do everything I've done before at once.
The difference between ios and Android in App testing
1. On Android, long press the home button to call out the application list and switch applications, and then swipe right to terminate the application;
2. Multi-resolution test, there are more than 20 types on Android and less on ios;
3. Mobile phone Operating systems, Android is more common, ios is less and cannot be downgraded, and can only be upgraded in one direction; the resource library in the new ios system is not fully compatible with applications in the lower version ios system, and applications in the lower version ios system call The new resource library will directly cause a crash;
4. Operating habits: Android, whether the Back key has been rewritten, and test whether the feedback after clicking the Back key is correct; after moving the application data from the memory to the SD card Whether it can run normally, etc.;
5. Push test: Android: Click the home button, when the program is running in the background, a push is received at this time, click to wake up the application, whether it can jump correctly at this time; ios, click the home button to close Program and screen lock status (display of red dots);
6. Installation and uninstallation test: Android has many platforms, tools and channels for downloading and installation. iOS mainly includes appstore, iTunes and testflight downloads;
7. Upgrade test: Necessary conditions for being upgraded: the old and new versions have the same signature; the old and new versions have the same package name; there is an identifier to distinguish the old and new versions (such as version number). For Android, if there are built-in applications, check for upgrades. Whether the built-in files match later (such as the built-in input method)
In addition: There are a few points that need to be noted for testing:
1. Concurrent (interruption) test: alarm pop-up box prompt, startup of another application, video Audio playback, incoming calls, user typing, etc., when playing voice, recording, etc., force other playing to pause;
2. Data source testing: input, selection, copy, voice input, install different input methods etc.;
3. Push (push) test: when the push is executed in the power on and off state and in standby state, the message dies first and the correctness of the push jump; the application is in development, unopened state, the application is started and runs in the background The situation is whether the push display and jump are correct; whether the number changes before and after reading the push message are correct; whether the display and jump of the collection of multiple push messages are correct;
4. Share jump: whether the copy after sharing is correct; Check whether the jump after sharing is correct and whether the source of the displayed message is correct;
5. Touch screen test: touch different locations at the same time or perform different operations at the same time to check the processing situation of the client and whether it will crash, etc.
The above is the detailed content of What are the 8 rules for good APP testing?. For more information, please follow other related articles on the PHP Chinese website!