SOLVD: How to shape a good and functional QA team? What main features have to be taken into account?
First I would look outward, at the working environment. I can't expect to create and keep a good team of testers when they are not given the time, resources, and basic respect necessary to do their jobs well. This is a key management role: to create a nurturing environment for testing to happen. Testing is a delicate process that is easy to disturb, like growing some exotic plant.
Then I look inward and foster a culture of self-criticism. We should not want respect that we don't earn. I want each tester to see himself as a craftsman. Testers who work for me learn to challenge themselves and to be challenged. This is how we get good at what we do. It's really how anyone gets very good at anything.
I also look at diversity. Test teams are stronger, I have found, when we appreciate and respect our differences, and when we each are honored for what we bring to the team, and forgiven for not bringing everything. I don't feel I need to create diversity on purpose, because it's always there in some form, but neither do I avoid hiring people whom I predict will irritate me (which is what "hiring someone different" really means). Irritation itself is not always a bad thing. It can spur creativity. But of course I think that: I have always been an irritating man.
After those considerations, I embark on systematic training. Most testers have never seriously studied their craft. So, we just have to learn on the job. I would drive that training with gusto.
To do all this I would need strong top management support. But the result would be a high morale crew of testers who could not be bullied. Our team would not only find trouble but also predict trouble. This would cause friction with developers. If there is poor leadership among the development staff, they would try anything they could to undermine the team and replace us with a docile herd of sheepish testers from Cognizant.
That's why you don't see a lot of highly effective test teams in the industry. And why Cognizant is very large.
SOLVD: Test automation, according to your opinion, is more a bug checking instrument rather than a full value software testing tool nowadays. Naturally, humans are behind the wheel. What do you think regarding the future of test automation? Solvd developed Zebrunner, a cloud-based Selenium automation hub, so we are an interested party :) I don't agree that testing can be automated. I think you are talking about automating something that is only one part of testing: user simulation. Tools to simulate user actions can be very helpful. I have no problem with them, unless people are devoting too much time to create too little value. All those little scripts too often lead to trivial and shallow testing, when all is said and done.
(BTW, instead of "manual testing" which makes it sound like brute labor, I prefer to call it interactive or experiential testing. When I use a tool to automate what a user does, I lose the interactivity and I lose the experience of the product. This can be okay, of course. Not all testing needs to be fully interactive or fully experiential.)
As a programmer, I write tools whenever I test. I am a big fan of automation that HELPS testing. But remember there are lots of ways a tool can help-- simulating a user is but one of them. My favorite kind of automation is data generation. I can write a tool to do that and then use that data to interact personally with the product.
SOLVD: Thank you very much, James!
You can follow James on
Twitter