Wednesday, November 14, 2007

Seek First to Understand, Then to Exploit

The Seven Habits of Highly Effective Testers
Part 5 of 7


This is the fifth post in a series which is based ever-so loosely on Stephen R. Covey's book but focused on what you can do to be more effective as a software tester.

Customers don't have inside knowledge of how an app is designed, architected, or coded. That is why I've always been a big fan of black-box testing - it best approaches the way a customer will use the app. Still, there is something to be said for glass-box testing as well. Looking inside the box can give you insight into where the good bugs are.

Sitting in on developer meetings is one good way to gain some understanding about how the code is built. When there is disagreement about how something should be designed or coded, that means that the features being discussed will likely be target rich environments once they are ready for test. The more heated the argument about a feature, the more you should plan to test it. As an added bonus - after an hour in a developer meeting, you'll be even more glad that you are not a developer.

Unit test tools can also provide you some insight. If your developers are running these tools themselves, ask if you can take a look at the reports and logs. If they are not running any unit tests (which is another issue), look into running these tools yourself. Even if you don't totally understand the results, it is a pretty safe bet that areas with a higher density of findings will be more likely to have bugs, and therefore, more worthy of your testing time.

One other important thing you should know about the application you're testing is which developers were responsible for which parts. Like with any profession, there are good developers and not-so-good developers. By knowing what the weaker developers coded, you know where to focus your test energy. Likewise, you don't have to spend as much time testing stuff written by the more competent programmers.

By taking a little peek under the hood and getting and understanding of how the app is written, you can better exploit weak areas and find more bugs.

Previous Posts:
1 - Be Protractive
2 - Begin With the Vend in Mind

3 - Put Worst Things First
4 - Think When/When


Next Up:
6- Sinner Guise

0 comments: