I am a normal internet user accessing Gmail, Facebook, Google Reader, Google Talk and many more public facing websites. Like me there are many more users using the same application, same features and infact pressing the same key.
This blog is to to share my views on how actual Usage pattern of application should help in optimizing the Testing activity.
In any application, there are some features which is used heavily by the users. This not only applies to software application but also to hardware devices like keyboard for example. “Enter”, “Space”, vowels key etc. So knowing in advance that which features gets more load (in terms of usage) and which will get less load will actually help us in planning the testing around that area. It will also help in prioritizing (among list of features) the testing activities. Those areas should be majorly focussed while testing and (from a tester point of view) any bug left or ignored in that area has a higher probability of getting caught in UAT phase. Usage pattern of any application also gives one clue about the possible scenarios and the data combination. It helps categorizing the features (Mostly Used Vs. Average Used Vs. Sparsely Used). This in turn will also help in prioritizing the bugs.
It not only will help in shaping the functionality testing but also will play a significant role in identifying scenarios for Performance Testing. Performance test scenarios should be based on the real usage patterns of the application, excluding the scenarios where in we do the exercise to capture the Throughput of the system and the Server Availability time. Usage Patterns will help simulating the real time usage of the application. I have blogged on how to create a real-time profile for Performance Test Scenario. Click to read more.
So from the test planning point of view, getting the data on the usage pattern of the application will help us to narrow down the testing focus rather than just immersing us into the pool of features. Data on Usage Pattern should be one of the input to the Test Planning.