A computer desk with laptops and monitors on it
| | |

CenterTest Self-Managed Execution

Self-managed execution is essential for any test automation platform, forming not only the foundation of intelligent test management, but also dramatically decreasing human intervention in your CI/CD pipeline. Manual execution decreases testing efficiency, especially when working with a complex test or in a testing environment with multiple integrations and end points.

Some benefits of self-managed execution:

  • Efficiency and Time Savings: Self-managed execution allows tests to run autonomously without constant manual intervention. This significantly reduces the time and effort required for testing processes.
  • Consistency: Automated tests executed in a self-managed environment ensure consistency in test runs. This consistency is crucial for evaluating your code’s reliability and promptly identifying regressions and defects.
  • Scalability: As insurance carriers often deal with complex systems and a high volume of data, scalability is essential. Self-managed execution enables the parallel execution of tests across multiple environments and configurations, facilitating scalability without a corresponding increase in human resources.
  • CI/CD: In modern software development, CI/CD practices are expected. Self-managed execution aligns seamlessly with these practices, enabling tests to be triggered or restarted automatically during each code commit or deployment, ensuring rapid feedback on code changes.

As we dive deeper into how Kimputing implements CenterTest Self-Managed Execution, we will use a test case for one of our Guidewire InsuranceSuite customers as an example, but of course the CenterTest Abstraction Layer can be customized for any environment.

Example Test Case

An end-to-end test spanning Guidewire PolicyCenter and BillingCenter, from create account to first renewal, and incorporating a mid-term change. This will include time travel and document verification for notices, coverage forms, and invoices throughout the policy period.

CenterTest Functions utilized in this Test Case:

  • Self-Managed ExecutionAllows CenterTest to suspend tests that require a clock change or document generation, and restart once the appropriate conditions are met.
  • Document Verification CenterTest“reads” the document to verify accuracy.
  • Time TravelAutomatically changes the system clock.
  • Multi-User, Multi-Session Seamless communication between PolicyCenter and BillingCenter with multiple users logged on at the same time.

To execute this testing workflow in a manual environment, an SDET or tester would write several different tests, determine the correct system time for each test to run properly, manually adjust the clock, and finally – run each test in sequence.

In CenterTest, you only need one test because the time travel events are built into the test itself. CenterTest automatically performs “Best Day” calculations, changes the system clock for you, and executes the test autonomously.

A laptop with an hourglass full of blue sand on it
Example 1. Checking time travel with an if structure
if (scenarioContext.restart(RestartPoints.TIME_TRAVEL)
    && context.TimeTravel.isAfter(-7)) {

We make the CenterTest Engine even more powerful by incorporating restartability into the testing workflow by design. This enables Self-Managed Execution to restart tests from the point of failure when appropriate “restart points” have been identified in advance.

Example 2. Declaring and utilizing restart points
private enum RestartPoints {STEP1, STEP2, DOCUMENT, TIME_TRAVEL}

if (scenarioContext.restart(RestartPoints.STEP1) {
  ...
  scenarioContext.restartComplete(RestartPoints.STEP1);
}
if (scenarioContext.restart(RestartPoints.STEP2) {
  ...
  scenarioContext.restartComplete(RestartPoints.STEP2);
}

In our test case, the test might fail if your system takes too long to generate the document. Self-Managed Execution will restart the test from the document verification restart point and wait for the document to be ready before continuing. By doing so, CenterTest increases your testing efficiency by “suspending” your test until the document is available, rather than simply failing the test.

When developers talk about self-managed execution and test automation, they typically refer to testing workflows that automatically start the next test in sequence or, in some cases, rerun failed tests. Our approach is not only more efficient, but also allows for better batch processing and analytics, since CenterTest reports on the exact point at which a test failed.

That’s another the key feature – CenterTest Self-Managed Execution enables detailed reporting on any failure – not just failures that occur at restart points. Maybe your endpoint or integration point was not responding, or maybe BillingCenter or another service was not available when you tried to run the test. CenterTest can automatically rerun or restart the test and provide you with detailed analytics data, enabling you to determine why the test failed on one occasion but passed on another.

In a manual environment, a clock change at the wrong time in your testing workflow may invalidate some tests. Or perhaps one of your services takes too long to start – causing a false failure in your smoke test. In either case, CenterTest Self-Managed Execution mitigates these risks, thus increasing efficiency and improving the overall quality of your testing process.

Book a demo to find out how CenterTest can help supercharge your Test Automation strategy!

Kim Filiatrault
Founder and President


Watch or read our other posts at Kimputing Blogs. You’ll find everything from Automated testing to CenterTest, Guidewire knowledge to general interest. We’re trying to help share our knowledge from decades of experience.

Similar Posts