Completing the planning of the resources in the previous phase requires now another important step. As a test manager, you need to focus next on creating testability commitment within your team. In this phase, your focus will be to promote the creation of testable software, which will support all the needs of the test effort and also the use of appropriate automation techniques or tools.
How to do it?
The first step in achieving testability commitment is to know what the needs for testability are in your project. You, as a test manager, need to examine these testability needs in order to gain a good understanding of the test implementation. These needs will be addressed in the software engineering design and process. You have to pay attention to the test automation architecture and test interface specifications to be able to understand the testing process needs and constraints.
Next, you will analyze the testability needs to assess the impact and determine priorities with the scope of identifying the most important needs for the test effort. The test manager will do this by studying the impact that these needs will have on the project if they are not met. The potential effort needed by the development team to cover each need or alternative solutions should also be considered in this step.
Having listed the testability needs and their priorities, as a test manager, you should define the testability benefits in order to prove the value of software testability to the stakeholders in terms of costs-benefits. Remember that by asking the development team to a software solution with specificities needed for testing will always add further requirements and constraints to the development effort, which always results in extra work and increased complexity for the development team. Most of the time in terms of development resources, the testability needs will compete with customer needs, requirements and the business desire of delivering faster that will usually be given more priority. This is why this step is important because as a test manager, you need to “sell” the benefits of testability to the project managers, project architects and the development team. Formulate an analysis of the benefits of each testability need you want to obtain a commitment for, by presenting research papers and articles that support the value of your testability need. As a test manager, think of the value provided to the development team. What useful information will you be able to provide to them that could not be provided without this need being met?
The following step is to promote testability needs and benefits in the right way in order to get the proper support. Each member of the team, project manager, developer, architect, customer stakeholder has a different point of view regarding the project, and it is important that you, as a test manager, are sensitive to that when you are promoting testability needs. Do not create a formal testability “campaign” if the team in informal and don’t use an informal approach in a more formal setting. In most cases, it should be enough to have a brainstorming session where every need is seen as a challenge and the whole team is encouraged to identify solutions to meet the testability needs.
The next action in the process will be to gain commitment to support and maintain testability. As a test manager, you need to be assured that the testability featured that are available today are not abandoned tomorrow. It is important that the testability needs receive the same level of attention and commitment as any other requirements.
Following these steps, it is your duty as a test manager, to take an active interest in design, implementation and completion of this work. The testability needs have to be addressed by the test manager and the test team and this is done by providing support, when needed, to the development team. You need to offer design ideas for complex testability needs and constructive feedback at the same time.
The last step in creating the testability commitment is to evaluate and verify the results. As a test manager, even if you were fully involved in the design and implementation of the testability needs, it is beneficial to verify that the work was of sufficient value. Check if the implementation is of appropriate quality and if it is complete enough to be useful to your team members (who will eventually make the most use of it). Evaluate the work against the key testability needs that were defined earlier in the process to make sure they are covered accurately and sufficiently.