views:

57

answers:

2

4 major OS versions: 1.5, 1.6, 2.1 and 2.2 (I guess we can safely ignore 1.0 and 2.0 now)

3 screen densities: ldpi, mdpi, hdpi

3 screen sizes: small, normal, large

Lots of system testing scenarios.

Is there are way to optimize the testing effort for an app that has to target all Android devices? What's the minimum number of emulators that are needed to cover the most cases?

Dealing with this lately and I'm very interested to know how others are doing their Android system testing.

+1  A: 

Hey.
When optimizing testing effort, you must know that there is no magic technique, that will allow you to test less than all combinations and be 100% that it works for every combination.
Now, there are techniques that let you lower test effort in exchange for risk that in some particular combinations (you are not checking) it may not work.

Those techniques are Pairwise testing and Orthogonal Array. You may google for this, but if you want quick version go to this link http://www.developsense.com/pairwiseTesting.html and look at tables on the bottom:
Table 10: All Combinations for Three Variables of Three Levels Each - this one contains all 27 combinations.
Table 11: All-Pairs Array, Three Variables of Three Levels Each - this one contains reduced number of combinations - 9 combinations to be tested.
Just match A/B/C to OS/densities/size and for each of them R/G/B to appropriate values for given variable.

yoosiba
A: 

I am only Testing on 1.5 and 2.2 - If it works at the two extremes I expect to work in the middle. Same for screen sizes.

Chozabu
I do the same, but it feels dirty. :P
hgpc
TBH - more often than not I'm only testing on 1.5, with a random spot check on 2.2 every now and then - android seems to be rather well forward compatible! It is a little cheap, but It means I have more time to code, and climb trees :)
Chozabu