Before programmers start their work the testers begin planning tests. It is important that we do so at this stage to be able to detect flaws in requirements and analysis. The testers are experts in their field of business, and this gives them a different view of the changes being developed. Programmers are more knowledgeable of the product at the point of view of structure and architecture.
Today I can begin to review the requirements, analyze in detail what will be doing and draw a test plan. For each requirement I will create one or more test cases. The tests that I run are not limited to written test cases, go beyond that. In fact, test cases guide us in testing, they are a starting point. Some of the test cases I write will be used by programmers to perform unit tests.
Another important aspect is automating tests. I will have to choose what to automate. The selection depends on the complexity, how critical is the functionality and ability to be automated. I know that everything can be automated but cost varies and it is an important criterion that weighs on the decision to automate.
In the next few hours I will come to me with some doubts that I will have to clarify with the Product Manager. Depending on complexity of the Change Set, some meetings are organized in order to clarify doubts about the new functionality. Testers, Developers, Technical Documenters and the Product Manager, all attend to these meetings. Anyway, the communication between the various people involved in the process is continuous.
Any defects found are recorded on a tool developed internally. Everyone access this tool and every defect can be monitored. It is possible to know at any moment in what state a defect is, who will fix it, who will test it, the expected date of resolution, etc. The whole story is transparent to everyone. This way each one has the responsibility for monitoring the corrective tasks to which is responsible.
During testing phase requirements changes may occur. For example, a defect can lead to a change of requirements. These changes can be treated in time, when they are simple, or when they imply significant changes, lead to other Change Sets.
This is the begining of testing phase.