IS-TST-1101 Performance Testing
IS-TST-1101 Performance Testing
IS-TST-1101 Performance Testing
Standard ID
IS-TST-1101
Global or Regional
Global
Standard Category
Testing
Upgrades to Guidewire Cloud Adoption Required
Yes
Usable on Self-Managed Projects
Yes
Assessment Type
Manual
Effective
01-JUL-2020
Expiration
N/A
Products
Guidewire InsuranceSuite
Video
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 1/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
Introduction
The purpose of a performance test is to ensure the system can support the expected
loads while maintaining adequate application response times. Running a successful
performance test requires planning and logistical coordination of tools and personnel.
Environments and monitoring must be set up and scheduled, data prepared, and the
environmental monitoring tools configured and ready. This standard explains
Guidewire's process for executing a successful performance test, as well as the
metrics and tooling involved. It covers:
Types of requirements
Data needs
Scripting needs
Workload model
Performance Testing
Performance tests must be run before every new implementation release, cloud
update, and major functionality update. The customer is responsible for executing the
performance tests and providing Guidewire with the results. This enables us to
validate the required application response times before deploying changes to
production. Performance tests must be repeatable, measurable, and consistent;
therefore, an automated tool must be used to generate the load. Manual performance
testing, in which a group of users performs synchronized actions, is not acceptable.
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 2/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
Planning
Successful performance testing requires comprehensive test planning, starting with
documenting the requirements in a performance test plan.
Non-Functional Requirements
Requirements for performance testing must contain the following criteria for the
production system:
For designated functions, the additional information below is required for each
function:
Estimated peak hourly volume
Breakdown of systems, calls, and integrations involved in the function and their
corresponding service level agreements (SLAs)
Designated Function Estimated Peak Hourly Volume Business Function Component Breakdown
Policy Search 5,840 1.75 – 3.25 seconds DMZ (brokers only) 0.25s
PC (2 sec)
PC (1 sec)
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 3/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
Designated Function Estimated Peak Hourly Volume Business Function Component Breakdown
PC (1 sec)
ESB 0.25s
EngageOne (1 sec)
Environment
The test environment should be identical to the production environment. Where this is
not achievable, the impact of the differences, especially system architecture
differences, must be carefully assessed for the test validity. While it is possible to
perform tests on a scaled-down number of servers by adjusting the workload model,
this introduces elements of risk and should be avoided.
Any deviation from the production environment regarding the number and size of
servers
Database
It is important to set up the database with appropriate volume and distribution. IS-
TSD-1181 Test Data Strategy describes what is needed to correctly load a
performance testing database.
The use of production data to populate the performance test database requires
security standards be applied for personally identifiable information stored in non-
production environments. This is outlined in IS-SEC-1008 Personally Identifiable
Information (PII).
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 4/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
The scripts must simulate processes that users follow when using the system. In
addition to exercising the designated functions, scripts should cover the full extent of
the system being tested, including:
Critical business These are key business processes that support the Create scripts that cover these
processes business, including those that may occur less often business processes.
but are crucial to the business.
Resource-intensive Create performance models for the key flows using Create scripts to exercise the highly
flows performance modeling tests. utilized resources and expose their
impact on other activities in the
system.
Flows with key Look for flows that exercise one or more synchronous While interfaces are often exercised
synchronous interfaces, as identified by developers when profiling by critical business processes,
interfaces or modeling the flow. Flows that use interfaces may ensure that any interfaces are
be constrained by the limited capacity of the interface. covered in the test scripts.
Areas of major Where significant customizations have been made, Create scripts to include these
customization the potential for experiencing performance issues will customizations.
be higher.
Workload Model
Once the scripts are selected, a workload model is created that describes how many
virtual users will perform each function. This workload model is based on the
expected user volumes and number of transactions. The model must be realistic. If
you assign too many users or too many transactions, you will unnecessarily overload
the system and your results will be incorrect. If you assign too few users or
transactions, you won’t stress the system enough to validate that it can handle the
load.
The workload model tabulates the script to be executed, the associated user type,
and the maximum number of concurrent users. In the following example:
Script Name is the performance test script that will be run.
Concurrent Users reflects the number of virtual users that will execute those
scripts.
Transactions/Hour is the frequency at which the script will be run and repeated,
as well as wait times for each script.
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 5/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
PC_CancellationAuto 10 50
PC_ChangePolicyAutoPA 80 1300
PC_ChangePolicyAutoTX 80 1300
PC_ChangePolicyAutoWV 80 1300
PC_CreateActivity 34 120
PC_CreateResolveUWIssue 25 7
PC_Inquiry 16 65
PC_QuoteNBindAutoPA1Car 66 1300
PC_QuoteNBindAutoTX1Car 66 1300
PC_QuoteNBindAutoWV1Car 66 1300
PC_QuoteNBindAutoPA5Car 6 130
PC_QuoteNBindAutoTX5Car 6 130
PC_QuoteNBindAutoWV5Car 6 130
PC_RenewPolicyAuto 66 1400
PC_ReviewPolicyChange 25 200
PC_ReviewSubmission 4 40
PC_Search 21 60
PC_TeamScreenTab 1 7
PC_ViewAccount 4 10
PC_ViewPolicy 4 7
Writing Scripts
Characteristics of well-written performance test scripts and testing practices include:
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 6/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
They use multiple user IDs to avoid virtual users from using the same ID.
They configure virtual users with the same roles used in production.
They don't use the superuser account, or any users with the superuser role.
Scripts are not be configured to execute as quickly as possible. Instead, they
incorporate time delays that emulate actual user behavior in production.
The test data is sufficiently varied to avoid two virtual users accessing the same
entity simultaneously.
The script sets transaction start and stop timers or flags to provide accurate
metrics.
Tools
Load testing requires the use of various tools. Guidewire does not specify which tool
to use, but focuses on the results obtained. The selected tool(s) must be able to
generate the load necessary to ensure consistent and repeatable results and
accurate reporting. Manual performance testing does not meet this standard and must
not be used for load testing
Load Generation
The tool must mimic requests and responses from the Guidewire application
under test.
The load generation tool must generate enough concurrent users to adequately
load the system.
Load generation should capture and report on client-to-server response times.
The tool must provide response times for single steps as well as process flows,
such as the response time for clicking the quote button and total time for the
submission process.
The load generation tool must be able to accept a wide range of data to ensure
multiple users, multiple data points, and multiple process flows can be executed.
Monitoring
The response times metric mentioned above should be the primary metric used to
determine system performance. The following additional metrics are available by
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 7/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
CPU utilization
System memory for the application servers
Execution
Pre-work
Before running any performance test, basic maintenance and setup activities must be
completed:
Run all code inspections provided by Guidewire
Execute the database consistency check (DBCC)
Running Tests
The first step in executing test scripts is to run the script to confirm it performs as
expected and can be run multiple times with a greater diversity of data. The next
execution depends on the test's target. Some tests target very specific transactions
and can be run separately to quickly test that area. Other tests are created to be run
as part of a group and run over a longer time.
It is important to test against the largest expected volume of claims, policies, etc., by
various dimensions, to ensure the application scales adequately. This should be done
in isolation, using the Guidewire Profiler. Determining if a slow load test is due to the
size of the claim/policy versus some other issue is expensive and disruptive.
Load testing involves exercising the test system using production-equivalent loads
while the test transactions are monitored. Use the following practices during load
testing:
Begin with a single test script users and gradually increased the number of users
until the peak load is reached.
Maintain the peak load for at least one hour to verify all elements of the system
can support the load.
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 8/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
During the tail of the testing, gradually reduce the test user count to ensure
resources are being freed up as the load decreases.
Batch Jobs
Run batch job tests to establish whether the system capacity supports the expected
volume of work within the batch time window. Batch job testing requires a sufficient
amount of data and should be performed using the following approach:
Run all batch jobs as scheduled, using a fully populated database.
Verify all batch jobs are completed within the allotted time frame.
Monitoring
Performance testing of the designated functions for the system under test must be
monitored by Guidewire’s Cloud Operations and scheduled ahead of time.
To test any additional functions, the test load generation tool must capture the
response times for metrics that may have been defined in the test scripts.
Reporting
Performance test reports confirm that the performance requirements, as defined in
the SLAs, have been met. For the designated functions, Guidewire’s Cloud
Operations team will provide this report. For other functions, reports should be
extracted from the testing tools and must contain:
The minimum, maximum, average, and 90% times for the transactions
Number of times the transaction passed
A copy of the report must be provided to Guidewire Cloud Assurance for baselining
the systems and providing a reference for future assessments.
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 9/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
Project Scenarios
The criteria to determine whether a Guidewire implementation
is required to adopt Guidewire Cloud Standards, and
which standards apply, are defined in Standard-GW-OPR-1235. The following sections
define the adoption, compliance criteria, and applicability of this specific standard in
each of the project scenarios covered in Standard GW-OPR-1235.
All aspects of this standard are required on a new Guidewire implementation. Quick
Start projects are exempted from needing to meet this standard.
All aspects of this standard are required for existing functionality being upgraded as
part of the technical upgrade to Guidewire Cloud, as well as for any new features or
functionality being added as part of the upgrade project.
It is highly recommended that all projects follow these standards but this standard is
not enforced for self-managed implementations.
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 10/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
PAM-200908 Does the database have adequate Run a database distribution report to
volume and distribution of data? confirm the expected tables are
populated.
PAM-200909 Do the scripts perform realistic See the Performance Test Scripts
business scenarios? section.
PAM-200913 Have all relevant stakeholders Test and monitor Cloud Operations
committed to their tasks and timings and any third-party system.
in the performance test plan?
GW-358378 Does the load generation tool have The tool must be able to support the
all the capabilities necessary to run number of concurrent users, interact
the load test? with Guidewire, and track response
times.
GW-358379 Is the monitoring tool capable of The monitoring tool must be able to
capturing the required information? If monitor CPU, memory, disk space,
not, has Cloud Operations been disk I/O, and response times.
contacted to see if the tool is
monitoring appropriately?
GW-358380 Has all pre-work been completed? Ensure all inspections, DBCCs, and
remediations have been completed.
Impact of Non-Compliance
Issues identified during Cloud Assurance that do not adhere to this standard will be
validated to ensure that they are resolved before deployment.
Additional Resources
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 11/12
29/5/23, 15:56 IS-TST-1101 Performance Testing
Standard_GW-TST-1087-Test Strategy
https://docs.guidewire.com/cloud/standards/latest/Testing/Standard-IS-TST-1101-PerformanceTesting.html 12/12