ServiceNow Test Management: Accelerate the Management of Testing Processes

Author by Michael Dugan

Getting Started

If you don’t know already, ServiceNow provides some amazing toolsets that allow your organization to author tests and simplify the overall testing experience of a software application within your instance. You might think that I’m talking about “Automated Test Framework”, but I’m actually speaking to “Test Management”. This feature is located within the IT Business Management sector of the platform, which makes sense as it focuses on repeatability of IT processes to ensure consistent testing execution. This plugin also does a great job of supporting test management processes that relate to IT projects through the integration with PPM.

What you’ll find right off the bat is that there are not many modules that come with the application, which makes it easy to use:

modules.png

The out-of-box roles are not complicated by any means, as it really comes down to a test manager and a tester. However, the user must have the tm_tester role to be added as an Owner of a Test Suite or Test Plan. From a high level, here’s how ServiceNow structures the schema:

ERD.png

Implement a Test Suite

Test Suites are simply a grouping of Test Cases and will help organize test processes. Rather than adding all Test Cases to one giant Test Suite, I found that setting up individual Test Suites based on a specific requirement or process will make it easier for adding Test Cases to the plan in the long run.

An example scenario could be when account creation must happen each time a subscription is purchased. Keep the account creation Test Cases in a separate Test Suite so it can be copied into the Test Plan appropriately, rather than creating it multiple times by hand. Why type out the same Test Case multiple times when you can copy it in? ServiceNow lets the tester do this with a UI action, and we will visit this concept soon.

See below for the B2C account creation being segmented out of the other suites:

testsuite.png

Create Test Cases based on process, and leave the rest to the Test Steps

Here’s a look at a Test Case containing Tests created by demo data:

testcases.png

Here’s a look at a Test Plan with its overall look and feel pertaining to Test Cases and Defects:

testplan.png

Use UI Actions to build the Test Plan

As you develop your test processes, ServiceNow provides functionality for copying Test Cases and Tests over to a Test Plan through a related link named “Add Test Cases from Test Suite”. If you’d like to reverse the situation and begin populating a master Test Suite, simply use the “Save as Test Suite” which will save the Test Plan as a Test Suite and copy all Test Cases and Tests into the new suite. By the same token, there is a “Copy Test Plan” related link which will copy the entire Test Plan, excluding any execution data that has been updated.

The screenshot below highlights Test Plan UI actions:

relatedlinks.png

Ready to execute?

Execution of test cases is very streamlined. Within the Test Plan, the Test Case Instance table contains a state field that tracks the current execution status of the Test Case, and the Test Instance table also has a status field for tracking the state of the test being worked on. If a Test Instance becomes blocked, there is a state value for it as well as a Blocked Reason that the tester must fill out to continue. At that time, a “Defect” could be reported which simply creates a new Defect record that acts like a bug within the Software Development Lifecycle realm. A Defect simply extends the Feature table which is found within the PPM application, and will be revealed when the state changes to Failed or Blocked:

blockedstatuswithdefect.png

Set up Test Environments to isolate testing from Production

All the Test Cases within a Test Plan must be executed within a Test Environment. This is a separate entity within the platform and exists as a record. This is key as it informs your testers where to go for a URL to perform their testing:

testenv.png

View results with the Overview module – a dashboard feature

When it’s time to report on current testing status, visit the Overview module which displays a Test Management Dashboard used to gain insight into test coverage, statuses, and defects:

overviewmodule.png

When all testing has concluded for a specific Test Suite, the tester must sign-off on the Test Plan stating that they approve of the final results and are willing to release the product through to other environments. Simply use the UI Action named “Sign-off Test Plan” which will display a summary of tests that passed, failed, are blocked, are not tested, and will even show open Test Cases as well as Open Defects!

When it’s time to truly sign-off on all concluded work within a Test Suite, enter comments and validate the user/date and click Submit. This will generate a PDF of the final results for management purposes:

signoffexecution.png

signoffform.png

Sign-off history will be displayed underneath the Sign Off form section after submitting:

signoffhistory.png

Closing Thoughts

Overall, this is an extremely powerful tool that will enable your organization to streamline your test management processes while doing so in an effortless platform. I highly encourage anyone to embrace this full suite of functionality as it will only help your practice grow!

Author

Michael Dugan

Systems Engineer