The most effective testing programs start at the beginning of a project, long before any program code has been written. After the requirements documentation is verified, testing that is done in the later stages of the project can concentrate on ensuring the quality of the code. The author discusses a few strategies that might help you formulate effective test case creations and execution assignments.
The most effective testing programs start at the beginning of a project, long before any program code has been written. The requirements documentation is verified first; then, in the later stages of the project, testing can concentrate on ensuring the quality of the code. The real worth of testing, as many say, is derived when test cases are written, executed, and defects logged. There are numerous techniques on writing effective test cases. However, just as significant as writing effective test cases, is who writes and executes them.
Let us consider the following scenario:
You are a test manager of a distributed test team. Both the test and development team consist of onsite and offshore members. The team follows an iterative cycle of product development. Your product development schedule is divided into phases and approximately twenty application functionalities are supposed to be developed and tested in each phase.
You need to assign the use cases (or applicable documentation) to test team members for test case creation. Once the test cases are ready, you need to decide on the most efficient test execution strategy.
This article discusses few strategies which might help in formulating an effective test case creation and execution assignments.
Test Case Creation: Assignment Strategy
There are many different factors to consider when assigning use cases to specific team members for test case creation. They might be distributed randomly or the assignments might be done according to some specific policy, as needed.
Following are some the questions which one could consider when deciding an assignment strategy for test case creation:
a) Which use cases require significant interaction with business analysts, architects and other team members?
Assignments should consider ease of communication with the team members. This saves time and facilitates quick problem resolution in case of issues or concerns. If some use cases require frequent communication with the off-shore analyst and development teams, they should be assigned to the offshore test team members. If frequent interaction is required with onsite team members, assigning them to onsite test team members might be a good idea. This assumes greater importance for organizations with distributed team structure. In case of questions or issues, a significant amount of time might be wasted waiting for a response because of time difference between two locations and other such factors.
b) Is any use case an extension of the existing use case?
If yes, then it might be a better idea to assign it to the same team member who worked on the related use case in earlier iteration. He might be best suited to understand the dependencies and updates to the use case with respect to the earlier iteration.
c) How will the use case assignment enhance team members’ knowledge of different functionalities of the application?
Use cases should be well distributed throughout the team with the aim of making team members aware of various application functionalities. They should not be assigned such that a team member is just aware of one module of application with limited knowledge about the others.
Test Case Execution: Assignment Strategy
Like test case creation, there are many different factors to consider while making test case execution assignments. They might be distributed randomly or the assignments might be done according to some specific policy.
Test execution strategy, typically, involves one of the following:
a) Let the authors of the test cases execute the scripts written by them.
b) Distribute the test cases among various team members so that the authors of the test cases are not assigned to execute the scripts written by them . For example: If John wrote test