Software Testing Basics: How to Plan a Test

by René Ceelen, on July 16, 2020


Summary: This article is a guide that highlights the significance of a comprehensive test plan and details various steps involved, such as creating well-designed test cases, setting up milestones, organizing test runs, tracking results, and managing issues.

You have been asked to manage the development of a complex software product. What do you do?

One of the most important components of software testing basics is to create a test plan. Testing is a vital part of the software development lifecycle that determines the quality of your deliverables. A test plan directs your testing approach, details the testing practices you intend to follow, and defines the responsibilities of team members.

Consider including the following steps in your test plan: 

  • Design thoughtful test cases (including risks and requirements)
  • Establish robust milestones
  • Set up test runs within milestones
  • Use clear names for your milestones and test runs
  • Ensure you can rerun a test run and clone a milestone
  • Track test results, and implement effective issue management

Let's break down those steps in more detail.

Test Cases

What are test cases, and why are they so important? A test case is a collection of test instructions to test whether a certain requirement has passed or failed.

Test cases are part of a software testing basics approach. Test cases outline the input data values, the actions to be taken, and the expected results. They are useful in identifying defects and measuring whether client expectations are fulfilled.

Test case designs should be well-thought-out. The essential elements of a test case are straightforward. A test case should include a test case name, preconditions, data, attachments, test steps or instructions, and expected results. You should ensure that the failed test cases can be reproduced easily and that test cases are reusable.

Here are 12 tips for designing effective test cases: 

  • Think about what main subjects you want to test 
  • Apply CRUD (create, read, update, delete) 
  • Give test cases a unique and recognizable name 
  • Design only one subject per test case with one expected outcome 
  • Communicate with sentences in test cases and test steps 
  • Ensure that all steps can be tested by one tester 
  • Ensure the level of detail matches the tester's knowledge of testing and time available 
  • Make test cases reusable 
  • Consider which scenarios need to be tested 
  • Use HTML for layout 
  • Include attachments 
  • Include estimated time


A milestone is a reference point that marks a major event. For software testing basics, you should choose a robust milestone plan and be sure that milestones can be cloned.

Milestones will differ according to the nature of the project. For example, in a major implementation of a new IT system, black-box testing should be used. This tests the relationship between input and output and user behavior. The involvement of users is high, and the time frame is long term. For this type of project, milestones should be set according to the types of tests used.

Another example is an upgrade to a software release. This is usually a minor project. The involvement of users is low, and the time frame is usually short. For this type of project, milestones should be set according to the release number. The testing for this type of project should be risk-based by analyzing the release notes of the vendor and conducting a risk analysis to prioritize test case completion.

Test Runs

A test run is an integral part of a testing program. It enables you to assign test cases to one or more testers in a specific period. An approach to software testing basics should include test runs organized within your milestones. Make sure the name of the test run is specific in order to track it.

Also, you want to make sure you can rerun a test run. You should be able to duplicate a test run, including relationships to other objects, like test cases and users. All relationships should be copied as well, which will save you from having to reassign test cases or users.

You should also be able to clone milestones, including copying all test runs and relationships.

Keep in mind that a rerun is a duplication of a test run, while cloning a milestone is a duplication of all test runs, dependencies, and connected testers in a future time.

Test Results and Issue Management

Test result tracking and issue management are important parts of the software testing basics approach.

This includes logging, displaying, and summarizing test results. You should use quality metrics to track how the test effort is progressing and to measure the quality of the software produced.

Effective issue management involves quickly dealing with unexpected problems. Some typical problems that arise in software testing include missed deadlines, inadequate resources, budget constraints, lack of documentation, and poor team communication.

How a Dedicated Software Testing Tool Can Help

TestMonitor can help you with several aspects of your testing program, including the test plan. TestMonitor has an easy-to-use, yet powerful, interface built with the needs of project managers and testers in mind.

We put your team in charge with lists of all planned test runs assigned to each team member. We provide a detailed overview of the results for every test run. You can get as much detail as you require on the results for each test case.

Ready to take advantage of all that TestMonitor has to offer? Register for a free trial, and let's launch your next amazing project.

Get started with TestMonitor free trial

Download test management tool checklist

Want the latest news, tips and advice in next-level software testing? Subscribe to our blog!