Performance Testing

testgrinder service will be discontinued on January 31, 2025

As your Maximo database grows, you may start noticing that some applications or queries are not as fast as they used to be. Users may start reporting that Maximo is slow or unresponsive. It would be nice to have the ability to set up a suite of tests that check whether key queries run within ten seconds or that an application’s main screen completes in less than five seconds, for example. You may even find out that the system is not performing well before frustrated users start logging support tickets.

testgrinder allows you to specify the maximum time you are willing to wait for steps to complete, and you can control this for specific parts of your scenarios. Specifically, you may use the following two steps for this:

I change the browser timeout setting to X seconds

I reset the browser timeout setting to the default value

For example, here’s a script that tests whether a specific query executes in less than ten seconds, and that the default queries in several applications execute in less than five:

Script: Performance testing
    
    Scenario: Work Order search by status must complete within 10 seconds
      Given I login to Maximo as Administrator
        And I go to the Work Orders / Work Order Tracking application
        And I expand the menu for the menu bar button 'Advanced Search'
        And I click menu item 'Where Clause'
       When I enter the following value in the 'Current Query' field
        """
        status like '%APPR%'
        """
        And I change the browser timeout setting to 10 seconds
        And I click the Find button
        And I reset the browser timeout setting to the default value
       Then I see at least 1 total number of rows in the 'Work Orders' table
        And I logout
        
    Scenario Outline: Default search in application much complete within 5 seconds
      Given I login to Maximo as Administrator
        And I go to the <Application> application
       When I change the browser timeout setting to 5 seconds
        And I initiate search in the '<Table>' table
        And I reset the browser timeout setting to the default value
       Then I see at least 1 total number of rows in the '<Table>' table
        And I logout
    Examples:
      | Application                       | Table       |
      | Assets / Locations                | Locations   |
      | Assets / Assets                   | Assets      |
      | Work Orders / Work Order Tracking | Work Orders |
  

Now you can periodically run these tests to get quick confirmation that the important parts of the system work at the accepted speed. If performance of these steps degrades, the runs will start failing.

Another positive aspect of these tests is that they don’t add or change data in the system; thus allowing for their use in the production environment, where performance really matters.

Last updated