How to record your Android tests with Robotium Recorder

A couple of weeks ago, I wrote a post about the release of Robotium Recorder.
Today I want to show you, how to install and how to use the tool to record your Android tests. This tutorial based on the example Notepad app provided by the Robotium project, the source code can be found here.

Prerequisites & Installation

Before you start with recording, you have to install the Java JDK and the Android SDK. Be sure you have the latest version of the Android SDK installed or updated. If your development environment is up to date, you can import the sample app, provided by the Robotium project. Please follow the instructions in the sample, on how to insert the existing project to eclipse.

If Java, the Android SDK and the sample project is downloaded and installed, start Eclipse and open the Install New Software section in the Help menu (Help → Install New Software). In the input field “Work with” enter: http://recorder.robotium.com/updates and Press the Add… button and enter a name for the installation.

1_install_robotium_via_help

Read more

How to test energy consumption on Android devices

Last week I attended the Eclipse Testing Day 2013 in Darmstadt/ Germany. The main topic of the conference was Mobile Testing. One of the best talks was “Energy testing and optimization of mobile applications” by Claas Wilke. Claas talked about the energy consumption of apps and that this topic is not considered by all developers during the development and testing phase. To prevent apps to consume to much battery, Claas developed a tool called JouleUnit. JouleUnit is an energy profiler, that can be used for Android apps, to find unnecessary battery usage of the app during runtime. JouleUnit is using the Android instrumentation framework to test the app. Beside profiling the battery usage you can also monitor the device CPU, WiFi or the display brightness. JouleUnit tests have the same structure like JUnit tests. At the end of the test run a nice graph is generated to see the battery consumption of the app.

JouleUnit Graph

Read more

How to improve your mobile testing skills

In the last couple of months I was asked by several people how I improve my mobile testing skills. The mobile world is changing quite fast and you have to keep the pace, if you want to be a good and up to date mobile tester.

I recommended to read lots of QA related blogs, read QA books, follow the right people on twitter, try new mobile testing tools at home or at work (if you have the time) to get a broader knowledge in the mobile area. Another thing I recommended was to do new things (be creative while testing), try new testing techniques or just try to break the app in a crazy way. Furthermore I recommended another way of improve the own skills. Use as many apps as possible from different categories to see how apps are developed and how they behave. Besides using them, the important thing is, check the update texts of the apps! Do not just install the latest version of the app, read before installing the app. Some app developers are really precise in what the new version of the app is all about. Which nasty bug was fixed, which new feature is developed and so on.
If there are bug fixes described, don’t install the new version, instead try to reproduce the bug and see how to get this bug to life!

Here are some examples of apps that descibed very well, what was fixed:

Read more

Given When Test

Today I want to write about behavior driven development (BDD) with Cucumber and Capybara. All those things are not new, but since I changed my company I had the chance to learn new frameworks and tools. Before using the tools you need to install them :). For me the installation was kind of nasty because I am working with windows again and the installation is not so easy and comfortable as for linux or mac. The following stuff needs to be installed on your machine (windows):

If the installation is done you should install the following gems with ‘gem.bat install GEMNAME

builder, bundler, bundler-unload, capybara, capybara-screenshot, capybara-webkit, childprocess, cucumber, diff-lcs, ffi, gherkin, headless, json, mime-types, mini_portile, multi_json, nokogiri, rack, rack-test, rake, rspec, rspec-core, rspec-expectations, rspec-mocks, rubygems-bundler, rubyzip, rvm, selenium-webdriver, websocket, xpath

Read more

Mobile App Update Testing

During the development process of mobile apps manual and automated testing is highly recommended. But there is another test you should do before releasing or submitting your app to a store. Testing the update procedure! Testing the update procedure from the current store version to the new release candidate is really important and it is … Read more