With the popularity of mobile internet, the use of more and more apps, for most companies, the Web, app testing is essential;
App testing is no different from the nature of web testing, but the point of extra consideration is different;
This article, records the daily work in the app test the common thinking point;
App testing takes into account the point:
1, according to the requirements of functional testing: equivalence, boundary, scene;
2, Tool testing: GT, Appium, Monkey, monkeyrunner, adb command;
1), monkey to the app random test, that is, the stability test, commonly used commands: ADB shell monkey-p package name--throttle 50-s 1005-v 50000 >f:\xxx\test.txt
Analyze the logs after the monkey test:
1. ANR Problem: Search for "ANR" in the log;
2, crash problem: In the log Search "Exception";
2), Appium simulation of the operation of the app to verify the test, the use of the process encountered pit: see;
tools used to locate cell phone elements:uiautomatorviewer.bat;
Appium
1, environment construction, sdk,java,python,appium;
2, test cases;
3, code architecture writing, debugging, automatic construction test;
3) Monkeyrunner simulated human Action app for test verification, Run command: Monkeyrunner F:\test.py
The Monkeyrunner has three important classes:
Monkeyrunner: Tool class for connecting Monkeyrunner to a device or emulator, creating a Monkeyrunner user interface, and a way to display built-in Help.
Monkeydevice: A device or simulator class that provides installation and uninstallation packages, initiates an activity, and sends keystrokes or touches to the application's methods.
Monkeyimage: The class of the object. Provides a way to convert bitmaps into various formats, compare two Monkeyimage objects, and write pictures to files.
4) ADB command for mobile testing is very important, while the ADB as Appium, Monkey, Monkeyrunner Bridge, play a connection simulator, the role of the real machine, so remember to configure the Android Sdk,java environment Oh;
ADB command:
View Memory:adb shell Dumpsys meminfo > F:/meinfoall.txt
memory consumption noun parsing:---->= RSS >= PSS >= USS
to view the CPU for the specified app:adb shell top | findstr com.xxx > d:\cpu.txt
end ADB:adb kill-server
Restart adb:adb start-server
View WiFi password: adb shell cat data/misc/wifi/*.conf
Mobile:adb shell screencap -p /sdcard/screen.png
View Resolution: adb shell WM size
installation application: adb shell Install f:/xxx.apk
Uninstall app: adb shell Uninstall com.xx
3, other aspects of the app to consider the point contains the crash situation:
1, sub-screen;
2, weak network;
3, multi-application operation;
4, the application does not shut down, restart the phone;
5, unloading load installation,
6, after the online upgrade application;
7, the application upgrade interrupted, manually cancel the upgrade, the upgrade suddenly broken network;
8, permission restrictions;
9, the screen mobile phone;
10, USB access;
11, third-party application message push;
12, mobile phone calls, SMS, alarm clock;
13, weak power, charging state;
14, insufficient physical memory, running out of memory;
15, the app page switch;
16, click the System home, return keys, volume keys, etc.;
17, mobile phone lock screen;
18, mobile phone shake;
19, the use of headphones;
20, network type;
21, using the app, suddenly shut down the computer restart;
22, mobile phone compatibility;
23, app power consumption statistics;
24, app traffic usage statistics;
25, mobile phone memory monitoring application;
26, mobile phone CPU monitoring application;
App Test Summary