You want me Testing how fast?
Yesterday I hit a personal record. I needed to create an outline of Test Cases and a brief outline Test Plan for a mobile application. This was probably the most productive and rapid planning session I had run of late.
I was sitting on the train with my Windows Mobile phone and a notebook and pen; I decided to brainstorm and see what I came away with.
I had just read an amazing article titled,
referenced on the UTest blog – this confirmed some of the things I had been seeing recently. In concert with this I had just read James Whittaker’s fantastic book, “Exploratory Testing” and the week before I had given a presentation on Web Testing.
One of the ideas I had mentioned in my presentation was the idea of having a reference chart or a matrix of reusable tests. As you analyze the requirements, use cases, user stories and specifications you can then apply these tests as relevant, simply inserting the reference to the component / feature you are testing. I have included a sample from this chart below:
Here the tests referred to are for any data entry field a tester may encounter and the types of field versus the possible inputs that could be used to test it.
Sitting on the train I opened my notebook and began writing. My planning style is to work with a series of Questions and Answers at first: –
What does the application do?
What platform(s) does it run on?
What problem does the application solve for the customer?
What is / are the known legitimate workflows, use cases and user stories?
From here I wrote a brief technical outline of what I knew of the mechanics of the app: that it ran opposite a Cloud service, that there was a Database in the Cloud, that user information was not stored in the Database et cetera.
I made a chart of test types to include: Functional Testing, Regression, Install/ Uninstall, Configuration, Performance (QoS, Stress, Scalability), UX, GUI and so on and then I began to write test cases under each test type on the page.
In the margin I wrote notes as they occurred to me: e.g. what automated testing tools would work on IPhone / Android / Windows Phone 7? How was I going to test the large volume of data saved into the Cloud database?
By the time the conductor on the train called my stop 20 minutes had passed and I had about one test case for each minute and using my Reusable Tests chart I had a variety of permutations to apply to each as relevant.
If I had been working directly on a computer it may have taken a little longer but I would have probably produced the same volume of tests.
Obviously the next big challenge was to move from planning to executing these tests in an equally rapid and efficient manner allowing me to report the bugs I found.
But that’s a challenge for another day.