• 4 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 2/7/20

Create a test plan

When it comes to writing a test suite that helps prevent bugs and improve the stability of your software, a good test plan can make all the difference.

Testing is a complex field. In fact, you can devote an entire career to testing alone! But you can start benefiting right away by applying even a basic understanding. For the purposes of this chapter, we’ll get an overview of test plans and how you can utilize them to improve your applications.

What is a test plan?

A test plan is a document that describes a high-level plan for testing. It serves as the foundation for any formal testing plan in an organization. They are typically created in teams that have Quality Assurance (QA) engineers whose entire job is to help ensure that the application has a robust testing strategy and suite in order to minimize downtime and bugs.

Why create a test plan?

When building software, it’s important to gather all of the requirements and create a plan before a single line of code is written. Otherwise, a lot of time and energy is likely to get wasted. A test plan helps to ensure that the team spends the time and energy in the right place.

Writing a test plan

The best part about a test plan is that no code is required! The keys to writing a good test plan are understanding the requirements for an application and communicating them in a clear outline.

The major sections to consider for a standard test plan are:

  • Introduction

  • Features to Test

  • Features to Not Test

Let’s go over each one!

Introduction

This section is meant to provide a simple introductory paragraph to the test plan. It introduces the project and the product that is being tested. In addition, it is useful to list out any assumptions that are being made in this test plan to ensure everyone is on the same page.

Features to Test

This section covers which features you believe are critical or feasible to test. In addition to listing out the features, it is also useful to consider potential approaches for how these features might be tested.

Features to Not Test

While this may seem counterintuitive at first, it is not always valuable or realistic to test every single feature. After all, features do not carry the same level of importance. As a result, whether it’s because of time constraints, limited resources, or some other restriction, it is important to document these features to provide a comprehensive overview of the test plan for the application.

Sample Test Plan

Let’s walk through a sample test plan for a simple To-Do application.

The product requirements for the To-Do app are as follows:

  • A user can add a new item to the list.

  • A user can mark an item as complete in a list.

  • A user can delete an item from the list.

Introduction

This plan describes the testing approach that will serve as the fundamental strategy for our To-Do app. The purpose of the app is to provide the user with a single list of items that they can manage with simple actions. It will be built only for web use.

Features to Test

  1. A user can add a new item to the list

    • Frontend: 

      • User can click on call to action to add new item

      • New item appears in list after adding new item

    • Backend: 

      • Calling API endpoint adds item to database that persists between sessions and return correct JSON data

  2. A user can mark an item as complete in a list

    • Frontend: 

      • User can click on call to action to mark an item as complete

      • Item has different visual styles applied to it when marked as complete

    • Backend: 

      • Verify that API endpoint updates the status of the item between sessions and returns correct JSON data

  3. A user can delete an item from a list

    • Frontend: 

      • User can click on call to action to delete item

      • Existing item is removed from the page after deleting item

    • Backend:

      • Verify API endpoint removes existing item from database

Features Not to Test

While most ToDo apps have the following functionality, there is currently a lack of time and resources to build these features.

  1. A user can undo an action

  2. A user can create multiple lists

  3. A user can duplicate an item

  4. A user can add a due date

Next Steps

Congratulations! You now have a basic understanding of how to write a test plan and can create simple ones for your projects going forward.

If this is something that you find enjoyable and would like to learn more, I encourage you to seek out additional resources on this since the field of Quality Assurance (QA) is quite sought after for those with coding abilities.

While full test plans contain many more sections and can be far more robust than what we have introduced here, the main advantage you gain by creating a simple test plan is to prioritize and recognize the scope of your app. By doing this, you will ensure that you spend your time and energy in the right places.

Example of certificate of achievement
Example of certificate of achievement