A Practitioner's Approach to Successfully Implementing Service Virtualization - Page 3
While we have examined a few low hanging virtualization fruits many more exist in the form of cloud development and performance testing.
Subsequently, the teams dive into a deeper set of requirements for these virtualization targets. If the service being built is completely new (or is substantially modified) and has no preexisting data that can be found in production, then the teams will need to determine how data would be sourced and ensure that artificial data can be created effectively. Ensuring coverage for a planned service requires the virtualization leads to examine all the processes that consume the virtual service. Next, all the used cases that belong to identified processes are collated. These are used in the design phase to ensure coverage. If the service that needs to be virtualized already exists in production then the data can be recorded/ sub-setted. For such services, the major concerns are security areas such as masking and ensuring that the subset of data is adequate.
Virtualization teams will then need to incorporate their findings (virtualization targets) into the environment building guide or other artifacts which document how environments will be built or enhanced for the current iteration of the lifecycle.
Analysis and Design Phase
Based on the requirements gathered from the previous phase, the virtualization teams plan and document the process for building the virtual services in the analysis and design phase.
In this phase, virtualization teams focus on services and components identified for virtualization and their associated use cases. For linking the use cases to the services, virtualization teams use a variety of design artifacts that included sequence diagrams and service definitions. This is needed to ensure complete coverage (also means that the virtual service behaves like its real world counterpart). Virtualization products can generate empty virtual services (with no data) which are based on service contracts such as WSDL documents. Populating virtual services with data requires either subsetting and masking (for pre-existing services) or artificial data creation. Although in this phase a virtual service is not populated with data, virtualization teams must ensure that they generate valid input & output pairs for all scenarios (use cases) in a given virtual component. In other words, at the end of the analysis and design phase, a virtualization lead must be able to identify the specific response a virtual service creates at a given request for all possible use cases. Many new virtualization teams ask the development teams for the request/response documents which enable them to quickly jumpstart their virtualization initiatives. However, some targets for virtualization can be very complex and change rapidly. They may require scripting to generate the right behavior and may also need extensive templating to achieve the desired fidelity.