Testing mobile applications requires using many different tools for activities that ranges from testing communication to recording bug. In this article, Dmitry Radchenko lists some of the tools that he uses in his daily mobile apps testing activities.
Author: Dmitry Radchenko, TestMatick, http://testmatick.com
A great amount of applications and games for mobile devices are released every year. There are new players on the market that offer you a variety of devices with certain characteristics. All these factors influence the relevance of mobile testing. A major factor in mobile application testing is the availability of a large mobile devices park. Besides this, it is difficult to go without special tools for testing. Even if I have been familiar with the given tools for a long time, the list changes gradually as I try to keep pace with the times and I follow the emergence of new products. In addition, I constantly gain an experience and optimize the process.
This article presents the main tools that I use almost every day during mobile application testing. I would like to share with you to this list of tools and tell you more about how and for what we use them.
Postman – REST Client
Postman – REST Client is a debugger for web services. It works as a plugin for Chrome and Firefox browsers. It allows testing of API and HTTP requests. Postman – REST Client is needed in the early stages of development, when a build is not available, but there is a chance to test the processing of the data by the application server.
Web site: https://www.getpostman.com/
Xcode (Mac OS)
Xcode is an integrated development software environment for OS X and iOS. We use Xcode for crash log extracting, viewing the logs in real-time. Xcode Test Navigator makes it easy to navigate, edit, and run your tests. Testing assistants keep the tests and application code aligned in paired editors so you can work on them together. Thanks to this tool, we are able to measure battery and memory consumption, CPU (processor) load and establish fake GPS location.
Web site: https://developer.apple.com/xcode/
Testflight app (iOS)
The TestFlight app allows you to install and beta test apps on your iOS, tvOS and watchOS devices. After a developer invites you to beta test their app, you can install new versions as they become available. TestFlight also allows you to provide valuable feedback to developers on the features you are testing
Web site: https://developer.apple.com/testflight/
Far Manager (Windows)
Far Manager is a console file manager for Microsoft Windows operating systems. It is very helpful in log searching after synchronization with iTunes. Far Manager allows quickly finding and attaching the required logs to an input defect. I have been using this file manager for a long time and like it very much.
Web site: http://www.farmanager.com/
Log Viewer (Logcat) (Android)
Log Viewer (Logcat) is an application created to send system logs of mobile devices. It is a very convenient application, because it does not require connecting phone to PC. It is enough to reproduce the crash, deploy the application and send the logs to your email. The main thing is not to forget that the application should be launched during testing.
Web site: https://play.google.com/store/apps/details?id=ukzzang.android.app.logviewer
Dalvik Debug Monitor (Windows)
Dalvik Debug Monitor is a debugging tool and used for Android platforms. Dalvik Debug Monitor Service is a part of the Android SDK. It is used to view logs in real time. There are cases when Log Viewer can’t cope or projects where one must attach logs to each error in the bug tracker.
Web site: http://developer.android.com/sdk/index.html
Snagit (Windows/Mac)
Snagit is a special tool that is used to capture images that appear on computer screen and taking screenshots. Snagit allows processing of taken screenshots on mobile devices: arrows, comments, etc.
Web site: http://www.techsmith.com/snagit.html
Android Debug Bridge Screenrecord (Android)
Android Debug Bridge tool is a part of the Android SDK. With this tool you can record a video straight from your Android device. But usually the video should be recorded by a second phone. It is much more convenient for developers and testers, because you could not be able to use your testing device when something doesn’t work or a crash happens.
Web site: http://developer.android.com/tools/help/shell.html
HideMyAss (iOS, Android, Mac, Windows)
HideMyAss service is used to create VPN connection from different geographical locations. This application is the most suitable, if you need to test an application from different points of our planet.
Web site: https://www.hidemyass.com/
Fake GPS (Android)
Fake GPS is an application that installs fake GPS location. When used, all the other installed apps on your mobile device will use fake location data. We use the Fake GPS apps to test apps that use the GPS.
Web site: https://play.google.com/store/apps/details?id=com.lexa.fakegps&hl=en
Charles (Windows, Mac OS, Linux)
Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. Using Charles, we can monitor HTTP and SSL/HTTPS requests that come to the server and back to the mobile. This is an essential program for checking logging.
Web site: http://www.charlesproxy.com/
Fiddler (Windows)
HTTP-Proxy Fiddler is used for traffic monitoring. Besides standard ability to monitor traffic from a local machine, Fiddler allows sniffing traffic from remote devices. Fiddler’s advantage is the ability to export a root certificate on a mobile device that lets you see HTTPS traffic both in a browser and in mobile applications. This function is used in stress testing development on Android / iOS and in safety testing.
Web site: http://www.telerik.com/fiddler
SoftPerfect Connection Emulator (for Windows)
I use the SoftPerfect Connection Emulator to emulate various types of Internet connection for mobile devices. SoftPerfect Connection Emulator is a user-friendly program that gives the possibility to change delays and packet losses.
Web site: http://www.softperfect.com/products/connectionemulator/
Apache Jmeter (Windows)
Apache Jmeter is an open source tool for load testing. It contains a wide range of supported testing protocols, ranging from high-level HTTP, POP3, IMAP and ending with low-level LDAP and TCP. It is used to capture traffic records of HTTP requests during mobile testing. Maximum emulated speed of requests is on the level of 200-250 concurrent virtual users.
Web site: http://jmeter.apache.org/
Conclusion
It is safe to say that you can find articles with the same lists in the Internet. I wanted to share with you how do we use listed software in our company. I hope that this article will be useful and interesting for many of you.
About the author
Dmitry Radchenko is the test leader of complex mobile applications for TestMatick. He participates in successful integrated performances on testing the software products, and in organizations of both small and large size; passed the way from a common (basic) tester to the software test manager (QA Tester Manager). Dmitry leads several projects, including his own frameworks for application testing and also assists in testing, written from scratch. His interests are mobile and web projects, process automation and BDD.
Hi, Thanks for sharing a nice post!! Really this article is very much interesting.
Rightly mentioned — Testing mobile applications requires using many different tools for activities that ranges from testing communication to recording bug. The testing communities of mobile app development companies across the globe are struggling a lot to get the required outcome from their testing objectives, since they need to identify multiple testing tools for mobile apps. The tools need to be installed and get hands on it, all this operations will consume a lot of time. Applications and games for mobile devices are increasingly releasing every year along with variety of devices with certain characteristics. All these factors complicating testing mobile apps. With frequently changing mobile devices, companies cannot afford to test on all the mobile devices. So, identifying a cloud based mobile testing provider would be a right approach.