Earl Duque
Administrator
Administrator

Hey everyone! Here to highlight one of the new features in the Washington DC release (which just went into General Availability this week) and it's Performance Testing within the Automated Test Framework, so it's platform wide and available to all upon upgrading to the new release!

 

What is Automated Test Framework (ATF)?

 

Before we delve into performance profiling, let's have a quick refresher on what ATF is. Automated Test Framework is a tool within ServiceNow that allows you to create and run automated tests on your applications and configurations. This means you can ensure that your ServiceNow instance is working as expected after updates, modifications, or new feature implementations, without the need for manual testing.

 

ATF Performance Profiling

 

ATF Performance Profiling is an extension of the standard ATF functionality. It enables you to measure the performance of your ServiceNow instance by recording the time taken to execute each step in your automated tests. This is incredibly useful for identifying slow-performing areas in your applications and pinpointing specific actions or processes that might be causing delays.

 

How Does It Work?

 

ATF Performance Profiling works by adding a performance profiling step to your existing automated test suites. This step records the start and end times of each test step, allowing you to see the duration of each action. You can then analyze these timings to identify any steps that are taking longer than expected and investigate further to optimize performance.

 

You can use existing ATF tests for performance profiling, or you can create new tests specifically for performance profiling.

 

Here's a quick guide on how to execute performance profiling using ATF:

 

  1. Navigate to ATF: Locate the Automated Test Framework within your ServiceNow instance.
  2. Select the Test: Choose the specific test you want to profile for performance evaluation.
  3. Execute the Test Run: With the desired test selected, initiate the test run via the "Run Performance Test" button.
    EarlDuque_0-1711125068904.png

     

  4. Confirmation Modal: Check the "I acknowledge..." checkbox and then click "Run Test"
    EarlDuque_1-1711125157056.png
  5. Go take a break, it will take some time to run (at least 20 minutes for simple tests)
    EarlDuque_2-1711125250217.png
     
     
    EarlDuque_5-1711125287371.png

     

During the performance test, ATF will do a warmup run to make sure the right things are cached, then run the test 10 times to get a performance profile.

 

Performance Comparisons

 

You can view the results and see how long each test took but that's not really interesting. The key is to do these performance tests regularly so that you can utilize Performance Comparisons. It's the comparisons that will reveal if your system has degraded in a particular area:

 

How to run comparisons:

 

  • You can either either navigate to a previous Performance Run result (either via "Go to Result" on a test you just ran or by navigating to "All > Automated Test Framework (ATF) > Test > Performance Profiling > Performance Runs") and then Click on "Compare Performance Result" 
    EarlDuque_6-1711125558193.png

    and then selecting another result to compare to

    EarlDuque_7-1711125597920.png

     

  • Or you can go directly to the Performance Comparisons table and create a new record there:
    EarlDuque_8-1711125638693.png

     

Running a comparison will reveal the change between the mean time of the first run you selected and the mean time of the second run you selected as an increase or decrease in percentage, along with a simple classification:

  • inconsistent
  • improvement
  • regression
  • unchanged

EarlDuque_9-1711125898992.png

 

Final thoughts

 

Officials docs can be found here: https://docs.servicenow.com/bundle/washingtondc-application-development/page/administer/auto-test-fr...

 

Remember that ATF and ATF Performance Profiling is all about having testing built into your processes. It's best utilized when you are doing tests at expected moments in your release or upgrade process.

Happy testing!

5 Comments