Testing is essential to the success of any technology project. Despite the best technical plans and designs, problems, errors and bugs do occur. And, in the interests of all concerned, all reasonably evident problems should be uncovered and resolved long before a given deliverable is put "in production". This article explores the various "testing options" available. Read on for more.
Is Testing Worth the Effort?
Absolutely. When done right, testing is worth every minute it takes.
When it comes to projects (and particularly IT projects), deliverables testing serves an essential purpose - to make sure that tangible project results function as planned and expected. While the specifics will vary based on project and deliverable type, from a "big picture" perspective, deliverables testing serves four (4) primary goals:
- To verify that each project deliverable functions according to design.
- To verify that all identified operational requirements have been met.
- To uncover potential problems, bugs and errors that may only appear through structured testing.
- On a more strategic level, testing is used as a "proof of concept", to validate key goals, instill confidence and ensure that project objectives are being met through tangible action and verifiable testing.
Even under the best of circumstances, management is a challenge. When you learn to fast track, you’ll learn to work smarter, not harder. And that’s the value of every lesson, resource and template available at Fast Track Manage Learning. We teach you how to fast track your way to successful projects, committees and more. Learn More
What do you need to know? Types of Testing Methods and Techniques
What testing methods will be used? That's a question with many possible answers - all relating to the specifics of the project, the types of deliverables, available resources and related capabilities. But it all starts with an understanding of the available options. Considering these varying factors, deliverables-specific testing plans may in fact include one or more of the following elements:
- Automated Testing: Tests conducted with the use of software tools which complete a series of pre-defined, automated tests.
- Manual Testing: Tests conducted through manual steps and scripts (human intervention).
- Functional Testing: To validate operational functional and features specifications.
- Compatibility Testing: To validate compatibility with other existing systems.
- Integration Testing: To test individual components to determine whether they function as a unit (i.e. share data).
- Performance Testing: To validate compliance with performance requirements and specifications. In this capacity, performance testing requires load simulation to verify performance under "production-like" circumstances.
- Stress Testing: To validate the operational limits of a project deliverable according to load and capacity (i.e. how much can this system handle in terms of simultaneous users and transactions?), requiring load simulation.
- Regression Testing: To re-test a project deliverable after changes have been made to verify that problems have been solved, and to ensure that new problems have not been introduced.
- Conformance Testing: To validate whether the project deliverable conforms to documented requirements and specifications.
- Workflow Testing: To validate deliverables functionality and viability using actual end-user workflows (real-world procedures and circumstances) as a basis for testing.
- Ad-Hoc Testing: To validate deliverables functionality and viability using random, unscripted testing by end-users (i.e. to try to uncover the unexpected).
- Acceptance Testing: To verify whether the project deliverable meets pre-defined project acceptance criteria. Acceptance testing should take place only after initial testing is completed, and all technical problems and errors have been identified and resolved.
What do you need to know? Producing Testing Related Deliverables
It takes a deliverable to test a deliverable. Testing deliverables are produced as part of the "testing process". In order to achieve testing goals and objectives, and produce expected results, the following types of deliverables are generally required as part of the planning and execution effort:
- The Test Plan deliverable lays out a roadmap for the testing process, specifying overall goals, scope, test assumptions, logistics, risks, tasks and resource assignments.
- The Test Specifications deliverable details the tests to be performed according to type, purpose, expected result, inclusions, exclusions and methodologies.
- The Test Script deliverable provides a specific set of instructions to be executed for each element of the testing process. Test scripts can be automated (for use by software testing tools) or manual (to be executed by end-users or IT personnel as appropriate). In addition, test scripts should always define a clear process for recording results.
Each of these testing deliverables should be produced via standardized steps that account for needs analysis, data collection, draft production, review and input, finalization based on feedback, and formal stakeholder approval. These steps must be scheduled, with roles and responsibilities allocated so that each deliverable can be produced in a timely manner.
What do you need to know? Testing as Part of the Project Management Process
Testing needs and requirements should be considered and identified at initiating stages, as part of the project definition process and approved (to be documented as part of the Project Statement of Work). As the project work effort is planned, testing needs must be aligned to that work effort considering the deliverables to be tested, the type of testing required, costs, timing, tasks and stakeholder responsibilities. Testing extent and complexity will have a great impact on project risk, cost, scheduling and the ability to deliver a useable end result with operational confidence. The success (or failure) of all testing practices should also be evaluated as part of any post project review.
Source: Unless noted otherwise, all content is created by and for ITtoolkit.com
ITtoolkit.com staff writers have experience working for some of the largest corporations, in various positions including marketing, systems engineering, help desk support, web and application development, and IT management.
ITtoolkit.com is part of Right Track Associates, proprietors and publishers of multiple web sites including ITtoolkit.com, Fast Track Manage, HOA Board List and more. We started ITtoolkit.com in 2001 and have continued to grow our web site portfolio, Toolkit products, and related data services. To learn more, visit us at Right Track Associates.