Showing posts with label Mobile Testing. Show all posts
Showing posts with label Mobile Testing. Show all posts

Mobile Testing Tours

There are a few different ways of doing exploratory testing:


  1. test the application using end-to-end scripted user scenarios and do exploratory testing along the way; the exploratory testing adds variation to the end-to-end scenarios
  2. do exploratory testing on the application components
  3. use testing tours
These 3 different approaches are not excluding each other and offer different perspectives to the tester.

For the testing tours, the focus is not so much on the structure of the application but on the intention of the tester. 

The tester will choose a mix of application features and then combine them in a way that matches his testing intention.

The following tours are applicable for testing mobile applications:

Gesture tour


  • On every screen of the application and every object, try each of the possible gestures
        1. Double Tap
        2. Tap
        3. Press
        4. Press and Drag
        5. Swipe
        6. Flick
        7. Shake
        8. Rotate
        9. Pinch
        10. Spread

Orientation tour


  • Work through each screen in portrait, then turn the device on its side and try to repeat in landscape mode. 
  • Change orientation on each screen. Try in portrait, rotate, try in landscape, then rotate back to portrait, move to the next screen.

Change Your Mind tour


  • Go Back a Screen - use the app back functionality or the back button of the device (if any)
  • Get Me Out - try to go to the beginning of the app in the middle of a user flow
  • Cancel! - Try to cancel the current user flow
  • Close The App and Re-open
  • Force App to Background, Reopen - After being re-opened, the app should be in the same state as before being put in the background

Accessories tour


  • Connect physical accessories while using the app (headphones, connect device to pc, keyboard, use a stylus, etc)
  • Use wireless accessories while using the app

Motion tour
  • Move the arm holding the device in different ways during testing the app

Light tour
  • Use the app with different light conditions, both inside and outside

Location tour


  • Use the app while moving around
  • Use the app close to tall buildings
  • Use the app in different weather conditions
  • Use the app inside different building types

Connectivity tour
  • Use the app with different types of connections;  move from one type of connection to another:
    • Strong wifi (3 or 4 bars) to weaker (1 bar)
    • Move from Wifi to a cellular network
    • Move from a cellular network to wifi
    • From one wifi source to another
    • From connected to no connection (moving into a dead spot)
    • Move from a dead spot to a wireless network connection

Weather tour
  • Try the application outside, in different weather conditions.

Comparison tour
  • Compare the app between 2 different devices with the same operating system
  • Compare the app between devices with different operating systems

Sound tour


Combination tour
  • Cause multiple technologies to work together on the device:
    • Move the device while interacting with the application using gestures or inputting text, causing touch screen sensors, gesture interpretation and movement sensors to work together.
    • Repeat the above, such as gestures or text inputs or web requests while moving between network connection types.
    • Use the device while doing something else (watching TV, walking)

Consistency tour
  • Check if all screens and app features are consistent with the recommended design practices for that particular OS

User tour
  • Use the app from the perspective of different types of users

Lounge tour
  • Try the application while lying down on a couch, or a comfortable chair.
  • Use the application while lying in bed.

Low battery tour
  • Use the app when the battery is low
  • Use the app while the battery is being charged

Temperature tour
  • Use the app both in high temperature and low temperature

Multi Screen tour


Pressed For Resources tour
  • Use the app when the device doesnt have sufficient resources:
    • weak wifi
    • bad wifi
    • low battery
    • with lots of apps in the background
    • low space on the storage card
    • when the cpu is high

Emotions tour


I am in a rush tour
  • Use the app as fast as possible; 
  • Complete user flows as quickly as you can

Slow As A Snail tour
  • Use the app at a very slow pace; take a few seconds breaks between actions; let the device lock, then unlock it and continue; dont use the device for a few minutes and then continue





More details for these tours can be found in TAP INTO MOBILE TESTING book of Jonathan Kohl that inspired this post.

Test idea generation for mobile apps

I received yesterday a reminder by email from the Agile Vancouver group about this year's conference.

They have my email address from the 2011 conference when I attended two tutorials on agile test automation.

So, I checked this year's agenda to see what's going on and noticed a 1 day hands-on training given by Jonathan Kohl.

The name sounded very familiar but could not say from where.

My suspicion was that he had articles published in the Better Software magazine but again, I was not sure.

The next thing was checking a bit of background on Jonathan Kohl to find out more on his mobile apps testing experience.

His website has a section with his publications which showed that I was right, he did publish a lot on Better Software.

One of the articles had an interesting title: Test Mobile Applications with I Sliced Up Fun.

The article is about all different ways of testing any mobile app and with details on how to explore them.

It covers everything important as follows:

I: Inputs into the device

S: Store (requirements for submitting the app to the mobile app store; this is mostly important for IOS apps where there are guides that the IOS developers should follow)

L: Location (test at home using wifi, test at home using 3g, test in a bus using 3g, etc)

I: Interactions/Interruptions(calendar reminders, using the contact list, switching to a different app and resuming, etc)

C: Communication (receiving sms, receiving a phone call)

E: Ergonomics

D: Data

U: Usability

P: Platform (test it for different versions of the operating system - not very practical in many cases but possible)

F: Function

U: User Scenarios

N: Network (test the app only with 3g, only with wifi, switch from 3g to wifi during testing, only with bad quality of the 3g signal, etc)

I have not learned much from it but .... I really wished I read the article a year before!!!

My last year included so much mobile apps testing that could have benefited immensely from the article's info.

What I am trying to say is that I learnt about testing mobile apps the hard way.

It was still a lot of fun but not easy.

Maybe after you will read this article, your learning will be much faster than mine.

Alex