The Testing Team
Putting together a top work team, whatever the profession, is definitely not a simple task. Everything depends on its members – the people. The same goes for creating a testing team. Therefore it’s a good idea to plan a bit ahead - putting down goals the team should meet, what skills should they include and afterwards, ideally, hire the right people (who have the best educational and personall skills) for the job.
The waterfall model for development
In many software companies it‘s pretty customary to use the traditional - waterfall model of project management. Analysis - Design - Implementation - Testing. This model adapts even to the testing team. Usually it is a separate department whose primary objective is to verify the overall readiness of the product being developed to deploying into full operation. Often, the testing gets to happen during the phase of system tests.
The skills in the testing team
When testing web applications, we can identify the following skills:
- coordinates the testing team
- assigns the individual responsibilites
- is responsible for the planning, implementation and reporting during testing
Test Analyst, Designer
- creates testing plans
- defines testing procedures
- decides on the appropriate selection of testing tools
- determines the testing enviroment and testing data
- prepares specified automated and manual tests
- performes various tests
- records the results
- clearly describes the errors
In the case of smaller groups, these don’t need to involve all the skills, or as the case may be, some of them maybe merged into one.
The testing team is closely related to further project roles, and those are:
- project manager, who initiates the tests and works together with the test manager and with the client on defining the acceptance tests
- developer, who addresses and removes defects and cooperates with the tester on analyzing them
Introducing the agile team
The agile project management methodology provides an interesting viewpoint of the testing team. In agile management, a great emphasis is given on a close collaboration with the client. The development is divided into serveral short iterations, each consists of these steps: Analysis - Design - Implementation – Testing. Thus testing is closely linked to the actual development.
Dedicated skills are minimalized when it comes to agile testing teams. Anyone performs the tests who is able to – testers, developers. Particular agile teams don’t even have members who are directly called "testers", despite the fact that they need someone who verifies the safety, performance and confirms the functionality... Though, as a whole, they are able to perform all the tasks related to testing. Doing so, however, results in less emphasis on static testing methods – no one checks the quality of the program code and the size of documentations is reduced which can become a disadvantage for large-scale projects with bigger timeframes.
To integrate testing into the development process, and to the members of the testing team, is a practical step. Errors are eliminated right from the start, therefore they don’t initiate new ones, and during development it’s possible to create elementary automated tests that help simply verify the quality after adding modules, therefore speeding up the testing phase.
But even a top-notch independent testing team that concentrates all its potential on testing can therefore specialize in different types of tests and testing techniques and being beneficial. And let’s not forget about the fact that the author rarely sees faults in his work, whether it being a painter, musician, film producer or even a programmer.
A satisfactory compromise is hidden in good communication between the project manager, the developers and the testing team. Without it, none of the above methods would work.
In our article What makes a good tester we’ll be talking about what professional experience or personality traits are characteristic for testers.