SOA Testing Whitepaper

download SOA Testing Whitepaper

of 12

Transcript of SOA Testing Whitepaper

  • 8/6/2019 SOA Testing Whitepaper

    1/12

    Testing service-oriented architecture (SOA)applications and servicesWhite paper

  • 8/6/2019 SOA Testing Whitepaper

    2/12

  • 8/6/2019 SOA Testing Whitepaper

    3/12

    IntroductionFew other innovations in IT offer the transformative

    potential of service-oriented architecture (SOA). SOA iscentered around a transformation of your enterprise ITarchitecture into a set of services that can be sharedand reused across application development initiatives.This introduces new levels of business agility and drivesdown IT costs. SOA allows you to: Coordinate services instead of large, monolithic

    applications.You can reduce development coststhrough the reuse of services across multipleapplications, and you can more efficiently leverageexisting enterprise assets by coordinating servicesacross any number of applications.

    Decouple applications from underlying infrastructure.SOA abstracts development from underlying detailand complexity, and it relies on loosely coupled andself-contained services that enable greater flexibility.

    Shift the orientation from technology to business.SOA allows for rapid change by enabling servicesto be easily added, removed, composed\assembledand recomposed as a business grows.

    Without a strategy for SOA, you risk beingoutperformed by competitors that are better equippedto serve customers, seize opportunities and respond to

    changes. The successful deployment of services requiresthe ability to manage the quality of these services soyou can increase the use of IT resources and reuseservices across multiple applications to enhancebusiness agility.

    Understanding SOA With SOA, you can move toward a new enterpriarchitecture, with business functionality exposed

    standards-based, shared and reusable services. SOAa collection of declared services that are independand loosely coupled, but controlled through policThe services are self-describing, and they are assemad hoc to orchestrate business processes. SOA is approach to constructing enterprise systems fromcomponents in which a system consists of a set collaborating services corresponding to higher-levbusiness use caseseach of which provides a wedefined collection of functionality available overthe network.

    SOA is an implementation process of having servthat are shared among applications. Service provicreate services, and service consumers utilize thservices. Composite services are made up of twomore services, and web services create a commoplatform that enables SOA. There are multiplecomponents to web services: Simple Object Access Protocol (SOAP) provide

    envelope for sending the web services message The Web Services Definition Language (WSDL

    the basis for web services. A service provider descits service using WSDL.

    Universal Description, Discovery and Integration registries can be searched to quickly, easily anddynamically find and use web services.

    The services used in SOA are not limited to web sebut can include other technologies such as DistribComponent Object Model (DCOM) and XML overMethod Invocation (RMI).

  • 8/6/2019 SOA Testing Whitepaper

    4/12

    Aligning IT resources andbusiness objectivesCompanies are looking for ways to move faster torespond to changing business drivers, such as marketconditions, customer requirements and competitivethreats. SOA allows businesses to react more quicklywith greater agilityand promises to: Allow IT to better and more economically support

    business initiatives Reduce time-to-delivery for new services because the

    implementation of business processes will be highlyconfigurable

    Streamline application integration Better utilize development resources through the reuse

    of existing assetsSOA offers tremendous business advantages, but italso places pressure on your IT organizations to makesure that services and infrastructure continue to meetthe changing needs of your business. You need toimplement Business Technology Optimization (BTO)solutions that bring IT into full alignment with thebusiness to ensure that IT is focused on addressingbusiness priorities and delivering maximum value.

    BTO optimizes the strategic touch points where technologyand the business meet, and HP allows IT to enable anSOA lifecycle approach. You can manage servicequality and conformance, enabling services to scale ina production environment. HP Software offerings canmonitor services to enable compliance and quicklyidentify problems before they impact the business.

    HP offers SOA application delivery solutions forthe functionality and performance of individual seand composite applications comprised of multipservices, and SOA application management solutfor monitoring and measuring services and compapplications in production based on service levagreements (SLAs).

    HP also offers SOA governance solutions formanaging the consistency, predictability, changeand interdependencies of services and compositeapplications. By selecting solutions from HP, youdevelop, manage and evolve composite applicatioover time to address new business requirements aenable the successful delivery of the functionalitperformance expected by users throughout yourorganization.

    Implications of SOAon testingThe shift toward SOA is not risk-free. Many movinmust work together closely amid constant chanServices have diverse characteristics. With SOA cmultiple stakeholderssuch as service providers service consumersand services have independelifecycles tied to how they are developed and mainta

    Successful implementations of SOA require that seremain interoperable despite all of the inevitablechanges they face.

    SOA introduces increased complexity to IT, and tcomplexities center on new relationships that neebe managed. There are technical relationships, sinservices depend on infrastructure and applicationdepend on services. But there are also organizatio

  • 8/6/2019 SOA Testing Whitepaper

    5/12

    relationships. Providers of services need to collaborateacross roles and functions to define, develop andmanage services, and consumers and providers needto collaborate to negotiate SLAs and other terms andconditions for using a service. Throughout the lifecycleof a service, providers are inevitably going to changethe service and consumer needs are inevitably goingto evolve. You need to be able to address ongoingquestions throughout the lifecycle of a service, such as: How do we enable services to meet functional

    requirements? How do we enable services to scale in production? How do we manage the complexity of testing

    dozensor even hundredsof services? How do we quickly identify and resolve response-

    time issues for services? How can QA understand the overall impact of

    testing coverage needed when services change? How can we enable services to be interoperable

    throughout the enterprise and comply with industrystandards?

    How can we start testing as early as possible in thedevelopment cycle?

    How can we test services and systems even whentheir supporting infrastructure is not present or is down?

    How can we continue to share services acrossmultiple applications as services change and evolve?

    All of this complexity needs to be managed to improvethe outcomes of SOA initiatives. IT needs the ability totest the shared SOA abstraction layer as a self-entityregardless of changing application lifecycles. By testingan SOA abstraction layer, IT can verify that it continuesto deliver expected functionality and performance overtime to diverse enterprise applications. SOA has manyother implications on testing, including the needs to: Gain visibility of shared services.You need to

    provide broad visibility into shared services so thatdifferent departments and individuals can play keyroles in the quality process. One of the greatestchallenges is to understand both the business impactand the proper prioritization of deployment-relatedissues by gaining visibility into both the broaderbusiness layer and shared services.

    Understand the vulnerabilities of shared services.Services can be provided by different departments,and shared services can be utilized by multipleapplications. Testing is essential throughout the lifecycleof services to verify that changes in services do notharm other applications that utilize them. Serviceproviders can change services developed for a specificapplication without realizing the impact that these

    changes might make on other applications sharithese services. Shared services include securityreliable messaging, which are managed accordito policies, and there are many potential points failure for any given service. Services therefore to be continuously tested to ensure that they do create bottlenecks or fail to perform as expectedthroughout their lifecycles.

    Manage quality over time.Services need to encoma quality assurance focus, and IT needs to build

    manage a QA process to manage quality over tiQuality objectives must be carefully defined wicentralized quality assurance and distributed tasoptimize the use of IT resources in supporting se

    Manage massive numbers of services and data.Composite applications rely on shared services may be used throughout the enterprise. QA mayto manage hundredsor even thousandsof shservices that are often changing and evolving.

    Manage new SOA testing aspects.Since WSDLused to describe web services, you need to devecommon standards so different applications canon shared services. For example, if your archidefines internal standards, your developers needprogram against those standards. But differendepartments may use different programming toso interoperability testing is essential. The needinteroperability introduces more moving parts aless control than development organizations havever managed in the past.Services must be compliant with organizationalstandards so they can be consistently tested by difQA teams throughout the enterprise, and organizaneed the ability to validate that services conformestablished standards. QA also needs to be ableperform boundary testing by invoking each servoperation with data and meta-data that surpasse

    WSDL specification; for example, QA may neeability to test the boundaries of SOAP headers. also need the ability to test the performance of serand simulate performance under different threshto ensure that services will scale over time.

    Enable service availability for testing.Services nto be available for testing early in the developmcycle. When a WSDL service description is agrupon, QA can start implementing actual tests bthe service arrives from development. You also the ability to test complex environments with mservice back-ends. For example, a service that ron accessing sensitive data such as employee sosecurity numbers could be tested without makindata freely available throughout the QA cycle.

  • 8/6/2019 SOA Testing Whitepaper

    6/12

    Create a lifecycle quality process.Services must betested throughout their lifecycles, from the developmentstage through production deployment until end of life.Testing should be integrated into the lifecycle processso that services can evolve over time while ensuringthat they work successfully with multiple applications.

    Analyze the impact of changes.One of the majorchallenges in QA is the decision of how to effectivelytest changes that occur. You need to determine whichchanges potentially cause major risks, and where the

    best places are for QA to invest their efforts and wherethey can perform minimal validation to optimizeresources. In traditional application testing processes,the QA challenge has been to understand the changesdevelopment made and decide whether they neededto be tested. Understanding the impact of changes ismore significant in shared services due to the numberof services involved, the number of internal dependenciesand the number of applications using shared services.

    Implement functional and performance testing.Services need to be tested throughout their lifecyclesto ensure they function as promised and provide the

    expected performance and throughput. SOAencompasses additional functional and performancetesting challenges. In traditional testing of enterpriseapplications, a test engineer could test against thegraphical user interface (GUI). The GUI client madeit easier to understand business processes and dataflows, but with SOA, services are tested against the

    WSDL without a GUI available to simplify businessprocesses and data flows.

    Perform asynchronous testing. With SOA, servicesare often not synchronized, so QA must be able totest business processes out of sequence when necessary.QA needs the ability to address asynchronouscommunications mechanisms such as the polling ofdata, polling-through-proxy and callbacks through

    WS-Addressing as well as other standards. Test other technologies that can expose services.

    You also need the ability to run tests that supportother technologies that can expose services, such as

    Java Message Service (JMS), which is a middleware Application Programming Interface (API) for sendingmessages between two or more clients; and RMI,which is an API for performing remote procedure calls.

    HP qualitymanagement solutionToday, how quickly you add or enhance servicescritical applications can be the difference betwekeeping or losing a customer. Winning companimanage costs and risk while ensuring their softwapplications are aligned with business goals. Thwhy enhancing the quality and performance of shservices in pre-production has become critical to viability of the business.

    Our BTO approach to delivering high-quality, higperformance application delivery solutions helps business outcomes. By increasing quality and performof services and managing change throughout their lifecycles, IT can have a direct impact on the busvalue associated with critical services. HP applicadelivery solutionsHP Quality Center software Performance Center suiteallow you to: Drive the rapid delivery of services and compos

    services Make better-informed go-live decisions Reduce the time and cost of deploying new serv Decrease software defects Gain real-time visibility into the health of servic

    and infrastructure Verify services are ready to deliver their intende

    business results

    Ease of useHP offers solutions that allow QA engineers to sithe ongoing testing of services and decrease scripthrough automation. These solutions are designehelp QA professionals swiftly develop and executests. They simplify the service invocation and seaspects of testing, and allow QA to test services iparallel to the development cycle.

    For example, HP supports non-GUI testing so QAcreate tests against the WSDL. HP also simplifies thespecially XML, so that QA can focus on developand driving tests that will provide the greatest valthe organization. Application delivery solutions f

    HP allow organizations to efficiently enable complwith corporate standards, even in organizations thuse multiple development tools.

  • 8/6/2019 SOA Testing Whitepaper

    7/12

    HP Quality Center softwareMany of the challenges identified earlier in this paperwere focused on management, and HP Quality Center

    software provides a web-based system for automatedsoftware quality testing and management across awide range of services. HP Service Test Managementmodule provides integration with HP SOA Systinetsoftware and other third-party SOA registries, providingfull visibility for QA teams. HP Quality Center enablesthe IT team to engage in service testing even beforethe development process is complete. This shortensrelease schedules while enabling the highest level ofquality. With HP Quality Center, IT can: Make go-live decisions with confidence Standardize and manage the entire quality process Reduce service deployment risk Improve service quality and reliability Manage service change impact through manual and

    automated functional testing Enable quality in strategic sourcing initiatives Warehouse critical service quality project data

    HP Quality Center along with HP Service TestManagement provides major advantages in testingSOA services and allows you to benefit from:

    ManagementSolutions from HP map the SOA to the applicationdevelopment cycle and drive the QA process. HPQuality Center Dashboard module is used by managersto access a simple, comprehensive view of systemquality. It provides the ability to centrally managemasses of assets, including services, messages,requirements and tests. IT can allocate resources, trackchanges, measure

    results and provide management with the informaneeded to monitor the status of application developand delivery.

    A full quality processIT can implement a complete testing process that inunit testing, functional testing and performance tso that SOA services can be validated to deliver tfunctionality and performance that the organizatiexpects from them.

    Quality over timeServices will undoubtedly change throughout thelifecycles, which can potentially result in unintennegative consequences to some or all of the applicathat utilize them. HP Quality Center provides theto understand changes and evaluate the impact thchanges in a service can have on different applicat

    An HP Quality Center user can refresh the servicdefinitions, which will result in comparing the cu

    WSDLs to the WSDLs stored in HP Quality CentServices that have been changed and their relatedwill be highlighted so the user will know that chaservices should be verified again.

    Throughout the lifecycle of a service, providers ainevitably going to change the service and consumneeds are inevitably going to evolve. Key performindicators (KPIs) can be measured and tracked soQA can understand the scalability demands on anapplication, and HP Quality Center Dashboardtechnology provides management with the abilityview KPIs to instantly assess quality levels acrosspre-deployment projects and track KPIs across all pand over time.

    igure 1.HP supports non-GUIesting.

  • 8/6/2019 SOA Testing Whitepaper

    8/12

    HP Business Process Testing softwareHP Quality Center also offers HP Business ProcessTesting, which is the industrys first web-based test designsolution that bridges the quality chasm between subject-matter experts and quality engineers. It is a systempurpose-built to enable subject-matter experts to build,data-drive and execute manual and automated testswithout any programming knowledge. HP BusinessProcess Testing introduces the concept of reusablebusiness components for test design, which drasticallyreduces test maintenance and improves testcreation efficiency.

    Every business process is built from multiple services,and each of these services is a component within HPBusiness Process Testing. When a single componentchanges, the tester can update the component and thechange will be automatically populated into otherbusiness processes that use the service. With HPBusiness Process Testing, users can copy and pastecomponents, business process tests and test sets. Thisallows organizations to leverage testing assets acrossmultiple applications and different testing teams. It alsosaves testers time and effort, leading to improvedproductivity and efficiency.

    Functional and performance testingHP offers solutions for testing the functionality and

    performance of services. HP Service Test softwareprovides a solution that allows QA engineers tosimplify the ongoing testing of services and decreasescripting through automation. Users can efficientlyenable compliance with corporate standards, even inorganizations that use multiple development tools. HPService Test does not require a UI for services testing,and the scripts created can be used for both functionaland performance testing.

    HP Service Test is an offering within HP Qualitythat provides an outstanding solution for functionand regression test automation, and it addresses emajor software application and environment. HP STest satisfies the needs of both technical and nontechnical users. It enables IT to deploy higher-quservices faster, cheaper and with less risk.

    HP Performance Center suite allows QA to test thperformance of services. It includes integrated appliand a business dashboard for key performanceoptimization activities, including load testing anddiagnostics across complex, heterogeneous compenvironments. HP LoadRunner software preventsperformance problems in production by detectingbottlenecks before a new system or upgrade is deploQA can verify that new or upgraded services will dintended business outcomes before they go live, prevover-spending on hardware and infrastructure.

    HP LoadRunner is the industry-standard load tessolution for predicting system behavior and performand the only integrated load testing and diagnosolution in the market today. Using limited hardresources, HP LoadRunner emulates hundreds othousands of concurrent users to put services throthe rigors of actual user-load conditions. IT can sservices from end to end and measure the response of key business processes. QA can measure end-t

    performance, diagnose service and system bottlenand enhance performanceall from a single poincontrol. It supports a wide range of enterpriseenvironments, including web services, J2EE and

    igure 2.Sample HP LoadRunneroftware diagnostics for SOA

  • 8/6/2019 SOA Testing Whitepaper

    9/12

    IT can rely on HP Service Test for functional testing andHP LoadRunner for testing the performance of services.IT has unique, shared needs for both functional andload testing as well as specific needs for each, and HPintegrates HP Service Test and HP LoadRunner so QAcan efficiently manage functional and performancetesting of services.

    Shared SOA requirementsBoth functional and performance testing tools requireinteroperability with diverse toolkits so services can beclearly defined, understood and shared throughout theenterprise. HP Service Test offers support for leadingdevelopment environments, including the .NET 2.0framework, and the APACHE Axis framework. HPService Test offers JMS protocol support, and supportfor asynchronous testing.

    HP Service Test offers automatic generation of testingaspects, such us positive/negative testing. HP ServiceTest also offers server-side recording that allows recodingon traffic when there is no client generating the traffic.

    HP allows QA to implement non-GUI testing so thatSOA services can be tested earlier in their developmentcycle, and supports service emulation so IT can quicklycreate a service whenever it is not available and easilyparameterize its response so that it can be used forearly test creation. Given an agreed-upon WSDL, anemulated service can be created and deliver expectedreturn values so a full test suite can be implemented.

    You can protect your investments in developing scriptsby re-using functional testing scripts throughout theload testing process. Functional test scripts developedin HP Service Test can be used in HP LoadRunner totest the performance of services.

    SOA performance testingIT needs the ability to monitor services and predicperformance under loads. Using minimal hardwaresources, HP LoadRunner emulates hundreds or thoof concurrent users to put the services through theof real-life user loads for virtually any client platfenvironment. QA can stress a service from end toacross all architectural tiersapplying consistentmeasurable and repeatable loadsthen use the dto identify scalability issues before they impact end

    HP LoadRunner measures the response times of kbusiness processes and transactions, uncovering eto-end performance problems. The product emploreal-time performance monitors that capture and dperformance data from every tier, server and compoHP LoadRunners sophisticated analysis module IT to drill down to determine the specific source obottlenecks and generate actionable reports. WithLoadRunner, load testing scripts, scenarios and recan be stored and viewed in HP Quality Center toenable traceability of performance testing requirem

    You can create an SOA abstraction layer that requdiagnostics, and QA can test SOA services hosteddifferent logical and physical entities while enablitraceability of any performance problems. HP Diagnsoftware technology within HP LoadRunner helpprovide 24x7 performance and better quality of se

    throughout the enterprise. It allows you to test seracross heterogeneous technology boundaries such Java, J2EE and .NET, and allows management to end-to-end visibility into performance throughoulifecycle of services.

  • 8/6/2019 SOA Testing Whitepaper

    10/12

    SOA functional testingHP Service Test helps customers automate the testingprocess for non-UI testing of services. It provides theability to import WSDL (Web Services DescriptionLanguage) and validate its functionality and XML data.This functionality removes the need to create temporaryUIs for QA and helps save time and money.

    HP Service Test also provides a stub-simulation capabilitythat allows customers to simulate multiple services in QAwithout having to replicate the production environment.This also helps QA conduct interoperability and validatethat a service will perform the same under different clienttechnologies. As with all HP testing solutions, HP ServiceTest is fully integrated with HP Quality Center as anautomation tool for the execution of functionaltesting services.

    For a combination of UI and web services testing, HPQuickTest Professional software allows IT to performfunctional testing of GUI-based applications leveragingservices.

    Integration withapplicationmanagement andgovernance solutionsOur application delivery solutions are integrated withour application management and governance solutionsso you can implement a lifecycle approach to SOA.

    Application management with HPBusiness Availability Center softwThe HP approach to application management for services focuses on enabling companies to achievexpected value from services during the normal dday operations of the business. HP Business

    Availability Center software includes functionalithelps you manage and enhance services so that thcan deliver better value to the enterprise. It delivevalue in SOA implementations in three key areas1. Service level management. HP Business Avail

    Center enables business and IT to agree on, manand enable visibility into how an application isdelivering the actual business service in real tiand over time.

    2. Problem resolution. It facilitates fast problem detand notification so that despite SOA complexitperformance issues can be quickly diagnosed mean time to repair can be reduced.

    3. Change impact. HP Business Availability Cenlessens the risk of frequent changes in shared seby quickly detecting them and establishing their i

    HP Business Availability Center consists of multapplications that work together to deliver SOAmanagement including a real-time, correlated centrdashboard. HP Business Availability Center applicinclude: HP End User Management software, which prov

    real and synthetic monitoring of end-to-end webservice transactions

    igure 3.HP QuickTestrofessional can set a checkpointgainst web services.

  • 8/6/2019 SOA Testing Whitepaper

    11/12

    HP Service Level Management software, whichenables setting, measuring and reporting onperformance criteria as it relates to the business

    HP System Availability software, which deliversagentless monitoring of the underlying SOAinfrastructure

    HP Application Mapping software, whichautomatically and dynamically discovers and mapsSOA environments and provides the foundation forchange impact

    HP Diagnostics software, which supplies critical, low-level problem analysis and troubleshooting for J2EEand .NET environments

    Governance with HP SOASystinet softwareSOA governance consists of the corporate, business andIT processes and rules required to control and guidethe business success of an SOA implementation. SOAgovernance provides a means to enable the quality,consistency, predictability, change and interdependenciesof services. Its overarching goal is to manage thecomplexity created by SOA by enabling you to capitalizeon the powerful promise of SOA without sacrificingcontrol, predictability and efficiency. SOA governanceis focused on: Visibility. You need a single system of record that

    captures all of the information about services. Thisinformation includes service descriptions, policies,technical documents like WSDLs and schema, contracts,and other metadata that help service consumers tofully understand the intent, operational realities andthe trustworthiness of services.

    Trust. Without trustworthy services, consumers willtypically recreate rather than reuse existing services,which undermines the overall purpose of SOA.Creating a system of record enables you to capturethe information necessary to create a trust profile thatmakes the quality and trustworthiness of a servicevisible and apparent to consumers. Another aspect oftrust is the ability to formalize consumer/providerrelationships with an enforceable agreement thatspecifies service-level expectations and any otherterms, conditions and details that need to be agreedupon as the basis for service consumption.

    Control. You need to manage services just as youmanage other high-value IT assetsfrom introdto final retirement and at every step in betweenmeans managing access to services, and ensurinthey are visible and accessible to only authorizestakeholders. As services evolve, you need to be aanticipate the impact of changes to ensure modificto a service do not disrupt other services andapplications where dependencies exist.

    Visibility, trust and control are essential for you tocapitalize on the promise of SOA. HP SOA Systinsoftware has been a leader in SOA for more than years. HP SOA Systinet has earned a distinguishereputation of trust by consistently building awardwinning products and guiding customers of all sizdesign and deploy effective SOA infrastructures. SOA Systinet software is the most complete SOAgovernance and lifecycle management platform,providing a trusted system of record and a compleset of capabilities for establishing the visibility, trand control critical to SOA success. All servicesdefined in HP SOA Systinet can be linked into th

    Quality Center to drive the QA process.

    SummaryHP offers the only comprehensive solution availatesting SOA services and interfaces, managing quand enabling performance throughout the lifecycservices and composite applications.

    With HP Quality Center and HP Performance CeIT can integrate testing with the SOA ecosystem services throughout their lifecycles and enable sh

    services to be continuously used by compositeapplications. HP offers the diagnostics and monitthat enable IT to manage an abstraction layer forservices, and also delivers integration with SOAgovernance so that companies can centrally focusmanaging the quality, consistency, predictability,change and interdependencies of services.

    You can better align IT investments with operatiogoals, and enhance the use of IT resources to supbusiness objectives. SOA introduces increasedcomplexity to IT, but the opportunity to reuse seracross the enterprise creates increased business agHP offers SOA application delivery solutions forthe functionality and performance of services, allIT to aggressively deploy high-quality services anmore efficiently utilize development resources thrthe reuse of existing assets. HP has the only solutthat can manage quality, test services and integrawith the SOA ecosystem. For more information, v

    www.hp.com/go/software

  • 8/6/2019 SOA Testing Whitepaper

    12/12

    To learn more, visit www.hp.com/go/software Copyright 2007 Hewlett-Packard Development Company, L.P. The information contained herein is subject tohange without notice. The only warranties for HP products and services are set forth in the express warrantyatements accompanying such products and services. Nothing herein should be construed as constituting andditional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Java isU.S. trademark of Sun Microsystems, Inc.AA1-1389ENW, March 2007