ADB Idea

If you are working as mobile tester in an Android team or you are an Android developer you know the pain of installing apk files to your test devices and you should have a look at ADB idea, which may solve your pain. Next to installing or uninstalling apk files from test devices, it is somethings necessary to kill your app, start it or even to clear the app data in order to have a fresh version of it. Usually you are using the known adb commands for that and execute them in the console or you open the device settings to clear the app data. However, this is time consuming if you are doing this several times a day.

If you are using Android Studio or Intellij IDEA you can use a very nice plugin called ADB idea to speed up your testing and development time. ADB idea is written by Philippe Breault and can be installed via the IDE plugin section, e.g. Preferences/ Settings -> Plugins -> Browse Repositories or you can download it manually from the JetBrains plugin page and install it via Preferences/ Settings -> Plugins -> Install Plugin from disk.

Read more

[Reblog] Android Smartphone Test Farm

This post is a reblog from the XING developer blog. In the last week we had our quarterly HackWeek at XING. During the week I was working with some colleagues on a project to setup a Android Smartphone Test Farm based on openstf.io.

Excerpt from the original version:

Mobile is becoming increasingly important for companies that build web applications, and that also includes XING. Over 50% of our platform traffic comes from mobile devices. This in turn leads a constant increase in the complexity and amount of testing work required on mobile devices.

Our challenge

At the beginning of 2015 XING launched a new internal initiative called “Unleashing Mobile”. The idea behind it is to upscale mobile development from a single mobile team to multiple teams within the company. The previous team setup was simply not able to keep pace with the development speed of the web platform and bring more and more features to the Android, iOS and Windows Phone mobile platforms. As things stand, we have 5 mobile feature teams developing features like profile, jobs, content or messages. Besides that, each platform has a central core team divided up into a platform and framework sub-team. The core platform team works on features that haven’t yet been passed on to the domain teams. As well as building its own app features, the core team has adopted more of a consulting role in helping to keep the whole app consistent and clean. Another key task of the central core teams is to integrate all of the code changes every two weeks to make sure that a stable app version can be released to our users.

Read more

Mobile Test Pyramid

Mobile Test Pyramid - Adventures in QA

Anyone who is involved in software testing and software test automation should know the test automation pyramid introduced by Mike Cohn (http://www.mountaingoatsoftware.com/).

This article contains excerpts from my book „Hands-On Mobile App Testing“ published with Pearson Education.

As you can see in the following image, the typical pyramid consists of three layers. At the bottom, there is the automated unit-testing layer, in the middle the automated integration testing layer and at the top there is the automated end-to-end testing layer (including the user interface tests). Each layer has a different size, indicating the number of tests that should be written within each stage. Manual testing is not part of the test pyramid, hence it is shown as a cloud for additional testing work.

Test Pyramid - Adventures in QA

But this pyramid is not applicable to mobile apps and mobile test automation. Mobile testing requires a totally different set of testing activities like movement, sensors, different devices and networks compared to other software like desktop or web applications. Lots of manual testing is required to be sure that a mobile app is working as expected in the different usage scenarios.

Read more

Android M Testing with Doze and App Standby

Adventures in QA - Android M Testing with Doze and App Standby

You probably all know that Google has started with the rollout of Android M (Marshmallow). Android app developers and testers must know the new features that are coming with the latest version of Android M. Next to the brand new permission system, Android M also introduces Doze and App standby to save battery.

If a user leaves a device unplugged and stationary for a period of time, with the screen off, the device enters Doze mode. In Doze mode, the system attempts to conserve battery by restricting apps’ access to network and CPU-intensive services. It also prevents apps from accessing the network and defers their jobs, syncs, and standard alarms.
Periodically, the system exits Doze for a brief time to let apps complete their deferred activities. During this maintenance window, the system runs all pending syncs, jobs, and alarms, and lets apps access the network. (Source: Google documentation)

In order to be sure that your app is able to handle Doze and app Standby, Google provided some documentation on that. Here are the steps to make sure your app handles Doze (instructions copied from the documentation):

Testing your app with Doze

You can test Doze mode by following these steps:

Read more

Mobile App Europe Summary and Slides

I am just back in Hamburg from the Mobile App Europe Conference and I am still excited about it. I had 2 great days in Potsdam meeting several mobile experts from all over the world to exchange on the latest mobile topics. I had the chance to talk to Dan Cuellar, the creator of Appium which was really great. I talked to people from booking.com, Groupon and other cool companies out there.

Another great thing was that I met Stephen Janaway and Richard Bradshaw again. We had some nice talks and at the end of the first day we were recording another episode of Testing in the Pub together with Denys Zelenchuck, Sergej Mudruk and André Gorzel.

Adventures in QA - Recording Testing in the Pub

Read more