1. UI automation testing tools
1. uiautomator2
openatx is an open source UI automation tool that supports Android and iOS. The main programming language is Python. The API design is simple and easy to use, and it is also very popular in the open source community.
Install:
pip install --upgrade --pre uiautomator2# Or you can install directly from github sourcegit clone https://github.com/openatx/uiautomator2pip install -e uiautomator2
2. Appius
A very mature APP UI automation tool based on Node.js, which supports multiple language development and is very popular in the testing circle. It can be said to be a benchmark product in the field of APP UI automation. If you don't know Appium, you are embarrassed to say that you are in the testing field.
3. ATX-Test
A UI automation testing framework based on uiautomator2 and unittest packages. The project author has already completed the framework design, configurability, underlying device connection, log module, and reporting module. Users only need to write PageObject and script logic, which greatly improves the usability of uiautomator2. Not only that, the project now supports Monkey operation.
4. Airtest
A UI automated testing tool open sourced by NetEase uses image recognition and UI control retrieval technology to make game testing simple and fast. It supports Android, iOS, Windows, Unity, Cocos2dx, Egret Engine, and WeChat applet. It is easy to get started and friends who are game testers can experience it.
5. ATXServer2
Mobile device management platform supporting Android and iOS. You can check the status of the test phone through the web interface, and remotely control the phone, which is very helpful for testing compatibility. Easy to deploy and supports docker-compose deployment.
6. STF
The remote mobile device management platform supports Android and iOS real device management and is very powerful.
7. Appetizer
Very easy to use. It can perform APP UI automated testing, and can also support APP stability testing, providing GUI interface operations, which is extremely easy to use and meets daily UI automation needs. Unfortunately, only some components are open source.
2. APP stability testing tool
8. UICrawler
App UI traversal & Monkey tool based on Appium, supports iOS and Android
9. Maxim
It is known as a smart monkey, and everyone who has used it finds it really delicious. It supports native monkey, traversal control, black and white lists and other functions, and also encapsulates log files that are easier to parse. With it, you no longer need to use the native monkey.
10. AppCrawler
An app crawler tool based on automatic traversal. It supports android and iOS, and supports real machines and simulators. The biggest feature is flexibility. The traversal rules can be set through configuration.
3. APP performance testing tools
11. SoloPi
SoloPi is a wireless, non-intrusive Android automation tool. The public beta version has three main functions: recording and playback, performance testing, and multiple controls on one machine, which can save valuable time for test developers (official introduction). Generally used for APP performance testing.
12. GT
Tencent's open source APP portable debugging platform can quickly perform performance tests on APPs (CPU, memory, traffic, battery, frame rate/fluency, etc.), view development logs, view crash logs, and capture network data packets. , debugging of APP internal parameters, real machine code time consumption statistics, etc.
Using GT, you can quickly perform performance tests on APP (CPU, memory, traffic, power, frame rate/fluency, etc.), view development logs, view crash logs, and network using just a mobile phone without connecting to a computer. Capture of data packets, debugging of APP internal parameters, real machine code time consumption statistics, etc. If you feel that the functions provided by GT are not enough to meet your needs, you can also use the basic API provided by GT to develop your own GT plug-in with special functions to help you solve more complex APP debugging problems.
GT supports two mobile platforms, iOS and Android, including:
The iOS version is a Framework package, which must be embedded in the APP project and compiled into an APP with GT before it can be used; both iPhone and iPad applications can support it. The Android version consists of a directly installable GT Console APP and GT SDK. The GT Console can be installed and used independently. The SDK needs to be embedded in the application being debugged and use the GT Console for information display and parameter modification.
4. Packet capture tool
13. AnyProxy
Alibaba's open source packet capture tool can be developed based on Node.js. Usage scenarios: app crawler, interface data analysis, etc.
14. mitmproxy
The packet capture tool based on Python is more friendly to pythoners. Its main function is to collect packet capture data for subsequent analysis.
1. Common application modes
Native
Hybird
H5
React Native
2. Commonly used debugging tools
Android platform
adb
ddms
aapt
monkey
monkeyrunner
emulator
hierarchyviewer
monitor
UIAutomatorviewer
iOS platform
acts
xcode
instruments
codesign
iExplorer
xcrun
3. Common UI automation frameworks
Android platform
Instrumentation
Appius
A robot
Instrumentation
Athrun
Monkey
MonkeyRunner
UIautomator
Selendroid
Calabash-Android
Espresso
cafe
Macaca
iOS platform
UIautomation
Frank
Appius
Monkeytalk
Calabash-iOS
iOS-driver
XCUITesting
TuneupJs
YNM3K
4. Common unit testing frameworks
Android platform
Robolectric
Mockito
RxJava
Instrumentation
AndroidJUnitRunner
Espresso
iOS platform
XCTest
GHUnit
OCUnit
OCMock
OCMockito
Wait
OCHamcrest
5. Commonly used packet capture tools
Fiddler
Charles
Tcpdump
Wireshark
BurpSuites
Third-party proxy server (such as: Anyproxy, mitmproxy, browsermob-proxy)
6. Weak network simulation
Fiddler
Charles
ACT(Augmented Traffic Control by facebook)
iOS developer mode
Other speed-limiting software, such as various portable WIFI, routers, network cards, etc.
7. Commonly used special testing tools
Android platform
Integrated tools
GT (Tencent open source)
Easy to test (Taobao is not open source)
emmagee (NetEase open source)
iTest (iFlytek is not open source)
CPU
DDMS
Monitor
TraceView
ADB Shell
/proc/stat && /proc/%pid%/stat
Top
dumpsys cpuinfo
Android API
Memory
ALONG WITH
DDMS(or Monitor)
Android Studio Monitor
Allocation Tracker
LeakCanary
ADB shell
dumpsysmeminfo %package_name% && dumpsys
meminfo %pid%
top
procrank
Android API
Memory Leaks(iOS)
Traffic
Tcpdump
ADB shell
/proc/uid_stat/uid/tcp_send (upload traffic)
/proc/uid_stat/uid/tcp_rcv (download traffic)
Wireshark
Fiddler
Charles
Android API (version restrictions)
FPS
ADB shell
service call SurfaceFlinger 1013 (demand root)
dumpsys SurfaceFlinger
Dumpsys gfxinfo %packagename% (version restriction)
Android developer mode-GPU rendering mode analysis
High speed camera
Start Time
Cold start definition (starting the APP for the first time without data)
Hot start definition (start APP after BACK exits APP)
Logcat(Android 4.4+)
am start -W [packageName]/[packageName.MainActivity]
Power consumption (electricity)
Android platform
dumpsys batterystats (version limit)
Decompile and view power_profile.xml
Battery Historian Tool (version restrictions)
Android API
iOS platform
Developer options ->logging ->start recording + Instrument
Power consumption tester, such as Agilent
8. Static scanning
Android platform
FireWire
Findbugs
Infer
Sonar
Lint
P3C (developed by Alibaba based on PMD)
PMD
CheckStyle
360 Code Guard (Business)
Fortify (Business)
Coverity (Business)
iOS platform
OClint
infer
scan-build
Clang Static Analyzer
9. Code Coverage
JaCoCo
Roof
Emma
Code Coverage in Xcode(iOS)
10. Commonly used cloud testing platforms
Free and open source
STF
Business (free for a limited time)
The test
Baidu MTC
Ali MQC
Tencent UTest
Neusoft Easy Test Cloud
Tencent WeTest
TestBird
Huawei Cloud
Perfect
LessPainful
TestDroid
11.Continuous integration
Jenkins
Travis CI
Buildbot
Strider
Integrity
GO
12. Monitoring SDK
Probe
BlockCanary
LeakCanary
Steamy
crashlytics
Friendship
NetEase Cloud Capture
[Below is the most complete software test engineer learning knowledge architecture system of 2023 I compiled]
1. Python programming from entry to proficiency
2. Practical implementation of interface automation projects
3. Web automation project actual combat
4. Practical implementation of App automation project
5. Resumes of first-tier manufacturers
6. Test and develop DevOps system
7. Commonly used automated testing tools
8. JMeter performance test
9. Summary (little surprise at the end of the article)
life is long so add oil. Every effort will not be disappointed, as long as you persevere, you will eventually be rewarded. Cherish your time and pursue your dreams. Don’t forget your original intention and forge ahead. Your future is in your control!
Life is short and time is precious. We cannot predict what will happen in the future, but we can control the present. Cherish every day, work hard, and make yourself stronger and better. With firm belief and persistent pursuit, success will eventually belong to you!
Only by constantly challenging yourself can you constantly surpass yourself. Keep pursuing your dreams and move forward bravely, and you will find that the process of struggle is so beautiful and worthwhile. Believe in yourself, you can do it!
Finally, I would like to thank everyone who reads my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, if you can use it, you can take it directly:
This information should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can also help you!