Testing: Functionality vs. Experience

I spent some time last night getting caught up on my test blog reading; and this morning, I'm attending some sessions on product quality at an internal forum.

Something in the jumble of thoughts triggered a random thought I would like to share: I wonder if software testing is more than one discipline or role, and that while some testers can perform every role, many specialize in one area whether they know it or not

The Functional Tester: Many testers have fantastic careers verifying software functionality. Give them an application, and they can make sure that every function behaves exactly as it should, and handles common errors with grace. Functional testing is a great place to use automation, and the functional tester uses automation often. Unfortunately, sometimes they are part of software projects that are functionally perfect, but unusable my most users.

The Experience Tester: Many other testers have great careers without worrying directly that much about functionality. These testers are great at rapidly testing applications and finding the most critical user experience bugs quickly. These testers are extremely effective on small to medium projects, but their work doesn't usually scale well to large or complex projects.

There are probably other roles - some testers provide tremendous value early in the product cycle testing the design of the product. Others are experts in non-functional attributes like performance or security (although much of this work overlaps the functional and experience tester roles).

Great testers see the value of all types of testing, and know when to leverage different roles despite their areas of expertise. Great testing can occur with a team of good testers who span these roles, but good "functional testers" need to see the value in "experience tester" and vice versa. Good testing cannot happen with just one approach, and only bad testing will occur if you have a team that doesn't understand the value and have respect for different testing approaches.