ServiceNow Test Management 2.0

Advait Kshirsagar
Globant
Published in
10 min readJan 5, 2022

Introduction

ServiceNow has its roots set as a ticketing tool (in ITSM Domain). With time, ServiceNow has emerged as a cross-departmental platform facilitating all the critical functions in Enterprise Organizations.

Today, ServiceNow is not just limited to ITSM (IT Services Management) but also provides a wide range of applications like ITBM (IT Business Management), ITOM (IT Operations Management), GRC (Governance, Risk & Compliance), HRSD (Human Resource Service Delivery), CSM (Customer Service Management), ITAM (IT Asset Management), and so on. All these applications are available as a single-click plug-in getting installed on a single instance. It is a PaaS (platform-as-a-service), helping organizations with different products and allowing development and customizations of these ServiceNow products according to their requirements.

With the range of products and their customization/development, testing ServiceNow implementation has become quite crucial, and to achieve quality, Test Management plays an integral role. ServiceNow has its own product, Test Management 2.0, available within the platform.

ServiceNow Test Management 2.0 enables organizations to streamline their test management processes by effectively delivering quality software products. It provides role-based access to the QA team and other stakeholders. Unlike the other Test Management tools, it does not just link to Epics, Features, and Stories giving insights to Leads & PMs but it has gone a step higher in the hierarchy providing visibility to portfolio and program Heads/Leaders via interlinking ServiceNow PPM (Project Portfolio Management) with Test Management.

How did I get to writing this blog?

Although ServiceNow provides Test Management and is a niche technology platform, Test Management in ServiceNow is still unheard of. Very few organizations working on ServiceNow implementations take advantage of Test Management within ServiceNow. The rest are using other tools for managing their test activities and end up using two or more different systems or not using any test management at all.

Does it mean only those organizations who are working on ServiceNow implementations should use it?

The answer stands NO. Even though these organizations do not work on ServiceNow technology, they can still use Test Management in conjunction with other 2 ServiceNow applications- Agile Management and PPM (Project Portfolio Management) to gain advantage till the portfolio level which other Test Management tools are not providing currently.

This prompted me to put together a couple of use cases on Test Management 2.0 from my experience as a ServiceNow QA, explaining how it works for me and fits in my Agile/SAFe projects. I am writing this blog in a pragmatic approach allowing you all to follow the process/steps for those use cases. Hope you will enjoy reading it!

Let’s start with the Features:

  1. It provides integration with Project Portfolio Management(PPM), Agile Development 2.0, and Scaled Agile Framework (SAFe) applications within ServiceNow.
  2. Create and maintain multiple test case versions.
  3. Linking of the test to multiple test sets, test cycles, and test plans.
  4. Ability to time-box the test plan run.
  5. Test Plan can be easily divided into multiple test cycles and these test cycles can be further divided into test execution sets. Specifying the time range for the execution.
  6. Test Board gives a comprehensive view of the test plans and enables us to manage testing activities more efficiently.
  7. Test Board provides a visual representation via Gantt Chart depicting the test plan timelines.
  8. Easy assignment of the test execution by the Test Manager to the team. Also, provides a dedicated module to the Tester/QA to look for the test assigned for execution.
  9. Detailed test results and history of the test run to troubleshoot the test failures.

Activate Test Management 2.0:

Note: You need to have ServiceNow Personal Developer Instance (PDI) to install the plug-in. Follow the steps at ServiceNow Developer Website to get your PDI.

  1. Navigate to System Applications > All Available Applications > All.
  2. Find the Test Management 2.0 (com.snc.test_management.2.0) plugin.
  3. Click Install, and then in the pop-up, click Activate.

With the plug-in installation, there will be 2 roles installed that are responsible for managing the testing activities. Roles are as below,

  1. Test Manager (sn_test_management.test_manager):
  • Initiate testing process, assign testers, and monitor progress
  • Create and manage tests and test sets
  • Create test plans, test cycles, and test execution suites
  • Evaluate tests, test steps, and test sets created by Tester/QA
  • Assess test results and close the test plan

