This article gives an overview of testing teams, including the common issues they encounter. It also discusses changes that can be implemented to have an effective and efficient testing team.
This article gives an overview of a Testing Team. It highlights the common issues encountered in a testing team and also discusses about the changes that can be effected to have an effective and efficient testing team.
The software testing process has evolved considerably and has reached the point where it is a discipline requiring trained professionals. To succeed today, an organization must be adequately staffed with skilled software testing professionals who get proper support from management. –"Software Testing In The Real World" Edward Kit
Testing is not an entry-level job or stepping stone to other things. Many people find that when done properly, it surpasses the challenge of product development. It should be organized so it can faithfully maintain allegiance to the customer. It should not be subservient to or be positioned for easy overrule by the product development or any other organization. Testing should be independent, unbiased, and organized for the fair sharing of recognition and rewards for contributions made to product quality. –"Software Testing In The Real World–Improving the Process", by Edward Kit
These two statements very clearly portray the importance of a Testing process and an efficient team to enforce that process in any project or company. Gone are the days when the same set of people could deliver a project by wearing different hats at different points of time. Now, to be able to successfully execute a project one needs to have dedicated teams working on different aspects of the project. Most projects have Business Analysts or Project Managers involved in gathering the requirements and taking care of other tasks like resource and time management. The development team is involved in the design and coding while the Testing/QA team is involved in building up the testing resources.
Unless these happen in parallel, one cannot envisage the project completing on time and with appreciable quality.
The developers acting as testers worked fine in the days gone by. The same individual would do the coding and once he/she completed that task, would then begin the task of testing the code. This testing could neither be classified as Unit Testing or Functional Testing. The testing efforts were happening as isolated tasks. The result- Last minute surprises! Modules were not working well when integrated. Applications were crashing during the implementation phase. All this resulted in last minute recall of product, bug fixes and increased expenditure.
These scenarios and the practice of contracting work to other companies have given rise to more and more managers insisting on a dedicated Testing or Quality team whose task is to test and verify the code on a continuous basis throughout the life cycle of the project. This might not make the product defect free but at least it establishes checkpoints all through the life cycle.
Agreed that we need a testing team. But, Who does the work? What is the role of the team? When do they begin their work? How do they do their work? Answers to these simple but critical questions will ultimately determine how effective the testing team is going to be for the Project and to the Company in the long run.
To understand the role of testing as a task and to build a team which will be competent in accomplishing this, let us look at each of the questions raised above.
Who does the Testing?
This is where the majority of the damage is done. Wrong Staffing – a curse for any project manager. If a developer with the wrong set of credentials or without the required experience is chosen then one is