Every organization is unique and have their own way to manage mobile app development. The same applies to their testing effort. In today, there are plenty of options for non-developers to do testing without the need to understand the code. Likewise, there are plenty of ways for developers to do testing – automated, instantly, and reliably on real devices.
As mentioned, increasing the efficiency and productivity with test automation in your application project actually starts with a new mindset. Software tests have to be repeated often during all development cycles to ensure the best possible quality of the application. Every time source code is modified software tests should be repeated. For each release of the software, it should be tested on all supported variants of operating systems and different hardware configurations. Manually repeating these tests is costly and time-consuming.
In this blog, we’ll take a brief look at some of the most used ways to use test automation while developing your mobile app. Certain things in the development process can be automated for developers to contribute in the testing effort: for example, using cloud-based smoke and sanity check capabilities running on real devices.
Different Ways to Automate Testing – and Share Testing Effort Across Teams
First of all, there are several ways to automate the testing effort and there isn’t the right-or-wrong approach with these. Some of the methods/doing fit better in different types of organizations and skill sets they have. Automating tests for your mobile application is the best way to increase the effectiveness, efficiency and coverage of your software testing. However, even in case of test automation, many organizations decide to hand-write their tests.
1. Hand-Written Tests
Majority of today’s mobile test case and script creations are still done manually. This is a common approach as there are plenty of great open source (and commercial) frameworks and tools available. Adopting any of these frameworks in your testing process is not a major effort, or not necessarily expensive. It typically just requires the right mindset from the organization.
Handwriting your test cases can bring you accurately – however, not always free of bugs – tests that are very specific to your testing needs. This is a good approach if your team is capable to use any programming language and tech-savvy enough to get those maintained and modified if and when your application changes. Writing your tests also by certain person/team enables them to select from a variety of different test automation frameworks. But remember that writing test cases manually takes some time – and is definitely dependable on people who do it later on.
Typically hand-written tests are provided by developers or programming-capable QA/testing team.
2. Record-and-Playback Approach
Since the dawn of time, humans have always been toolmakers. When we are faced with a problem, trivial or repeatable issue, we tend to seek out a tool that helps us overcome that pesky dilemma. If you think about it, many of the issues we face in software development aren’t very different – and we like the fact that we create tools for humans to solve problems and make automated testing easier (and trivial).
Recording your interaction with the device (or emulator) and then running the recording again on the device is a well-accepted approach to automate your testing effort with mobile apps. This approach offers a fast way to record 100% accurate tests that are easy to be generated as a test script. Comparing Record-and-Playback approach to human work it is also less error-prone as it will be impossible for human – especially more complex than button click interaction – to do the same interaction again over and over.
The most significant difference is that handwriting that test case could easily take days, even weeks. But with a record-and-playback approach, the very same functionality gets recorded, tested and played back in minutes and can be even run on hundreds of devices simultaneously.
Record-and-Playback approach is usable by anyone in your organization who has a development environment set up. No special skills are typically required.
3. Automatic Test Exercisers
Here at Bitbar, we’ve experienced how profoundly even automatic test exerciser can change otherwise so tedious testing eﬀort to easy, instant result-driven testing with improved workﬂow and sophisticated monitoring capabilities. This type of automatic test exercise – like Bitbar Testing’s Appcrawler – gives you an instant way to do smoke and sanity testing on your mobile app. No tests, configurations or setups are required, but just your application uploaded and results will be delivered to you in minutes.
If you are familiar with the concept of Web crawling, the Bitbar Appcrawler does pretty much the same thing for a mobile application that Web crawling does for World Wide Web. In a nutshell, the App Crawler is an intelligent application crawler that executes application systematically by traversing through each of the views in the Android view hierarchy, taking screenshots, and recording performance data as the crawler progresses through each view.
Happy (automated) Testing!