2. Tester (sn_test_management.tester):

  • Create tests and test sets
  • Execute tests and access test results
  • Update the status of tests
  • Report defects and retest

Now we have the plug-in installed, let’s get into the use cases. One can leverage Test Management 2.0 in two ways to achieve testing processes. First is General Testing — like testing the readiness of product, regression testing before market release, and upgrade testing, etc. Another way is an agile way i.e Sprint Testing — with ServiceNow Agile Development 2.0, one can use Test Management 2.0 to test user stories of their scrum team sprint by sprint.

Let’s go through the General Testing use case in detail.

Create a Test:

Test is a set of steps/conditions used to perform and evaluate if the feature is working as expected or not. A test can also include an expected result to conclude the test result as a pass or fail.

Test Manager [sn_test_management.test_manager] or Tester/QA [sn_test_management.tester] can create test from Test Management 2.0.

  1. Navigate to Test Management 2.0 > Tests.
  2. Click on New to create a test.

Once you enter the short description for the test and click on create steps option, you will get the below form

Here you can add/update/delete or rearrange your test steps. Also, you can set a flag if a step needs verification. This will show the options like pass/fail/blocked with the step when you run the test.

To be able to execute/run the test, you will need to set it to the ready state by clicking the Ready button. Once the test is in the ready state, you will see the Run button, click on it to execute your test.

Additionally, a test can have multiple versions. You can create a new version of the current test by clicking on the Create New Version button. This will create a copy of the current test and it will appear in the Other Versions Related List. You can also modify it as required.

In this way, you can create and maintain the Test. But while working on the project you will have many tests. Test Set provides a way to search them easily.

Create a Test Set:

Test Set is simply a group of related Tests. It helps to find the Tests by category/tag. Tests can be placed in multiple test sets.

Image Source: ServiceNow®

Test Manager [sn_test_management.test_manager] or Tester/QA [sn_test_management.tester] can create test sets from Test Management 2.0.

  1. Navigate to Test Management 2.0 > Test Sets.
  2. Click New Button.
  3. Enter name and click Submit.

4. Navigate to Test Management 2.0 > Tests. (Test list will be displayed)

5. Select the tests and click on Add to Test Set.

6. Search for the required test set and click Add.

Cool! We got Tests and Test Sets created but we are missing a major part i.e to plan our testing in line with the project timelines. We can achieve it via Test Plan.

Create a Test Plan:

A Test Plan is a detailed document that describes the test strategy, objectives, schedule, estimation, deliverables, and resources required to perform testing for a software product.

Test Plan in TM 2.0 provides options to track the duration, overall status, and progress of the test activities.

Test Manager [sn_test_management.test_manager] will create the test plan for the QA team to follow.

  1. Navigate to Test Management 2.0 > Test Board.
  2. Click Create Test Plan.

3. You can also provide other details for the test plan like Planned end date, Duration, Owner, Status, etc.

We can break down our Test Plan into smaller planning windows called Test Cycles for more precise planning. Further, test cycles can be broken down into Test Execution Suites, a test execution suite defines when a test must be run and by whom.

Image Source: ServiceNow®

Add/Create a Test Cycle and Test Execution Suite under the Test Plan:

Test Manager [sn_test_management.test_manager] will create the test cycles and execution suites.

  1. Navigate to Test Management 2.0 > Test Board.
  2. Open the Test Plan (Under which you wish to create the Test Cycle and Test Execution Suite).
  3. Click on the Planning tab (You will see the Test Plan work item hierarchy view).
  4. Right-click on Test Plan and select Add Test Cycle to create a new Test Cycle (Provide Name, Planned start and end date for the Test Cycle).
  5. Right-click on Test Cycle and select Add Test Execution Suite to create a New Execution Suite (Provide Name, Planned start and end date for the Test Execution Suite).

Note: Once you add multiple test cycles and test execution suites to the test plan, it will look something like below.

