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.
Learn to Fast Track
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. And you can start learning for free! 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.
CHECK OUT THE FAST TRACK PROJECT TOOLKIT.
If you're looking for a fast, easy way to achieve project planning success, you'll find it inside the Fast Track Project Toolkit. This unique, informative online course gives you everything you need to become a project leader and fast tracking expert. Here's what you'll learn:
How to plan and govern projects using strategic project fast tracking.
How to use strategic project fast tracking to save time and make the most of available resources.
How to use strategic fast tracking to overcome project constraints and limitations.
How to use strategic fast tracking to negotiate with stakeholders and build shared expectations.
How to use strategic fast tracking to become a more productive project manager and team member.
Source: Unless noted otherwise, all content is created by and/or 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.