Saturday, October 10, 2009

Hopper Tool - Windows Mobile Application Performance Test

Have you ever watched someone use a Smartphone and wonder how what looks like random behavior does not break a mobile app? One tool that helps Windows Mobile app developers & testers is a free tool from Microsoft that stress tests apps by simulating random user behavior...

There are multiple tools for developers for mobile app development. The Hopper is tool useful for tester as well. The tools full name is: Microsoft Hopper Test Tool for Windows Mobile.

Hopper's official description starts with these sentences:

Hopper is a software test tool that simulates random user input on mobile devices providing a sometimes meaningful mean time to failure (MTTF) number. It is designed to find bugs and is not intended to run scenario tests or do "specific user things" - it is completely random. Hopper stresses the entire device and will execute anything accessible through the UI many, many times.

Hopper is a software test tool that simulates random user input on mobile devices providing a sometimes meaningful mean time to failure (MTTF) number. It is designed to find bugs and is not intended to run scenario tests or do "specific user things" - it is completely random. Hopper stresses the entire device and will execute anything accessible through the UI many, many times. It has no knowledge of where it is at any time and has limited ability to detect poor system health. Hopper executes randomly, thus different bugs might be encountered each time the tool runs. Fixing enough bugs to impact MTTF may take many runs. Reproducing specific runs and/or finding the particular bug that caused any specific failure can prove to be difficult. While Hopper excels at finding system stability bugs quickly, it was never designed to debug or diagnose the source of any particular problem. It utilizes a "system snapshot" log (My device àTest log) at regular intervals which can help you understand fault. Determining device MTTF via stress testing and debugging is a simple process: run a stress tool until the device fails, diagnose the failure, fix the bug, and re-start the stress tool. In theory, each time a bug gets fixed, MTTF increases because the tool runs longer without a failure.

As a tester I will say hopper is best for testing complicated mobile applications which required lots of memory usage & are bound to crash. We can easily determine the crash scenario.

Below are few steps we need to do to make hopper work.

  1. Create the application folder in the device Program Files within Mobile.
  2. Comment the quit function in SourceCode so that application does not quit. Copy the application.exe inside the folder.
  3. Copy the Hopper.exe to the folder.
  4. Launch FocusApp.sln file modify the same for path in Source Code i.e. TCHAR *g_pszAppName = TEXT("\\Program Files\\CompactNav\\CompactNav.exe")Give the application path.
  5. Create a shortcut for application to be tested in the mobile start menu.
  6. Launch the Focus App on the device
  7. Launch Hopper

Hope the article is useful. Enjoy the testing. Happy testing!


Thanks

Amit Mhatre

Sogeti (MSL)