After defining the test plan, the Test Manager will add the Tests or the Test Sets to the Test Execution Suite and assign the execution to the Tester/QA.

  1. Right-click on Test Cycle and then select Add Tests/Test Sets.
  2. Select the Tests/Test Sets and then click on Add to Execution Suite button (This will add the tests/test set to the suite for test execution).
  3. Click on the Details tab on Test Plan and drill down to the Test Execution Suite (On which you have added tests in the above steps).
  4. Open the Test displayed in the Related List and assign it to the Tester/QA for execution.

Execution of the assigned Test Assignments:

Tester/QA [sn_test_management.tester] will execute the tests assigned by the Test Manager and record the Test Result.

  1. Navigate to Test Management 2.0 > Tests Assigned to me.
  2. Select the required tests and click Run.
  3. Enter Run Name and click on the Run button (You can also select the execution environment).
  4. In the Test Execution pop-up, mark the step as passed or failed(Enter a comment and attach the screenshot), or blocked.
  5. Once test execution is completed, click on Done.

View All Test Results:

All the test run results are stored under Runs in the Test Management 2.0.

Test Manager [sn_test_management.test_manager] or Tester/QA [sn_test_management.tester] can view all the test run results.

  1. Navigate to Test Management 2.0 > Test Runs.
  2. Open the run to drill down to see the test execution results in detail like environment, duration, status, run by, and detailed step-wise result.

This completes our first use case.

It’s time for our second use case i.e Sprint Testing. This requires using the Test Management 2.0 module in conjunction with ServiceNow Agile Development 2.0 module to make sure the sprint deliverables are aligned with the quality.

We all are aware that in agile we test the user stories according to the acceptance criteria. We will see how to create a Test for a User Story.

Create a Test for a User Story:

The create test form in sprint testing is exactly the same as explained in the general testing approach above. But the difference is that instead of creating it from the Test Management 2.0 application, create it inside the user story within the Agile Development 2.0 application.

Additionally, other features like multiple test versions, add/update/delete/rearrange the steps, are also available in the sprint testing approach in a similar way.

A Scrum User [scrum_user] role is required to access agile stories and create the Test for the stories.

Note: Role [sn_test_management.tester] is included in scrum_user role. And the user must be a member of an agile group.

  1. Navigate to Agile Development > Agile Board.
  2. Click the Sprint Tracking tab and select the List view.
  3. From the Show list at the top right corner, select Tests.
  4. Click Add Test.
  5. Enter Short Description and then click on Create Steps. Here we can add/update/delete or rearrange the test steps. Create multiple versions of the tests.
  6. Click on the Ready button to set the Test as Runnable.

The story is in place and we also have the Test ready to validate it. Now it’s time to execute it.

Run Story Tests:

Executing all the tests for the story to make sure functionality is working as per the acceptance criteria. We can execute all the Tests for a story at once or can execute Tests one by one.

A Scrum User [scrum_user] role is required to access agile stories and execute the tests.

  1. Navigate to Agile Development > Agile Board.
  2. Click the Sprint Tracking tab and select the List view.
  3. Locate the story for which you have created the tests and click on the Run button displayed for that story.
  4. Enter Run Name and click on the Run button (You can also select the execution environment).
  5. In the Test Execution pop-up, mark the step as passed or failed(Enter a comment and attach the screenshot), or blocked.
  6. Once test execution is completed, click on Done.

You can view the test results for each test under the story on Agile Board>Sprint Tracking Tab. With the test results, we completed our second use case as well.

Note: Tests and Test Runs under the Agile Board are also recorded in Test Management 2.0.

Limitations:

  • No integration with Defects module/application in ServiceNow. It does not provide a link between Tests and Defects.
  • No option to create defects directly from failed test cases.
  • Doesn’t capture the browser details and OS details in the Test Run.
  • No parameterized test runs i.e doesn’t allow to take runtime inputs from the QA/Tester.
  • No option to add a stepwise expected result.

--

--