Building an Effective Test Organization

Successfully Implementing Testing Into Your Organization
Member Submitted

The ultimate goal of every organization is to prevent the defects in the product and eradicate them before they take form. This is achieved by implementing good processes, rather than finding and fixing them. The testing should be reduced dramatically to "qualify a product," with less focus on finding defects and more focus on "defect prevention." This article was published in S|E|A| Software journal June 2003 and was also presented at the ASIASTAR-2002 testing conference.

Addressing the perceptions
It is very important to address incorrect perceptions about testing. Testing doesn't stop with the finding of defects. In fact, that's where the task begins. A test engineer should get involved at the beginning of the product life cycle in order to understand the product, contribute in each phase of product development, and review and prevent defects. This makes the job of a test engineer very difficult, but also interesting.

Firstly, a test engineer should have good listening, communication and conflict management skills. The test engineer should have highly developed technical skills in the product and testing domains and in software development processes. These points need to be explained to the test engineers in order to emphasise how important testing is in product development.

The following actions, with clear understanding and convictions from the management team, would help in addressing this issue:

  • Avoid inducting engineers fresh from university into the testing team.
  • Never entertain the notion that people with lesser skill sets can become testers. If you assume that test engineers of any calibre can do justice to testing, it is dangerous and detrimental to the success of the final product itself.
  • Always remember the maxim–if a person is not suitable for development, for the same or similar reasons they may not be suitable for testing.
  • There is testing in all development and there is development in all testing. Developing code is not only the responsibility of the developers. They also have to do unit testing to ensure the code is correct. Similarly, automation and test suite development are part of testing, which requires very good development skills.
  • Rotate your best development engineers into testing and make your whole engineering community understand and appreciate that testing is important.
  • Define clear roles and responsibilities. It helps to have clear and precise role definitions for these areas, such as test execution engineer, test strategy engineer and test automation engineer. This will reinforce the notion that testing doesn't mean only test execution where an engineer takes the test cases and keeps on executing them.

Getting the team together
As testing may be the last or penultimate phase of product development, it is important to realise that contribution by a few individuals in the team would not make the product successful every time. Effective teamwork is needed to share skills and work to ensure that the product releases on time. A high degree of optimisation is needed in test teams to absorb the delays in product development. This absorption has to be done without affecting the quality of the product, and that is where creativity and innovation play a major role. Creative teaming is simply pooling ideas from all individuals of the team and implementation by everyone in the team.

The following actions would help in taking the team forward together:

  • Train the team on the importance and benefits of working together as one team.
  • While you are recognising individuals for achievements, recognise the team.
  • Address issues that affect the team working together on a priority basis.
  • Provide forums for team members to share concerns, feedback and ideas.
  • Always involve the team in making critical decisions such as the schedule and release of the product. In situations where the decisions are taken by the manager or an individual, ask the team whether they have any concerns with the decision and address those issues.
  • Provide the team with goals and encourage team members to decide on their own actions to meet those goals.

A set of test engineers can’t be called a team. It is only a sub team. Finding all defects


About the author

Srinivasan Desikan's picture Srinivasan Desikan

Srinivasan Desikan is the director of quality engineering at Siebel Systems, Inc., in Bangalore, India. Srinivasan has more than seventeen years experience in test automation, test management, test processes, and in setting up test teams from scratch. Srinivasan has delivered talks on testing at several international testing conferences, and delivers lectures and tutorials regularly at several universities and companies in India. Srinivasan has co-authored the book titled "Software Testing--Effective Methods, Tools and Techniques" published by Tata McGraw-Hill, India. He is currently co-authoring "Comprehensive guide to software Testing" to be published by Pearson Education in July 2005. Some of his interesting articles can be accessed at Srinivasan holds a post-graduate degree in computer applications (MCA) from Pondicherry Engineering College and a bachelor's degree in computer science from Bharathidasan University.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!