Friday, August 21, 2009

Hopper Test

When it comes to mobile application, we seem to be most bothered about the UI and the functionality. We also find ourselves to be aware of the performance of the application. But we hardly bother about the Load and Stress part.

Majority of the applications we develop are the client applications (deployed on the mobile itself). So all we test is the functionality and the UI.

If we carefully read the instructions Microsoft has specified, there are many tests which an app has to pass to be on Marketplace. And among the list one of the tests is Hopper Test. What is Hopper Test? Why Hopper Test?

Hopper Test is randomly testing the application by clicking or tapping the different buttons and the controls of the application. Logically they may not make any sense but the sole purpose is to generate stress on the application. It just tests the stability of application under heavy and unpredictable usage. Hopper Test is helpful in detecting memory leaks and sustainment of the application. We may not bother about these tests when we are equipped with 2GB RAM and if not the fastest but an average processor. But on devices like mobile where even a WAP page loaded should not exceed certain KBs in size, we have to be smart when it comes to memory allocation or utilizing computing cycles or running a background service.

Microsoft has eased our job to conduct this kind of test by providing a Hopper tool which is bundled with Windows Mobile 6 SDK. The way Hopper tool works is to randomly tap all around the device display area simulating a user madly tapping on your application 100 of times each minute or may be more. It also enters very long randomly composed strings into your application's input fields. Together, these actions put your application through a tremendous level of stress in relatively short period of time. As the behavior of the tool is uncertain as to where it will tap, it puts stress on the areas that one would not have included under general testing.

These kinds of tools are a must for Mobile Applications and should be placed as one of the criteria for the application to be certified.

Read more about how to configure Hopper test in the next blog…

2 comments:

prakhar jain said...

In Android You wil find Monkey test. The Monkey is a command-line tool that that you can run on any emulator instance or on a device. It sends a pseudo-random stream of user events into the system, which acts as a stress test on the application software you are developing

Nishant Verma said...

Yeah exactly! In testing we will find many testing terminology though the purpose is more or less same.

Thanks,
Nishant