Testing Project Deliverables

Experienced project managers ensure that testing is present throughout their project and not just at the implementation stage. They will carefully plan that sufficient funds and resources are available so that the testing can be thorough.

This has two implications, first in making sure that the project performs the task or function asked of it and secondly that accurate and complete documentation is produced for the end user. If the project deliverable is a physical product then the testing regime will usually be quite straightforward and involve a predetermined set of measurements that are compared to the original specification.

If the deliverable is a piece of complex software then testing and the associated rework can account for up to 50% of the total project budget. This is because it can be as difficult to test a system as it is to build one, something that non-IT specialists find difficult to understand. This figure may seem to be unreasonably high but large software projects do have a history of going significantly over budget and analysis of why this happens will usually show that the management underestimated the cost of integration, testing and rework.

The complexity of software testing also has implications for the project manager in terms of who is tasked with doing it. There is a strong argument for having a dedicated test team rather than allowing software developers to test their own work. There are two reasons for this. Firstly, few people who are good at development are good at testing because the skill sets required are quite different. Secondly, when developers are under pressure to deliver more work packages, the first thing to be sacrificed is likely to be thorough testing of those they have already completed. You can prevent most software testing problems by:

1) Creating a specialist test team.
2) Designing the software for 'testability'.
3) Making testing an integral part of software development.
4) Ensuring requirement traceability to and from tests.
5) Automating as much of the testing process as possible.
6) Integrating testing with the change management processes.

As the requirements for software to work across multiple platforms increases, you should expect software testing to become even more complicated and expensive. This means that manual testing by the developers themselves is becoming less viable and the need to create specialist test teams with their own personnel, budget and dedicated software is growing.

Project Testing

Testing is all about looking at the details of how each work package performs individually and as part of the whole product. It is also important to make sure that it works as required so that the end users can perform their tasks as stated in the original project business case. A significant part of any testing activities is the data that is used to check that the anticipated outcome of any task asked of the product or service is exactly as specified.

Many organizations have over the years created a bank of 'customer or end user' data that is specifically kept for the purposes of testing. This enables the project team to test work packages at any stage of the life cycle with data specifically designed for that purpose without compromising 'real' customer data or confidentiality. At some point in the project plan 'real or live' data will have to be used in the final stage of project testing to ensure that it meets all the standards as defined in the quality management plan.

Project Testing Requires Testers and Data

It is important that each item to be verified is tested several times and by different individuals. If resources and budget allow it is often beneficial to have someone outside of those who produced actively test it because they will bring a fresh set of eyes to it and may reveal nuances that could be over looked by someone familiar with the work package. A critical aspect of testing is the writing of test cases or test sets that test the functionality of each work page in terms of the:

1) Number of ways the data is presented, including the way it can be output.
2) Boundaries/Areas where two independent systems communicate.
3) Processes that copy or transfer data.
4) Additional programs or third party providers needed to perform task.
5) Organization's most critical processes.

Project Testing Roles

Another significant benefit of well-performed testing is the ability to use the findings of this process within your communications plan to maintain the support and manage the expectation of the project sponsor and the stakeholders.

There are certain actions you can take to ensure that your testing process and procedures are effective and efficient.

Create an Independent testing team. Each member has a clearly defined role and responsibility within the testing process. Some of the typical testing roles are shown in the diagram above.

Produce regular testing reports that are included in the project test calendar. This enables stakeholders and other key personnel to be kept informed of any issues or risks that occur and provides an opportunity to show how they were or will be resolved.

Write detailed test cases and test sets to ensure that there is a seamless flow of data between the necessary third party suppliers and the organization. This may have to take into account the different time zones where the project testing is for a global organization.

Design tests that assess how well the project performs under a variety of situations and workloads e.g. can efficiency requirements still be meet at peak times and on the busiest days?

In some more complex projects it will be necessary to create 'super users', these are individuals who have a high-level of expertise in a specific area of the organizations operation and will be able to test the project from an end-to-end perspective. They perform a valuable role in any testing team because they bring knowledge of how data needs to flow and be processed within the organization. Super users will also be able to offer valuable insights into how best to meet the training needs of the end users and may advise that key trainers act as testers to help them develop practical training programs.

Projects often fail because insufficient funds or resources are not available at the time testing should be being performed. This results in the testing function of the project becoming squeezed in an attempt to bring costs and the project schedule back into line with the plans. When testing is pushed into a time allocation that is too small the end user will be given a product or service that is filled with bugs and requests re-work will be a constant drain on an organizations resources.

Reasons Why Testing Can Be Compromised

Testing is a significant part of the quality management plan and the roles and responsibilities of the team within the organization assigned this task will be defined. It will also define how to report the testing activities and how often they will be produced in accordance to the project testing schedule. The contents of each project testing report are shown in the diagram.

Project Testing Report Template

The testing report will be a vital communication tool in the project execution and monitoring phase. The test cases and sets bring the project's aim into the forefront of the testing teams mindset and they will quickly be able to assess which areas of the project plan are contentious or require closer attention.

In terms of organizations being able to learn from previous projects and avoid making similar mistakes the testing report is an excellent library of testing discussions, responsibilities, and agreements. It is also a significant tool in offering evidence and justification for change requests to the project scope.

You may also be interested in:
Managing Project Quality | Quality Management Techniques | Project Quality Management and ISO Quality Management | Quality Assurance | Quality Control | Testing Project Deliverables | Quality Audits | Post-Implementation Audits.


Key Points

  • Testing will be an ongoing activity throughout the project.
  • The time and money required should be allocated at the planning stage.
  • Testing and the associated rework can account for up to 50% of the total budget of a software project.
  • The move to mobile and multiple platforms is increasing the cost of software testing.
  • Testing results can be used within the communications plan to keep stakeholders informed of progress.
  • Test data must be as realistic as possible without breaching customer confidentiality.
  • Testing reports are important documents that can help future projects to learn from previous ones and avoid making similar mistakes.

Today's Top Picks for Our Readers:
Recommended by Recommended by NetLine

** PLEASE DESCRIBE THIS IMAGE **

Top Trending Free eBooks