CI Tools and Best Practices in the Cloud

Continuous Integration

Subscribe to Continuous Integration: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Continuous Integration: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Continuous Integration Authors: Yeshim Deniz, Mehdi Daoudi, Elizabeth White, Liz McMillan, Pat Romanski

Related Topics: Continuous Integration

Blog Feed Post

How a Leading US Retailer Enhances UX, Accelerates Testing with Service Virtualization

Enabling Early and Extensive Testing for Critical eCommerce Transactions 

department_storeAs a leading Fortune 500 retailer advances its omnichannel retail strategy, ensuring a positive user experience on the company’s ecommerce site has become increasingly critical. More and more of their customers are now utilizing the ecommerce site at some point during the purchase process—for example, to research products before (or after) visiting a brick and mortar location, to order products for direct delivery or in-store pickup, or even to initiate a product return.

Recognizing that all these additional touch points represent opportunities to reinforce—or undermine—their reputation as a market leader, the company is firmly committed to ensuring that all transactions associated with this ecommerce site meet or exceed customer expectations. Service Virtualization is now instrumental in helping them achieve this goal efficiently and cost-effectively.


The Challenge: Testing Complex Transactions Across Multiple Subsystems 

In response to the focus on ensuring a positive, seamless customer experience across the web site, mobile applications, and retail stores, the ecommerce team needed to accelerate the delivery of solid innovations that interoperate with an increasingly complex and distributed system. The growing complexity of transactions originating from the ecommerce site (e.g., online orders with in-store pickup) meant that they had to coordinate with myriad different groups and over 65 dependent systems that were beyond their control. The team worried that these constraints were slowing the pace of development as well as impeding the early and extensive testing of APIs—something they considered critical for controlling business risks. Some specific challenges they were grappling with included how to…

  • Perform early and extensive testing of their own APIs when interdependent components (e.g., warehouse management systems, order management systems, etc.) were rarely available for testing.

  • Ensure that their APIs functioned flawlessly against a variety of behaviors from interconnected components—including system failures, error conditions, slow performance, and other conditions that are difficult to reproduce in a test environment.

  • Accurately assess and optimize API performance early in development to minimize the risk of late-cycle delays. This was key to their goal of ensuring that each new service contributed to a positive user experience from the moment it was rolled out.

  • Prevent development slowdowns during the annual holiday production freeze, which forbids any new functionality from being integrated into the production environment between November and January.

Building out additional staged test environments was not a viable option because many parts of the environment would be extremely complicated and/or expensive to replicate, properly configure, and manage in a test environment. The magnitude of costs and complexity would be compounded by the fact that complete test environments need to be accessed—uniformly—at all nine of the company’s regional centers.


Service Virtualization Accelerates the Delivery of Thoroughly-Tested New Functionality

Service Virtualization provided the company an efficient and cost-effective way to accelerate the delivery of top-quality functionality. Using Parasoft Virtualize, the team could rapidly create ”virtual assets” for dependencies ranging from mainframes, to SAP, to JDBC, to ESBs, to partner APIs, and countless services—all of which communicate via a variety of message protocols and formats. As a result, all nine regional offices gained anytime, anywhere access to a complete test environment.

Before adopting Service Virtualization, team members would typically wait weeks for access to test data, then try to race through the test plan during highly-limited (and inconvenient) test environment access windows. Now, the team can begin testing as soon as a new service is completed—even if dependent systems are not yet completed or are unavailable for testing—and complete the full range of planned testing. With an unprecedented level of control over the dependencies’ behavior, their testing now covers a broader range of ”what if” scenarios (e.g., concurrency, fail-over, performance, and negative test scenarios). This extensive, early testing drastically reduces the number of issues that surface when their services are finally integrated into the production system—accelerating the release cycle while reducing business risks. 


A New Way to Prototype Functionality

Service Virtualization also enables the team to accelerate development in another way: by allowing key stakeholders to review proposed new services before they are actually developed. Once a new service is proposed, the team models a virtual asset that emulates the anticipated service behavior and integrates that virtual asset into the test environment. The stakeholders can then evaluate the concept and offer feedback before development begins. It used to take weeks or months to get a service built and integrated in order to elicit feedback. Now, they can prototype new functionality in minutes and start evaluating it immediately.


On-Demand Access to Zero-Impact Test Environments

The team reports that Parasoft Environment Manager is key for their ability to understand and share complex test environments across the nine regional centers. Graphical diagrams give each team a visual overview of what environments are related to their work—and the ”health” of all associated components (e.g., any systems that are down or not performing as expected).

For the self-service provisioning approach adopted by some divisions, different environment setups are selected via the graphical diagram and then provisioned with the click of a button. For the divisions practicing fully-automated Continuous Testing, the DevOps team has integrated automated provisioning with Continuous Integration scripts in order to run regression tests suites. In all cases, it’s simple for them to switch from one configuration to another (e.g., to exercise negative test scenarios or work around a system that is currently offline). The team members across all the different regions can configure and re- configure these test environments on demand, simultaneously—with zero impact on one another’s work.


Ensuring a Positive, Seamless Customer Experience 

With Service Virtualization, the team has gained an efficient way to ensure that new ecommerce services are validated extensively and accurately, then are fully optimized before deployment. As a result, the  company has been able to reduce costs, accelerate the delivery of innovative new functionality, and achieve their ultimate goal of ensuring a positive, seamless customer experience across the web site,  mobile applications, and retail stores.


Service Virtualization and API Testing at Comcast [On-Demand Webinar]

Service-Virtualization-ComcastWant to learn more about the value of service virtualization— including how Comcast uses service virtualization to:

  • Simulate 98% of their downstream services
  • Enable the continuous execution of 40,000 automated API tests
  • Support and enhance their growing  DevOps initiative

Watch the Service Virtualization Delivers Complex Test Environments On-Demand webinar today.


Read the original blog entry...

More Stories By Wayne Ariola

Wayne Ariola is Vice President of Strategy and Corporate Development at Parasoft, a leading provider of integrated software development management, quality lifecycle management, and dev/test environment management solutions. He leverages customer input and fosters partnerships with industry leaders to ensure that Parasoft solutions continuously evolve to support the ever-changing complexities of real-world business processes and systems. Ariola has more than 15 years of strategic consulting experience within the technology and software development industries. He holds a BA from the University of California at Santa Barbara and an MBA from Indiana University.