Tuesday, September 7, 2010

Joining the pieces

How many testers can do this? I didn't see a lot of them in my career.

To take an example, there are few favorite questions that i always ask while interviewing for QA position (for SE-2 levels and above). One of them goes this way...

Two QA Engineers have installed the same Java based application from the same place on a Windows XP OS. For one of them, the application crashes during start, for the other it works perfectly. How would you go about debugging this problem step by step.

Most people stop after mentioning that they will check the logs or reboot the machine. Even after giving a few minutes time, they couldn't come up with different options to eliminate possibilities. I am not even expecting composite answers but simple ones like:

1. Check the location of install, is it in the same drive or different drive?
2. Are there spaces in the install location?
3. Are the two machines on same service packs level?
4. Are there changes in the OS settings, like firewall options?
5. Is the application picking the right JRE? Check the classpath to make sure no other JRE is affecting this.
6. Check all the processes that are running. Are there any issues with CPU or memory?

There can be numerous other things that we can check depending on our application, just the simple ones, nothing complex. When the application is same and the difference is only with the machines, isn't it simple to correlate and think of machine to machine differences and join the pieces. I think this is one of the major difference between a good testing engineer and others. Every day you will see bugs like this. Debugging and providing the right information will earn you the respect and not the bug count of this type saying "Application crashes".

1 comment:

  1. Hi srinavas,
    I have been scrapping for a UI automation for one of the tools here at my company which was based on properiatery IBM exclipse software. I'm just curious how I could automate some of the UI tasks in the eclipse IDE with a mix of Terminal commands and my project mostly based on Kernel configuration with a smooth UI approach rather than traditional thousands of commands. I would appreciate your recommendations.

    ReplyDelete