Friday, May 2, 2008

The right balance for a QA team

I've spent a year and a half working in QA, and I've spent about another year and a half in development. This gives me a unique perspective on QA teams. I recently realized that the manager of the QA team that is responsible for testing my teams software is operating under a dangerous assumption; that all QA engineers need to think like she does. What would happen if you had a QA team that all thought alike? You'd miss a bunch of bugs! There is no silver bullet for anything, and this applies to QA engineer traits.


I'm not the only one who feels this way. I ran across this idea first in the book Effective Software Testing: 50 specific Ways to Improve Your Testing by Elfriede Dustin. Item 14 deals directly with this. It states simply that QA team members need to complement each other.


Why is this the case? I think it is because humans working in groups work best when they complement each other. People are different and have different abilities. All of these abilities are beneficial in their own way. The same goes for a QA project.


Consider working on a large project with yourself. How do you know when you examined every angle? How hard would that be? Now consider working on a similar with someone who has a different personality than you. Might they find things that you did not initially consider? Would every angle be covered quicker? I think it would.


So, my point is, that a QA team needs to be balanced in order to achieve maximum efficiency and testing coverage. I feel different personalities complement each other, and allow QA to cover more ground. I feel the following personalities are needed on an effective QA team. However, it is possible for one person to have two hats; that would be perfectly normal.


QA veteran:

Let's face it, experience testing can be quite helpful. Veteran's understand a great deal about testing and can be a mentor to the rest of the team. Veteran's usually take a lead or guiding role on the team and are capable of testing covering a lot of tests quickly.


QA Newbie:

On the flip side of the coin, we have a Newbie. This is someone who is relatively new to testing and the product being tested. This is beneficial, as the newbie can be used to test old features and, in their testing, they may find things that others have overlooked. Newbies provide a fresh perspective and can be sculpted into one of the other types of QA engineers.


Tech Guru:

The tech Guru has a great deal of technical knowledge. A Tech Guru would be comfortable talking with IT or Development on highly technical issues. The Tech Guru is responsible for gray-box testing and thus would have a great understanding of how the product works under the hood. The Tech Guru, in addition to Development can identify areas of testing that are necessary or unnecessary.


Subject Matter Expert:

A subject matter expert is someone who may have (or did) use the product in a previous job. They understand the end user, because at some point, they either were the end user, potentially the end user, or worked very closely with the end user.


User Interface Expert:

The User Interface Expert knows how to tests user interfaces. Nearly every product that a QA team will test will have a User Interface. Since the user interface is the product to the client, ensuring that the UI meets usability standards that have been set out and is very familiar with different UIs.



Now, there are other types, but I feel that this list represents the most important QA personalities. In addition to these, you could have a Database Expert, Automated Tester, or a Performance Tester. However, I think these are simply different forms of a Tech Guru, since technical tools are required for these tasks.


I hope you agree with me that diversity should be encouraged, not stifled. Our diversity can be a great strength. While I'm applying this to a very specific target of a QA team, this principle applies to humanity as a whole. Our diversity makes us different, but working together, using our strengths appropriately allows us to move forward faster.