A fundamental shift is taking place in application development. Composite applications are in the forefront of enterprise software development where technology vendors are rapidly developing applications in a composite platform, providing greater flexibility for development teams to create applications which rely on an array of back-end services to deliver software.
A common example of a composite application architecture is a collection of web-based services that integrate with other systems. For example, SOAP or REST services provide a headless method to interface with existing systems. By utilizing web-based services, applications can be rapidly developed by utilizing existing technology stacks developed in-house or by third-party vendors.
Challenges for SQA Teams
Applications are progressively relying on in-house and third-party developed services to interface with data-driven applications. The increasing complexity of software architecture, as well as attempting to line up testing cycles with release cycles across multiple vendors’ services, increases the complexity of testing and the duration of software testing cycles.
When testing composite applications, SQA teams are presented with many of the following challenges.
Testing with undeveloped services
In an agile or traditional development environment, having access to services in the beginning stages of development is critical for improving TTM (Time to Market). Documented services can be tested early in the software development cycle by utilizing HP Service Virtualization. Consuming virtualized services can avoid delays derived from service availability dependencies.
Software engineers can develop applications using virtualized services before the services are available to development or SQA teams. This speeds up the overall software development cycle. When the applicable services have been fully developed and are available for consumption, the service end-point can be changed from the virtualized service to the newly deployed service.
Both functional automation and performance engineers can also benefit from virtualized services. Early in the stages of testing, both the functional and performance related aspects of the AUT and services can be tested early on. This can help answer questions around how the AUT will perform in ideal and less-than ideal conditions before they occur in production.
Testing with production services
Production services are not good candidates for performance testing since the HP LoadRunner script may bring production services offline or adversely impact SLAs. In addition, tests which rely on manipulating data cannot be executed in production environments.
HP Service Virtualization addresses these challenges by simulating data models. The service requests and responses can be modeled by learning service calls made in production systems and/or by creating data models manually in the Excel-like GUI of HP SV.
Simulating performance conditions
When applications rely on production services, third-party services or services deployed on low-end servers, testing the performance of the application is increasingly challenging. Services deployed on low-end servers limit the feasibility of testing under optimal conditions because the server does not have the capacity to perform optimally.
Virtualized services allow performance related conditions to be tested based on performance models. A Service Virtualization engineer can setup models which simulate specific conditions – e.g., CPU and throughput bottlenecks – allowing a performance engineer to test the AUT under user-defined performance conditions in HP SV.
In addition, many third-party services offer pricing models based on “standard” or “premium” SLAs. By using virtualized services and performance models, the impact of the overall application performance can be tested and a cost-benefit analysis can be performed to make an informed decision regarding the purchase of various service SLA package offerings.
Testing 3rd-party, pay-as-you-go service models
Pay-and-you-go service models, like credit card processing services or credit score retrieval services, can be cost-prohibitive to test against. Performance testing these types of services is often impossible because the vendor does not allow it, or because the number of transactions the performance test will generate will create excessively high usage fees.
By simulating these types of services, the cost of consuming the service can be eliminated entirely and both functional and performance tests can be executed based on pre-defined or learned performance and data models.
Simulating errors and unexpected responses
Testing application behavior based on conditions that are otherwise impossible to introduce become possible with HP Service Virtualization.
By simulating service behavior, either based on data-related conditions or service availability, the stability and functional aspects of the AUT can be thoroughly tested. By testing conditions which are rarely reproducible, risk can effectively be reduced and defects can be avoided before they become a reality in production.
The Solution – HP Service Virtualization
Composite applications, in many ways, place development and SQA teams at the mercy of services and third-party service contracts. Both testers and engineers can greatly benefit from a virtualized service model when service-related constraints or availability plague the enterprise.
Using HP Service Virtualization can alleviate these challenges, helping to decrease TTM and improve the overall quality of applications, by providing a script-less interface for virtualizing services. Application mockups and prototypes can be rapidly developed. Data-based and performance-based models can be readily deployed, simulated and tested. End-to-end testing is more complete by bringing services into the development and testing cycles earlier.
Customers utilizing HP’s suite of testing products benefit from full integration with HP Service Virtualization. HP SV empowers SQA teams to create script-less virtualized services that integrate fully with HP ALM (Quality Center), HP LoadRunner and HP UFT (QuickTest Pro and Service Test). This alleviates the dependency on developers to manage virtualized services and allows them to focus on development. It also reduces the demand for database administrators to manage service-related databases.
Northway Solutions Group provides leading-edge HP Service Virtualization consulting expertise. Contact us today to learn how we can help improve the overall quality of your applications by utilizing HP Service Virtualization, HP UFT, HP LoadRunner and HP ALM.
Did you enjoy this article? Help spread the word by sharing:
Engage in the conversation and leave a comment:
About Brian MacKenzie (24 articles)
Brian has over 14 years of experience working in IT, ranging from Software Quality Assurance, Software Development, Business Management to Systems Administration, in a wide range of technologies, languages, databases, systems and software. He has experience in both software quality assurance and software development roles. Brian specializes in HP LoadRunner, HP UFT (QuickTest Pro and Service Test), Mobile Testing and Automation, HP ALM and HP Service Virtualization, as well as delivering certified instructor training in HP UFT and mentoring in Service Test and Service Virtualization.