You’ve made the investment to implement a new software or system to your organization, but before you can see the value of this investment, you’ll need to confirm that the system is ready to be utilized at project Go-Live. Developing a test strategy and test plan for your software or system is a critical step in the process of implementation.
To successfully test your system, your organization should build a high-level strategy for software testing, and understand the methods and tools required to communicate testing procedures to members of the project team.
In this post, we’ll highlight the software testing process, discuss the setup, training, and evaluation of test strategies, and highlight the roles and responsibilities of team members involved in the testing process.
The Software Testing Process
To successfully create a software testing strategy, it’s important to understand the components of testing processes. Elire recommends a series of test moves which increase in complexity and coverage over the course of the project. Functionality to be tested is organized by module and business process to capture the transactional lifecycle of data passing through the system.
As a general outline, testing should begin at the unit level with individual pieces of development being evaluated for basic functionality. Formal testing begins during Test Move 1 (TM1), also known as System Testing, wherein core functionality is reviewed by the project team and select business testers.
In Test Move 2 (TM2), also called Integration Testing, upstream and downstream inputs and outputs are evaluated for success, and additional core functionality that was not able to be developed during TM1 will be tested for the first time. Testing during TM2 will again include the project team and heavily engaged business users.
In the final phase, Test Move 3 (TM3), also called User Acceptance Testing, numerous end users will conduct end-to-end transactions, and detailed variations on transactions to both ensure the system can handle exceptional cases and ensure the users understand how to process transactions in the new environment. This will be the first introduction to the new system for many end users and is the most complex time logistically.
What is a Test Strategy in Software Testing?
Creating a strategy for software testing that includes the setup, training, and evaluation of testing success will ultimately lead to a streamlined implementation. Delegating roles and responsibilities of team members will also be an important component of your test strategy.
Test Plan and Scenario Setup:
Now that you understand the components of software testing, the next step is to effectively set up a scenario and test plan. Organizing your modules will be a key step for the setup of test plans and scenarios.
Business processes and transactions should be organized within each respective module, and information like monthly, quarterly, and yearly activities as well as “normal” processing should be indicated for each module. If you’re implementing a new system, working with a knowledgeable application owner or consultant can be a valuable way to identify new test scenarios.
Once your test plan and scenario strategy are set up, training testers will be important to ensure that the goals of tests can be achieved. Testers should be knowledgeable business users who only need minimal training. If you’re executing a User Acceptance Testing (UAT), define scenarios that the tester needs to execute and confirm that they are assigned relevant transactions with their leadership. Based on the complexity of the new feature or functionality, demos, job aids, and webinars should be made available before testing begins.
Evaluating Test Strategy to Ensure Effectiveness:
The project plan should be evaluated throughout all phases of the project. Asking questions throughout can help your team ensure key milestones for your testing strategy are being met. Questions like “Is the plan comprehensive?” can be answered by bringing in a multifunctional team to gain new perspectives and have IT departments add technical and maintenance scenarios.
“Is it risk-averse?” addresses the potential risk of the plan by prioritizing test scripts by complexity and business impact. If a test script poses a great impact to your business, test this high-risk item first.
“Is it realistic?” compares your weekly test plan to your business. Is there a month close that will occupy testers? Are there technical prerequisites or other applications that need to be engaged? Is your volume of tests per tester in line with their availability? Ensuring that the plan for testing is sustainable prevents issues that may arise, streamlining the project plan.
“Is the test successful?” To determine if the test was successful, track the resulting daily metrics of the test, like the number of tests executed and number of tests completed and failed to create a burndown report. Using these metrics can confirm whether you’re on track towards successful implementation.
Project Roles and Responsibilities:
An effective testing strategy should include defined roles and responsibilities for team members involved.
Operational Steering Committee:
An Operational Steering Committee ensures testing efforts achieve all project plan milestones. Responsibilities of this role include reviewing all testing reports and dashboards and all issue resolution activities. The operational steering committee also coordinates communication of testing efforts to the executive steering committee and ensures final sign-off on User Acceptance Testing results.
A Project Manager balances testing and development efforts to ensure completion within the project timeline. Responsibilities include managing system, integration, and UAT to ensure that the designs meet functionality and technical requirements.
A Testing Lead Role manages all testing efforts, coordinating the creation of testing assets and generates required reporting and metrics. This role is responsible for tracking and managing issue and defect resolution and ensuring test script execution by testers during each Test Move discussed above in the software testing process steps.
The Functional Resources role performs technical unit testing, executes system tests (TM1), supports TM2 and TM3, and resolves defects. Responsibilities include assisting during System, Integration, and UAT to ensure logged defects are being prioritized, assigned to developers, and are successful. This role also reviews and tracks test results and issue resolution.
The Module Lead populates testing assets, performs system and integration testing, and supports user acceptance testing. This role is responsible for test asset development, creating a schedule of test script execution, and the coordination of users during UAT.
Technical Leads perform technical unit testing, supports test moves, and defect resolution. Responsibilities include supporting the business and module lead technical questions and issues during all testing phases. This role also coordinates the fix of defects and configuration issues and reviews the detects with the Module Lead when questions arise regarding environment configuration or data issues.
Developers fix detects and configuration issues, review defects, and review and track test results and issue resolution.
Business Subject Matter Experts (SMEs):
SMEs participate in system testing and integration testing to ensure that the design meets functionality requirements and execute User Acceptance Testing. This role is likely a Change Champion, providing overall project guidance and priorities from a business perspective. They also assist with test scenario and test script development, review and proof UAT scripts, and execute tests based upon test assets.
Business End Users:
This role executes UAT, and reports defects to Module Leads.
In order to have a successful approach to testing, your strategy should accomplish two goals: ensuring the system is ready for use and ensuring end users are confident in their ability to do their jobs in the future. Elire believes that a well-organized testing strategy and approach can lead to the success of software or system implementations. To learn more about Elire’s project implementation methodology and testing, visit the Elire Methodology page or visit our Advisory Services for more information on testing resources.