Simplifying Cloud Upgrades with Test Automation and TDD
Since its release in 2019, Guidewire InsuranceSuite in the Cloud has been helping insurance carriers transform and modernize their core business operations. Guidewire Cloud delivers powerful adaptability and scale that helps organizations keep up with accelerating changes in the P&C industry, but getting to the Cloud presents significant challenges.
Guidewire Software upgrades have always been complex, leading many customers to skip major releases to avoid lengthy upgrade cycles and significant costs associated with them. Upgrading from pre-cloud versions (v7, v8, v9) to the cloud is especially challenging due to standards enforcement, core architectural changes, changing integrations, deprecated functions, and a lack of effective test automation.
Investment in test automation is also mandated for designated functions when you move to the Guidewire Cloud. However, while the Guidewire Testing Framework (GT) is cloud-native, it is not suitable for complex scenarios, requires significant maintenance, and cannot be used to test your pre-cloud system. Since you must invest in test automation, how can you leverage a Test-Driven Development (TDD) framework that makes the automation easier while also addressing the critical challenges associated with Guidewire Cloud upgrades?
The key to effective Guidewire Cloud Upgrades lies in rethinking test automation for Guidewire and understanding how to use it effectively.
Drawing on decades of Guidewire experience, extensive test automation expertise, and several cloud upgrades, Kimputing has identified three key steps to accelerate your Cloud transformation using test automation:
Step 1. Pre-cloud Test Automation
Step 2. Pre-cloud Preparation
Step 3. Cloud Testing with Pre-cloud Tests
CenterTest makes this process possible by enabling end-to-end UI test automation and test synchronization across both pre-cloud and cloud environments. While the Guidewire GT framework requires specialized skills and a host of open-source tools, CenterTest is a single-source, java-based, object-oriented solution purpose-built for Guidewire to drive both speed and test coverage inside a highly maintainable framework.
Let’s explore these steps in more detail to understand how to simplify your cloud upgrade.
For more information on CenterTest’s expansive functionality, see the previous installment of our Testing Guidewire Series: CenterTest: The Ultimate Solution for Guidewire Testing.
Step 1. Pre-cloud Test Automation
The first step is implementing pre-cloud test automation with CenterTest in your current environment. Utilizing source-code generators to create your POMs and product models, along with OOTB test flows covering all LOBs, you can implement comprehensive, E2E, data-driven test automation in a matter of days. This not only validates your current implementation, but lays the foundation for testing your upgrade.
Version compatibility accelerates your upgrade and future-proofs your automation framework by allowing tests written in pre-cloud environments to run in your cloud environment.
This capability fundamentally changes how to approach a Guidewire Cloud upgrade, letting you prepare to test your cloud environment before you even begin the upgrade. If you have already started, tests written in pre-cloud environments can still be leveraged for both upgrades and ongoing development after the upgrade, maximizing your investment.
CenterTest Features that support Guidewire Cloud upgrades:
Version compatibility: Tests written in CenterTest for v7, v8, or v9 will run in the cloud, even across different versions such as BillingCenter v7, ClaimCenter v8, and PolicyCenter v9, all at the same time. This capability provides twice the value for half the effort.
Rapid Test Development: Writing tests in CenterTest is incredibly fast, letting you create dozens of complex end-to-end, object-oriented, data-driven tests in days. This data-driven architecture automatically adapts test flows based on the data provided, allowing you to rapidly scale scenarios and requirements to meet your business needs.
Real-world Testing Scenarios: CenterTest supports multi-user/multi-session, cross-Center interactions, time travel, out-of-sequence flows, document testing, and more.
Continuous Development and Testing: It supports continuous development and testing for both pre-cloud and cloud activities simultaneously, ensuring that production continues to evolve while the upgrade proceeds without disruption.
Implementing test automation in your pre-cloud environment with CenterTest builds a robust test suite that seamlessly transitions to the cloud. This strategy maximizes your testing efficiency and value, embodying the principle of “work smarter, not harder.”
Step 2. Pre-cloud Preparation
Next, implement as many pre-cloud recommendations and requirements as possible to your existing production environment, using Guidewire’s Cloud Readiness program. This program involves repetitive processes that review your current implementation and identify necessary changes — from standards and optimizations to tasks that must be completed before moving to the cloud. Please refer to Guidewire documentation for additional information.
Budgetary considerations can also impact this step, especially if there is a delineation between your ongoing production/maintenance budget(s) and your upgrade budget. In these circumstances, consider reallocating a portion of your cloud upgrade budget to implement cloud readiness changes in production first. This strategic reallocation allows you to minimize the changes necessary during the upgrade itself, reducing the time and risk involved in Step 3.
Advantages to Pre-Cloud Preparation:
Leveraging Established Procedures: By using your existing procedures, you simplify the process of applying and verifying changes before moving to the cloud. This makes your transition to the cloud smoother.
Minimizing Risk: Automated regression testing from Step 1 minimizes risks and further ensures comprehensive test coverage, so do as much as possible now. The simpler you make the upgrade itself, the easier and less risky it becomes.
Clarifying Root Causes of Defects: Changing your current production environment eliminates ambiguity about the root cause of defects during the upgrade, which we’ll explore further in Step 3.
With CenterTest, the better your pre-cloud test coverage, the better you can assess your quality in the cloud! Once you’ve updated everything possible in pre-cloud, it’s time to move forward with the Functional Upgrade and begin testing in Step 3.
Step 3: Cloud Testing with TDD – Achieving Upgrade Efficiency
The final step leverages Test-Driven Development (TDD) to enhance upgrade efficiency when verifying your cloud release. TDD is often considered a ‘utopia’ for software projects, but it is rarely achieved because tests must be written before the system is developed.
Since CenterTest version compatibility enables you to run pre-cloud tests in the cloud, you have cloud-ready tests before your upgrade begins — the literal definition of TDD. This also highlights that Step 1 is critical and the more comprehensive your test coverage, the better you can assess your Guidewire Cloud Upgrade readiness.
Let’s add an additional thought to the cloud upgrade process: treat the cloud upgrade as a series of defects to be resolved. By doing so, you can prioritize and solve defects to quickly build toward a stable and functional cloud implementation.
Treat the Guidewire Cloud Upgrade as a series of defects to be resolved based on regression testing your pre-cloud tests.
TDD is a great starting point and provides clear direction on what needs to be fixed, but there is more to do. You must again use Guidewire’s Cloud Readiness Program to finish implementing those cloud-specific changes you couldn’t complete in Step 2, changes such as Amazon S3 buckets, SOAP-to-REST changes, or deprecated function removal. In these cases, you may need to adapt some of your CenterTest reusables or even add completely new steps, but not to worry, you already did this in Step 1 and it is easier now.
Root Cause Analysis – Stay Focused on the Upgrade
Another powerful advantage of CenterTest is simplified root cause analysis for cloud defects. Letting your team focus only on upgrade-specific defects enhances overall efficiency, but how do you know the defect is related to your cloud upgrade, and not a pre-existing defect from production? Let’s consider a couple of examples:
- Does the problem already exist in production? To determine this, simply run the associated test in your production environment. If it passes in production, the issue needs to be fixed in the cloud. If the test fails in production, it is a pre-existing condition – not a cloud defect. Unfortunately, wasting time working on production problems during cloud upgrades is more common than expected.
- Are new requirements being added to the cloud upgrade? It might be tricky to detect, but you must first determine if the functionality already exists in production. If it does, you missed covering that test functionality in production, so create a new test for both environments. If new requirements cause a test to fail, those requirements should be deferred until after the upgrade — otherwise it is a flow-change, and must be addressed.
Anything that is not upgrade-specific should be considered scope creep, and deferred until after the upgrade.
Now that the upgrade is finally done, what’s next?
It’s time to address changes that were postponed until after the upgrade. With the confidence gained from regression testing, you can quickly incorporate those cool new claim features, or that new whizbang policy process. It’s time to release the hounds!
CenterTest Value-Adds for Guidewire InsuranceSuite
Guidewire Ski Resort Updates
Depending on the duration of your cloud upgrade, you may need to integrate updates from Guidewire’s ski resort-themed updates. While these typically add features and fix problems, they can also affect the DOM structure which may disrupt test automation. For example, Hakuba changed the DOM structure resulting in extended testing delays for Guidewire GT customers; CenterTest consumed this release in a few hours resulting in minimal delay to our customers.
Designated Functions
CenterTest supports Guidewire’s Designated Functions, which ensure that specific flows are tested by tracking and evaluating them during execution.
Unified Framework
This article focuses on the power of end-to-end UI testing for Guidewire Cloud upgrades, but CenterTest supports robust API, document, performance testing and, more, all supporting data-driven, object-oriented BDD principles.
Resource Management
Because of CenterTest’s rapid implementation capabilities, it typically requires only a single SDET, and maybe an additional test writer, to implement and maintain test automation for most organizations, even those with complex implementations.
Unlimited License
There are no limits to the number of users or tests you can run with CenterTest. The power and simplicity of our solution allows you to use it while your System Integrator (SI) continues to use their existing processes, or they can use CenterTest on your behalf.
Risk-free Implementation
Kimputing provides a No-Risk POC that ensures you are happy with CenterTest’s performance before you commit to a license. We implement CenterTest for you, in your environment, to your specifications. This give you a massive head-start in building out your automation framework and ensures that your organization recognizes immediate ROI from CenterTest.
Summary
Using effective test automation throughout the upgrade process is essential for ensuring quality. Automation does not simplify the coding associated with the cloud upgrade itself, but it does make the process faster by making it easier to verify changes.
For those just starting Cloud Upgrades, or yet to begin, start now by automating your current environment. If you’re facing challenges with your cloud upgrade, now is the time to rethink your testing strategy. How well does your current approach integrate testing into every phase of the upgrade? Effective testing is crucial for ensuring quality, and it’s most effective when integrated throughout the entire process.
To use some sports analogies:
Are you testing like a coach, ensuring all players work together from the onset? Or is your testing strategy more like a backup player on the bench, contributing only when needed? Just as a well-prepared team performs better, your upgrade will also improve when testing is integrated into every phase. As any good coach knows, you will need to adapt and adjust as you go, but waiting until the final quarter or period to start is far riskier than playing from the start of the game.
Guidewire Cloud Upgrades really can be as easy as 1-2-3. Don’t wait until you’re struggling. Get started now by incorporating test automation into your existing environment and using those pre-cloud tests in the cloud!
Special thanks to Raivis Sarkovskis, Arkadiusz Frankowski, and Duncan Guignet for their contributions to this article. Stay tuned for next week, where we will take a closer look at the functionality of CenterTest’s Multi-user, Multi-session processing.
If you missed the previous articles in our Testing Guidewire Series, you can catch up here:
- Part 1: Designing for Testability
- Part 2: Tools vs Libraries vs Frameworks
- Part 3: BDD and CenterTest Narratives
- Part 4: The Power of the POM in Guidewire Test Automation
- Part 5: CenterTest: The Ultimate Solution for Guidewire Test Automation
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.