Wednesday 13 May 2015

Testing Mobile Apps Vs Desktop Apps

For years, testing has been considered a second-class citizen when it comes to the pecking order of importance in any endeavor. Whether the endeavor is ecommerce related, or any other application, testing has been synonymous with other commodities. The words “I am a tester” might typically get a response along the lines of sympathy card from Hallmark. “Oh, sorry to hear that. Keep plugging away. You’ll make that leap up the hierarchy at some point.”
With today’s complexity found in all areas of software — not just ecommerce, but cloud — and just about anywhere that has software that in some way acts as the front end to some activity initiated by a user, testing has become a complex role that encompasses more than just an assembly line mentality of checking the box and moving onto the next item rolling down the assembly line.

Today’s testing is not your father’s Oldsmobile

Let’s look at the original Oldsmobile first: the desktop.

Desktop application testing

A desktop application test coverage model might have required you to test across two different browsers for the desktop. If you had 300 test cases, you might have had to build 600 tests. Ok, a lot, but not insurmountable from a time perspective. The time might look something like this:
300 test cases x 2 browsers = 600 test cases
600 test cases x 30 mins per test case = 300 hours
300 hours / 6 hours per day = 50 person days
50 person days / 5 people = 10 days of testing

Mobile application testing

So now let’s look at today’s mobile test coverage model. Those same tests today have to allow for more browser types and versions — as well as multiple operating systems with multiple flavors — across multiple device types AND multiple screen sizes and manufacturers. Now look at the test coverage model:
300 test cases x 26 devices = 7800 test cases
7800 test cases x 30 mins per test case = 3900 hrs
3900 hours / 6 hours per day = 650 person days
650 person-days / 65 people = 10 days of testing – 2 weeks
650 person-days / 5 people = 130 days of testing – 26 weeks
And I haven’t even touched on requirements/needs around different data sets, or even coverage analysis around critical path analysis that would be tied back to a test plan based on a firm set of functional requirements of which the application is supposed to satisfy from the original business objectives.