Creating a good test plan

Steps to consider when creating a test plan

It is important that the analyst responsible for creating the test plan obtains the following
information from the project:

  •  Business objectives to be met by the software
  •  Project schedule
  • Development methodology

Let´s see how to use each of these elements in the construction of the plan.

Having clear business objectives allows us to create an organized plan that brings value to the project and to the teams and that is results oriented. Each test performed must be aligned to one or more business objectives.

Knowing the project dates is important to plan when you will be able to perform the different types of tests. For example, at the beginning of the project, it is important to focus the testing effort on the requirements, validating that they are clear and understandable,
and that tests can be designed to check compliance.

In subsequent phases, the focus should shift to functional and UX testing, while non- functional testing, such as performance testing, begins to be planned. It is important to coordinate with development as the critical components of the system architecture are implemented to measure their response to load as soon as possible.

Knowing the methodology to be used by the development team is important to align the test instances with the milestones of the development project. In projects using agile methodologies, the main focus will be on developing tests that validate the user stories approved for the sprint; however, it should also be taken into account that other types of tests that add value can be considered, such as when to apply performance tests to validate that the system architecture responds correctly, or security tests to validate that no vulnerabilities are introduced both at the application level and in the infrastructure that supports it.

Elaboration of the test plan

1. Planning oriented to business goals

Define scope

In this phase, it is important to design a planning adapted to the needs of the project, without losing sight of the business objectives. You must check that you have not left any objectives out of the scope, all of them must be covered.

Determine the strategy

Each test plan must define what types of tests will be implemented to comply with the established scope. Standards and methodologies are established at the organization level and each plan must reflect which ones will be used to carry out the tests according to the needs of each project.

Determine types and levels of tests

To validate each business objective we can use different types of tests:

Taking into account the development methodology and the iterations or phases designed, you should plan the tests to be performed in each iteration. In agile methodologies, this planning will be adjusted at the beginning of each sprint, however, it is good to establish in a macro way the resources that will be necessary to implement the tests, both in terms of people, equipment and devices.

As the project progresses, testing tasks increase in load, so you should plan how to cover regression testing needs without increasing resources. Two main techniques to achieve this are prioritization based on business objectives and the critical path of the application and test AUTOMATION.

Based on the business objectives, you must define and plan whether this type of testing will be performed. If the application will be exposed in the cloud, you should plan performance tests to validate that the architecture responds adequately to high-demand processes.

If the information managed by the application is confidential or its abuse can have serious consequences, you should include in your planning security tests and validate that no vulnerabilities are exposed. This definition is recommended to be taken at the project level, both to adopt secure development practices and to perform vulnerability detection tests on an ongoing basis.

Systems usually do not live in isolation, but interact with other existing internal and external systems. Plan integration tests appropriately throughout the project to validate interfaces with other systems as soon as possible.

Validating that critical system flows work correctly, simulating the use of the application most used by users is a strategy that ensures peace of mind before deployment. Include this type of testing in each phase of the project, increasing the scope of the flows. These tests are excellent candidates to be automated, which will ensure greater execution capacity.

Identify tools

Each project must define with which tools it will support: project management, test definition, reporting of detected anomalies and their follow-up, and test automation. The identification of these tools can range from the most basic, such as defining a shared place to store documents and the formats in which the plan, cases and results will be recorded, to the selection of platforms such as MS Azure DevOps or JIRA for project management.

In cases of automation tools, it is important to select those such as STELA – Automation Made Simple ® that are intended for testing teams and that are not tools exclusively for developers. In all cases, it is important to socialize about the solutions and plan the implementation times with the teams, so that everyone involved knows the tools that will be used in the project.

2. Detail test cases

Planning for change

We all know that projects are dynamic. Priorities change, activities are delayed, contingencies arise and new requirements are added.

Proper planning will allow us to make changes in a preventive way and not in a reactive way, so you can be in control when the pressure increases and time is scarce.

Once the test cases and test suite are defined, as well as the times that these can take depending on the test method, i.e. if they are manual or automated, we recommend adjusting our plan to the changing reality, for this take into account the following steps:

By prioritizing activities by objective and level of importance, you will be able to adjust your planning in cases where your schedule is reduced or budgets are cut. Your plan needs to be the tool that allows you to answer these questions:

  • What happens if development is delayed with test deliveries?
  • What happens if the production start-up date is postponed?

Projects have many members and software is not always produced in the same way. There are changing teams, more complex requirements or new technologies that the team is not familiar with. Taking these aspects into account and reinforcing the testing of these special requirements is a success factor.

3. Adjustment to the test plan

Once the test plan has been executed, proceed with the adjustment and replanning activities if necessary. This activity is essential in order to optimize both the plan and the resources for the following stages and thus achieve the expected results. To this end, we propose:

Actively monitor the development project, adjusting the planning accordingly.

In agile projects, active monitoring is done in sprint planning meetings, but in other types of projects it is necessary for the QA analyst to be aware of development progress and setbacks and to maintain close communication with development managers in order to adjust test planning and act proactively.

Adjust based on results.

Data drives. Adjust planning to reinforce testing of targets with higher failure rates and free up resources for those with lower failure rates.

Do you want to meet us?
Write to us, let's add quality to your projects

    © 2024 Software Testing Bureau. All rights reserved

    © 2024 Software Testing Bureau. All rights reserved