SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
A Practitioners Guide to
Modern SOA Testing
Gaurish Hattangadi




Abstract

Today’s dynamic business needs are shaping the modern IT industry. Lower costs
and faster time to market have propelled forward market-changing phenomenon
like SOA, internet business models and cloud computing. Further, changes in
business needs have led to changes in system architectures, from monolithic
systems and slow batch processes to SOA and real-time processes. These have
resulted in businesses asking a new set of questions to test managers, consultants
and architects, like how does one test these modern SOA systems? This paper
attempts to answer the questions surrounding modern SOA testing.




                                                                        July 2011

                                                          Infosys – Whitepaper | 1
                                                                        July 2011
SOA makes promises that include increased agility, larger application lifecycles, better

                                    complex integrated systems is not a simple task but takes a combination of sophisticated
                                    tools, customized methodologies and a lot of creative approaches to correctly implement,
                                    test and deliver the SOA systems.
      Introduction
                                    (TDM) and accelerated UI automation. It also includes enabling practices such as continuous
                                    integration testing and service virtualization. Testing teams need to test the systems at the
                                    service provider and the client end to ensure an error free execution of systems. Tests also

                                    based data provisioning system is a key factor that we shall examine later in this paper.




Starting Our Journey With A Reality Check
Many of us have been introduced to SOA via webinars, articles and books published by SOA vendors. The promises made by
the SOA evangelists seem easy to achieve and are every CTO’s dream. But it is during the implementation phase that reality
surfaces. Each SOA promise is in reality an enormous challenge. Let us have a quick look at some of the common challenges
we have come across, while implementing SOA, over the recent past:
Figure 1: “Typical SOA Implementation Challenges”



                                                                   Multi-layered
                                                               complex architecture
                                                                 makes it tough to
                                                                  isolate defects.
                                     Testing processes                                     Agility – Enabling
                                      that span across                                   faster change leads to
                                     multiple systems                                          increase in
                                    create complex test                                      integration and
                                        data needs.                                        regression testing.



                                                                    SOA
                                                               Implementation
                                Heterogeneous
                                 technologies -              Challenges                         Integrated Systems -
                               Expensive to test,                                                   More points of
                              and manage a wide                                                 failure result in more
                               variety of systems                                                       defects




                                                                               More Reusability -
                                                  Managing people
                                                                               More problems in
                                                across geographies in
                                                                                 security and
                                                   disparate teams
                                                                                 performance




Some of the challenges SOA brings for the testing teams are that they have to learn new technologies, processes and new tools
that are being used. Many testing teams often check if they can continue to use classical tools and processes in the new SOA
environment. Once they begin SOA testing, they quickly realize that this can’t be done. Let’s look at some of the reasons and
questions that lead to this realization:



2 | Infosys – White Paper
Modern Tool Requirements                                                     Methodology Changes
  SOA has a unique architectural ecology.                                       • A new architecture brings the need for a new approach.
  • Can classical tools test non-UI components?                                   Current black-box lifecycle processes and tools cannot
  • Can these tools cope up with subscriptions to brokers?                        cope with the sudden need for deep grey box testing.
  • Can they interpret messages that       across an ESB?                         For example, we need to test the UI and the components
  SOA has its own set of unique protocols.                                        behind it.
  • Can the current automation tools handle protocols such as SOAP,             • SOA lifecycles are agile and iterative. This in turn increases
    WS-Security etc.?                                                             the importance of automated regression testing. How does
  • Can classical tools take you through a web of component                       one enable continuous integration testing where manual
    invocations for defect isolation?                                             testing is impossible and classical tools do not work?



   End To End Business Process Testing                                          Restricted Access Systems
  • Can current tools handle orchestration of multiple tools that span          • Per - use SaaS systems can drive up the cost of regression
    across technologies? For example: UI automation, middleware                   testing.
    testing, service testing and database querying.
                                                                                • Some systems such as mainframes may not be easily
  • End-to-end process testing can create some complex TDM                        available or accessible for testing.
    requirements that non-SOA monolithic systems would not require.



The SOA Testing Road Map

(and Testing) and Deployment & Production Management. Most SOA vendors provide repositories and BPM/BAM systems
that support deployment and production management phase. These phases are managed by dedicated SOA teams and are not
focus areas for testers. CIT and SIT, which occur at the design, development and testing phase of the SOA lifecycle, hold a lot
of interest for SOA Testers.
The diagram below is an illustration of the different phases of the Core SOA Solution:
Figure 2: “Different Phases of the Core SOA Solution”



    Core SOA Solution




                                                                 Requirements
                                                                  Management                                                              !
                                                                                                          SOA Testing Tools Focus On
   BPM BAM help in process                                                                                Development Veri ation
   monitoring and optimization etc



                                                                                                                                  Focus
                                                                      SOA
                                                                                  Design and                                      Areas
                                                        Manage    Lifecycle        Develop



                                                                                                                                              !
                                                                                                          • SOA Testing Tools are managed
                                                                                                            through testing methodology
                                                                   Deploy                                 • BPM, BAM, Repository Usage And
                               Repositories centrally                                                       Testing Methodology are all
                               manage process
                                                                                                            orchestrated by Governance
                               models and services




                                                                                                                       Infosys – White Paper | 3
Let’s take a closer look at the Design and Develop phase to understand what it takes to implement SOA Testing correctly.

Initial Steps of the SOA Testing Process
SOA Testing focuses on three system layers:


    1   Services Layer               2   Process Layers                                       3   Service Consumers

          Includes services                 Contain implementation aspects of                        These can be
          exposed by systems                business processes. They mostly exist as                 other services
          which are derived                 composite services, choreographies and                   or user interface
          from business                     process models (orchestrations). These                   components.
          functions.                        processes might also be embedded in
                                            user interfaces, ETL tools or domain
                                            models. We would focus on processes that
                                            are implemented in user interfaces and
                                            process layers.




Next, we validate the processes implemented within the process layers (this is synonymous with integration testing for providers).


The subsequent step is to test service consumers. UI automation is a possibility and is encouraged for improved regression
testing. Service consumer testing ensures that the entire system stack works as expected. SOA brings with it huge regression
needs, because of which the tests are rolled into regression suites, to shield them from breaking changes.
This process changes slightly for systems with no separate process tiers. In such cases, processes are embedded inside the user
interfaces and domain models. The key in such cases is to test services and then automate consumer testing for validating
processes and the system stack. This approach is shown in Figure 3 below:
Figure 3: “SOA Testing – The Four Step Approach”




4 | Infosys – White Paper
Challenges in SOA Testing Processes Implementation
SOA testing processes are hard to implement because of the need for complex supporting work streams. For example, regression
tests can only run correctly if systems exposing services have the right data. The capabilities of test data traceability and
           based data provisioning are key prerequisites for running regression suites. Another suitable example is the process
for accelerating UI automation. Many processes here have repetitive steps (e.g. login or logout) that require a lot of effort. When
you repeat these steps across test cases then changing them in an agile SOA environment can be quite challenging. Another
challenge in the process is the need to test services that have per-use costs or inaccessible systems.
Let us look at some aspects of supporting processes below:
   1.         Providing    based data provisioning and catering to data integrity, data volatility, federated data integrity and
        data masking: The practitioner’s answers lie in TDM solutions or in Systems Virtualization.
   2.          Accelerating
                       UI Automation: Select tools or develop frameworks that generate UI automation scripts and centralize
        repetitive activities. An example here would be the Test Automation Accelerator (ITAA) from Infosys.
  3. Access Constrained Systems: Use service virtualization to alleviate services that have per use costs or are not available for
     testing.
  4. Continuous Integration Testing Mandates: Use testing tools that are capable of monitoring changes in your repositories.
     They must run regression suites to avoid breaking changes. Execute regression suites on all major build and releases for
     effective test coverage.
Below we cover some other aspects of the SOA Testing processes:
  1. Security Mandates: Use security testing tools with a matching process that focuses on grey box and black box testing.
     Remember to use penetration testing tools and look for common roadblocks such as injection (script) and denial of
     service. In some application architectures, testing services for security is vital in order to check the weak links in the
     security chain.
  2. Performance: Services and process models can be obstacles to performance. Sometimes even patches to underlying
     infrastructure such as ESBs can affect performance. Other likely performance bottlenecks include services that transform
     data (especially outside transformation containers) and services that are synchronously invoked from consuming
     applications (especially where performance needs are critical enough to bypass ESBs).
  3. Ensuring Compliance to Governance Mandates: Governance mandates include ensuring compliance to policies such as

        these needs and utilize your ESB/repository vendor’s product stack completely. Your SOA testing tool might support these
        needs as well.



The SOA Test Automation Process

essentially agile and the ever-changing SOA world. Your choice of tools will be determined by your needs. These needs vary
from simple open source tools to bleeding edge commercial stacks. Your approach however will almost always be the same
and is shown in the illustration (Figure 4):




                                                                                                         Infosys – White Paper | 5
Figure 4 is a           view of test automation for SOA (excluding TDM, end-to-end testing with UI automation, etc) and
targets very generic SOA systems. The main steps here are:
  1. Testers use an automation tool to invoke services or to publish and subscribe to a broker. Services can be REST/POX/
     JSON/SOAP exposed over multiple transport protocols like HTTP, FTP, and JMS etc. Brokering is mostly provided by
     ESB’s such as from IBM, TIBCO etc.
  2.
       script (Java). Validation rules can range from plain arithmetic (<. > . =) to customized complex Java.
  3. Testers have a variety of options for parameterization.
  4. Test Cases are rolled into regression suites.
  5. Suites can be executed on schedule or triggered to execute on changes to repository.
  6. NFRs can play a major role as most testing tools allow functional tests to be rolled into performance suites. Some tools
     also include security testing features.




6 | Infosys – White Paper
Have We Overcome all Challenges?
Now that we have discussed the processes and the automation approach to SOA testing, we can now                  and see if we have
indeed looked at solutions to all the challenges discussed at the start of the paper. Let’s look at our initial diagram (Figure 1:
“Typical SOA Implementation Challenges”) and populate it with answers instead of the questions/ challenges.
Figure 5: “SOA Testing Answers”

                                                                    SOA
                                                           Automation tools test
                                                            all components in a
                                                                multi-layered
                                                           architecture and some
                                                             also include defect             Good SOA
                                   Tools like HP’s TDM       tracing capabilities
                                   and IBM’s Optim can                                   Automation tools
                                      overcome the                                        when correctly
                                                                                       leveraged drastically
                                    challenges of TDM
                                                                                         reduce regression
                                      needs in SOA
                                                                                            testing costs



                                                                 The
                                                              SOA Testing
                             Good SOA Tools and
                             methodology adapt
                                                             Answers                             Modern tools aid
                                                                                                service testing and
                              to diverse systems                                                also help in defect
                                   ecology.                                                          isolation.



                                                 Virtualization,
                                                     strong                  Most SOA testing
                                               methodologies and             tools and mature
                                                governance ease               methodologies
                                                implementation                 address NFRs
                                                  roadblocks




  C
About the Author
                                       Conclusion
                                       SOA testing has led to improved testing approaches and a new generation of specialized
                                       tools. SOA testers need to now learn larger processes, tools and expand their skill
                                       sets to encompass a wider range of practices. These include UI automation, TDM,
                                       service virtualization, security and performance. Success in SOA implementations
                                       will come to QA organizations that leverage expertise in selecting the right tools and
                                       supporting processes. This move will ensure that the next generation of systems will
                                       deliver on the promises that meet the business user’s expectations.




Gaurish Hattangadi, Test Consultant, Infosys Limited.

Gaurish’s focus areas include SOA testing and enterprise architecture. He can be reached at Gaurish_Hattangadi@infosys.com.




                                                                                                                      Infosys – White Paper | 7
Soa test methodology

Contenu connexe

Tendances

National%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspectiveNational%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspective
kalimullahmohd89
 
A deployment scenario a taxonomy mapping and keyword searching for the appl...
A deployment scenario   a taxonomy mapping and keyword searching for the appl...A deployment scenario   a taxonomy mapping and keyword searching for the appl...
A deployment scenario a taxonomy mapping and keyword searching for the appl...
Conference Papers
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
Ian Sommerville
 
Half-Push/Half-Polling
Half-Push/Half-PollingHalf-Push/Half-Polling
Half-Push/Half-Polling
YoungSu Son
 
IS-1 Short Report [Muhammad Akram Abbasi]
IS-1 Short Report [Muhammad Akram Abbasi]IS-1 Short Report [Muhammad Akram Abbasi]
IS-1 Short Report [Muhammad Akram Abbasi]
Akram Abbasi
 
Dickey.alan
Dickey.alanDickey.alan
Dickey.alan
NASAPMC
 
Barun_Testing_6yrs
Barun_Testing_6yrsBarun_Testing_6yrs
Barun_Testing_6yrs
BaRuN KuMaR
 

Tendances (19)

National%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspectiveNational%20 online%20examination%20system%20an%20architectural%20perspective
National%20 online%20examination%20system%20an%20architectural%20perspective
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 
Chap3 RE elicitation
Chap3 RE elicitationChap3 RE elicitation
Chap3 RE elicitation
 
Using Quality Models to Evaluate National ID Systems: the Case of the UAE
Using Quality Models to Evaluate National ID Systems: the Case of the UAEUsing Quality Models to Evaluate National ID Systems: the Case of the UAE
Using Quality Models to Evaluate National ID Systems: the Case of the UAE
 
A deployment scenario a taxonomy mapping and keyword searching for the appl...
A deployment scenario   a taxonomy mapping and keyword searching for the appl...A deployment scenario   a taxonomy mapping and keyword searching for the appl...
A deployment scenario a taxonomy mapping and keyword searching for the appl...
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Herramientas De AdministracióN
Herramientas De AdministracióNHerramientas De AdministracióN
Herramientas De AdministracióN
 
VINOD_KUMAR_CV
VINOD_KUMAR_CVVINOD_KUMAR_CV
VINOD_KUMAR_CV
 
Half-Push/Half-Polling
Half-Push/Half-PollingHalf-Push/Half-Polling
Half-Push/Half-Polling
 
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM USSmartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
IS-1 Short Report [Muhammad Akram Abbasi]
IS-1 Short Report [Muhammad Akram Abbasi]IS-1 Short Report [Muhammad Akram Abbasi]
IS-1 Short Report [Muhammad Akram Abbasi]
 
Continuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service VirtualizationContinuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service Virtualization
 
System ana
System anaSystem ana
System ana
 
Dickey.alan
Dickey.alanDickey.alan
Dickey.alan
 
Barun_Testing_6yrs
Barun_Testing_6yrsBarun_Testing_6yrs
Barun_Testing_6yrs
 
Mvc architecture driven design and agile implementation of a web based softwa...
Mvc architecture driven design and agile implementation of a web based softwa...Mvc architecture driven design and agile implementation of a web based softwa...
Mvc architecture driven design and agile implementation of a web based softwa...
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 

En vedette

Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis Primer
Coverity
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
Lior Rokach
 

En vedette (12)

Static Analysis of Computer programs
Static Analysis of Computer programs Static Analysis of Computer programs
Static Analysis of Computer programs
 
Static program analysis tools
Static program analysis toolsStatic program analysis tools
Static program analysis tools
 
[CB16] Be a Binary Rockstar: An Introduction to Program Analysis with Binary ...
[CB16] Be a Binary Rockstar: An Introduction to Program Analysis with Binary ...[CB16] Be a Binary Rockstar: An Introduction to Program Analysis with Binary ...
[CB16] Be a Binary Rockstar: An Introduction to Program Analysis with Binary ...
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis Primer
 
Type Annotation for Static Program Analysis
Type Annotation for Static Program AnalysisType Annotation for Static Program Analysis
Type Annotation for Static Program Analysis
 
Machine Learning for Q&A Sites: The Quora Example
Machine Learning for Q&A Sites: The Quora ExampleMachine Learning for Q&A Sites: The Quora Example
Machine Learning for Q&A Sites: The Quora Example
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Build a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-timeBuild a Recommendation Engine using Amazon Machine Learning in Real-time
Build a Recommendation Engine using Amazon Machine Learning in Real-time
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
10 Lessons Learned from Building Machine Learning Systems
10 Lessons Learned from Building Machine Learning Systems10 Lessons Learned from Building Machine Learning Systems
10 Lessons Learned from Building Machine Learning Systems
 
Introduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningIntroduction to Big Data/Machine Learning
Introduction to Big Data/Machine Learning
 

Similaire à Soa test methodology

Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 Defining and Evaluating the Usability of CMS - Saurabh Kudesia   Defining and Evaluating the Usability of CMS - Saurabh Kudesia
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
STC India UX SIG
 
SOA in banking issues and remedies
SOA in banking   issues and remediesSOA in banking   issues and remedies
SOA in banking issues and remedies
Debajani Mohanty
 
EasySOA: A New Approach to SOA
EasySOA: A New Approach to SOAEasySOA: A New Approach to SOA
EasySOA: A New Approach to SOA
Nuxeo
 

Similaire à Soa test methodology (20)

Graham Bath - SOA: Whats in it for Testers?
Graham Bath - SOA: Whats in it for Testers?Graham Bath - SOA: Whats in it for Testers?
Graham Bath - SOA: Whats in it for Testers?
 
Soa Driven Project Management
Soa Driven Project ManagementSoa Driven Project Management
Soa Driven Project Management
 
SOA helps in building Interoperability, Agility, and Flexibility
SOA helps in building Interoperability, Agility, and FlexibilitySOA helps in building Interoperability, Agility, and Flexibility
SOA helps in building Interoperability, Agility, and Flexibility
 
All you need to know about SOA testing- Bahaa Al Zubaidi.pdf
All you need to know about SOA testing- Bahaa Al Zubaidi.pdfAll you need to know about SOA testing- Bahaa Al Zubaidi.pdf
All you need to know about SOA testing- Bahaa Al Zubaidi.pdf
 
M017258892
M017258892M017258892
M017258892
 
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 Defining and Evaluating the Usability of CMS - Saurabh Kudesia   Defining and Evaluating the Usability of CMS - Saurabh Kudesia
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 
SOA testing tools
SOA testing toolsSOA testing tools
SOA testing tools
 
SOA testing tools
SOA testing toolsSOA testing tools
SOA testing tools
 
Business Results: Get there faster with SOA Governance
Business Results:  Get there faster with SOA GovernanceBusiness Results:  Get there faster with SOA Governance
Business Results: Get there faster with SOA Governance
 
Lecture 2 - SOA
Lecture 2 - SOALecture 2 - SOA
Lecture 2 - SOA
 
Software Development Models by Graham et al
Software Development Models by Graham et alSoftware Development Models by Graham et al
Software Development Models by Graham et al
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development Models
 
Executive Overview Using Soa To Improve Operational Efficiency
Executive Overview Using Soa To Improve Operational EfficiencyExecutive Overview Using Soa To Improve Operational Efficiency
Executive Overview Using Soa To Improve Operational Efficiency
 
SOA in banking issues and remedies
SOA in banking   issues and remediesSOA in banking   issues and remedies
SOA in banking issues and remedies
 
Practical CI/CD Insights: Avoiding Pitfalls in Implementations
Practical CI/CD Insights: Avoiding Pitfalls in ImplementationsPractical CI/CD Insights: Avoiding Pitfalls in Implementations
Practical CI/CD Insights: Avoiding Pitfalls in Implementations
 
Buys2011a
Buys2011aBuys2011a
Buys2011a
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Lecture 01 - Motivation
Lecture 01 - MotivationLecture 01 - Motivation
Lecture 01 - Motivation
 
EasySOA: A New Approach to SOA
EasySOA: A New Approach to SOAEasySOA: A New Approach to SOA
EasySOA: A New Approach to SOA
 
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesInnovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
 

Plus de Infosys

Plus de Infosys (20)

Demystifying Machine Learning for Manufacturing: Data Science for all
Demystifying Machine Learning for Manufacturing: Data Science for allDemystifying Machine Learning for Manufacturing: Data Science for all
Demystifying Machine Learning for Manufacturing: Data Science for all
 
Digital Outlook: Healthcare Industry
Digital Outlook: Healthcare IndustryDigital Outlook: Healthcare Industry
Digital Outlook: Healthcare Industry
 
5 tips to make your mainframe as fit as you
5 tips to make your mainframe as fit as you5 tips to make your mainframe as fit as you
5 tips to make your mainframe as fit as you
 
Mainframe modernization powered by AI
Mainframe modernization powered by AIMainframe modernization powered by AI
Mainframe modernization powered by AI
 
Human Amplification In The Enterprise - Resources and Utilities
Human Amplification In The Enterprise - Resources and UtilitiesHuman Amplification In The Enterprise - Resources and Utilities
Human Amplification In The Enterprise - Resources and Utilities
 
Human Amplification In The Enterprise - Telecom and Communication
Human Amplification In The Enterprise - Telecom and CommunicationHuman Amplification In The Enterprise - Telecom and Communication
Human Amplification In The Enterprise - Telecom and Communication
 
Human Amplification In The Enterprise - Retail and CPG
Human Amplification In The Enterprise - Retail and CPGHuman Amplification In The Enterprise - Retail and CPG
Human Amplification In The Enterprise - Retail and CPG
 
Human Amplification In The Enterprise - Manufacturing and High-tech
Human Amplification In The Enterprise - Manufacturing and High-techHuman Amplification In The Enterprise - Manufacturing and High-tech
Human Amplification In The Enterprise - Manufacturing and High-tech
 
Human amplification in the enterprise - Automation. Innovation. Learning.
Human amplification in the enterprise - Automation. Innovation. Learning.Human amplification in the enterprise - Automation. Innovation. Learning.
Human amplification in the enterprise - Automation. Innovation. Learning.
 
Human Amplification In The Enterprise - Healthcare and Life Sciences
Human Amplification In The Enterprise - Healthcare and Life SciencesHuman Amplification In The Enterprise - Healthcare and Life Sciences
Human Amplification In The Enterprise - Healthcare and Life Sciences
 
Human Amplification In The Enterprise - Banking and Insurance
Human Amplification In The Enterprise - Banking and InsuranceHuman Amplification In The Enterprise - Banking and Insurance
Human Amplification In The Enterprise - Banking and Insurance
 
Mainframe modernization powered by AI
Mainframe modernization powered by AIMainframe modernization powered by AI
Mainframe modernization powered by AI
 
Reimagining the future of IT Infrastructure
Reimagining the future of IT InfrastructureReimagining the future of IT Infrastructure
Reimagining the future of IT Infrastructure
 
Infosys Amplifying Human Potential
Infosys Amplifying Human PotentialInfosys Amplifying Human Potential
Infosys Amplifying Human Potential
 
Snapshots from Infosys Confluence 2016
Snapshots from Infosys Confluence 2016Snapshots from Infosys Confluence 2016
Snapshots from Infosys Confluence 2016
 
Be Digital. Be More.
Be Digital. Be More.Be Digital. Be More.
Be Digital. Be More.
 
Being Digital
Being DigitalBeing Digital
Being Digital
 
Disruptive forces in digital payments
Disruptive forces in digital paymentsDisruptive forces in digital payments
Disruptive forces in digital payments
 
Infosys 'Go Green' Initiative
Infosys 'Go Green' InitiativeInfosys 'Go Green' Initiative
Infosys 'Go Green' Initiative
 
Serving the perfect Information Cocktail
Serving the perfect Information CocktailServing the perfect Information Cocktail
Serving the perfect Information Cocktail
 

Soa test methodology

  • 1. A Practitioners Guide to Modern SOA Testing Gaurish Hattangadi Abstract Today’s dynamic business needs are shaping the modern IT industry. Lower costs and faster time to market have propelled forward market-changing phenomenon like SOA, internet business models and cloud computing. Further, changes in business needs have led to changes in system architectures, from monolithic systems and slow batch processes to SOA and real-time processes. These have resulted in businesses asking a new set of questions to test managers, consultants and architects, like how does one test these modern SOA systems? This paper attempts to answer the questions surrounding modern SOA testing. July 2011 Infosys – Whitepaper | 1 July 2011
  • 2. SOA makes promises that include increased agility, larger application lifecycles, better complex integrated systems is not a simple task but takes a combination of sophisticated tools, customized methodologies and a lot of creative approaches to correctly implement, test and deliver the SOA systems. Introduction (TDM) and accelerated UI automation. It also includes enabling practices such as continuous integration testing and service virtualization. Testing teams need to test the systems at the service provider and the client end to ensure an error free execution of systems. Tests also based data provisioning system is a key factor that we shall examine later in this paper. Starting Our Journey With A Reality Check Many of us have been introduced to SOA via webinars, articles and books published by SOA vendors. The promises made by the SOA evangelists seem easy to achieve and are every CTO’s dream. But it is during the implementation phase that reality surfaces. Each SOA promise is in reality an enormous challenge. Let us have a quick look at some of the common challenges we have come across, while implementing SOA, over the recent past: Figure 1: “Typical SOA Implementation Challenges” Multi-layered complex architecture makes it tough to isolate defects. Testing processes Agility – Enabling that span across faster change leads to multiple systems increase in create complex test integration and data needs. regression testing. SOA Implementation Heterogeneous technologies - Challenges Integrated Systems - Expensive to test, More points of and manage a wide failure result in more variety of systems defects More Reusability - Managing people More problems in across geographies in security and disparate teams performance Some of the challenges SOA brings for the testing teams are that they have to learn new technologies, processes and new tools that are being used. Many testing teams often check if they can continue to use classical tools and processes in the new SOA environment. Once they begin SOA testing, they quickly realize that this can’t be done. Let’s look at some of the reasons and questions that lead to this realization: 2 | Infosys – White Paper
  • 3. Modern Tool Requirements Methodology Changes SOA has a unique architectural ecology. • A new architecture brings the need for a new approach. • Can classical tools test non-UI components? Current black-box lifecycle processes and tools cannot • Can these tools cope up with subscriptions to brokers? cope with the sudden need for deep grey box testing. • Can they interpret messages that across an ESB? For example, we need to test the UI and the components SOA has its own set of unique protocols. behind it. • Can the current automation tools handle protocols such as SOAP, • SOA lifecycles are agile and iterative. This in turn increases WS-Security etc.? the importance of automated regression testing. How does • Can classical tools take you through a web of component one enable continuous integration testing where manual invocations for defect isolation? testing is impossible and classical tools do not work? End To End Business Process Testing Restricted Access Systems • Can current tools handle orchestration of multiple tools that span • Per - use SaaS systems can drive up the cost of regression across technologies? For example: UI automation, middleware testing. testing, service testing and database querying. • Some systems such as mainframes may not be easily • End-to-end process testing can create some complex TDM available or accessible for testing. requirements that non-SOA monolithic systems would not require. The SOA Testing Road Map (and Testing) and Deployment & Production Management. Most SOA vendors provide repositories and BPM/BAM systems that support deployment and production management phase. These phases are managed by dedicated SOA teams and are not focus areas for testers. CIT and SIT, which occur at the design, development and testing phase of the SOA lifecycle, hold a lot of interest for SOA Testers. The diagram below is an illustration of the different phases of the Core SOA Solution: Figure 2: “Different Phases of the Core SOA Solution” Core SOA Solution Requirements Management ! SOA Testing Tools Focus On BPM BAM help in process Development Veri ation monitoring and optimization etc Focus SOA Design and Areas Manage Lifecycle Develop ! • SOA Testing Tools are managed through testing methodology Deploy • BPM, BAM, Repository Usage And Repositories centrally Testing Methodology are all manage process orchestrated by Governance models and services Infosys – White Paper | 3
  • 4. Let’s take a closer look at the Design and Develop phase to understand what it takes to implement SOA Testing correctly. Initial Steps of the SOA Testing Process SOA Testing focuses on three system layers: 1 Services Layer 2 Process Layers 3 Service Consumers Includes services Contain implementation aspects of These can be exposed by systems business processes. They mostly exist as other services which are derived composite services, choreographies and or user interface from business process models (orchestrations). These components. functions. processes might also be embedded in user interfaces, ETL tools or domain models. We would focus on processes that are implemented in user interfaces and process layers. Next, we validate the processes implemented within the process layers (this is synonymous with integration testing for providers). The subsequent step is to test service consumers. UI automation is a possibility and is encouraged for improved regression testing. Service consumer testing ensures that the entire system stack works as expected. SOA brings with it huge regression needs, because of which the tests are rolled into regression suites, to shield them from breaking changes. This process changes slightly for systems with no separate process tiers. In such cases, processes are embedded inside the user interfaces and domain models. The key in such cases is to test services and then automate consumer testing for validating processes and the system stack. This approach is shown in Figure 3 below: Figure 3: “SOA Testing – The Four Step Approach” 4 | Infosys – White Paper
  • 5. Challenges in SOA Testing Processes Implementation SOA testing processes are hard to implement because of the need for complex supporting work streams. For example, regression tests can only run correctly if systems exposing services have the right data. The capabilities of test data traceability and based data provisioning are key prerequisites for running regression suites. Another suitable example is the process for accelerating UI automation. Many processes here have repetitive steps (e.g. login or logout) that require a lot of effort. When you repeat these steps across test cases then changing them in an agile SOA environment can be quite challenging. Another challenge in the process is the need to test services that have per-use costs or inaccessible systems. Let us look at some aspects of supporting processes below: 1. Providing based data provisioning and catering to data integrity, data volatility, federated data integrity and data masking: The practitioner’s answers lie in TDM solutions or in Systems Virtualization. 2. Accelerating UI Automation: Select tools or develop frameworks that generate UI automation scripts and centralize repetitive activities. An example here would be the Test Automation Accelerator (ITAA) from Infosys. 3. Access Constrained Systems: Use service virtualization to alleviate services that have per use costs or are not available for testing. 4. Continuous Integration Testing Mandates: Use testing tools that are capable of monitoring changes in your repositories. They must run regression suites to avoid breaking changes. Execute regression suites on all major build and releases for effective test coverage. Below we cover some other aspects of the SOA Testing processes: 1. Security Mandates: Use security testing tools with a matching process that focuses on grey box and black box testing. Remember to use penetration testing tools and look for common roadblocks such as injection (script) and denial of service. In some application architectures, testing services for security is vital in order to check the weak links in the security chain. 2. Performance: Services and process models can be obstacles to performance. Sometimes even patches to underlying infrastructure such as ESBs can affect performance. Other likely performance bottlenecks include services that transform data (especially outside transformation containers) and services that are synchronously invoked from consuming applications (especially where performance needs are critical enough to bypass ESBs). 3. Ensuring Compliance to Governance Mandates: Governance mandates include ensuring compliance to policies such as these needs and utilize your ESB/repository vendor’s product stack completely. Your SOA testing tool might support these needs as well. The SOA Test Automation Process essentially agile and the ever-changing SOA world. Your choice of tools will be determined by your needs. These needs vary from simple open source tools to bleeding edge commercial stacks. Your approach however will almost always be the same and is shown in the illustration (Figure 4): Infosys – White Paper | 5
  • 6. Figure 4 is a view of test automation for SOA (excluding TDM, end-to-end testing with UI automation, etc) and targets very generic SOA systems. The main steps here are: 1. Testers use an automation tool to invoke services or to publish and subscribe to a broker. Services can be REST/POX/ JSON/SOAP exposed over multiple transport protocols like HTTP, FTP, and JMS etc. Brokering is mostly provided by ESB’s such as from IBM, TIBCO etc. 2. script (Java). Validation rules can range from plain arithmetic (<. > . =) to customized complex Java. 3. Testers have a variety of options for parameterization. 4. Test Cases are rolled into regression suites. 5. Suites can be executed on schedule or triggered to execute on changes to repository. 6. NFRs can play a major role as most testing tools allow functional tests to be rolled into performance suites. Some tools also include security testing features. 6 | Infosys – White Paper
  • 7. Have We Overcome all Challenges? Now that we have discussed the processes and the automation approach to SOA testing, we can now and see if we have indeed looked at solutions to all the challenges discussed at the start of the paper. Let’s look at our initial diagram (Figure 1: “Typical SOA Implementation Challenges”) and populate it with answers instead of the questions/ challenges. Figure 5: “SOA Testing Answers” SOA Automation tools test all components in a multi-layered architecture and some also include defect Good SOA Tools like HP’s TDM tracing capabilities and IBM’s Optim can Automation tools overcome the when correctly leveraged drastically challenges of TDM reduce regression needs in SOA testing costs The SOA Testing Good SOA Tools and methodology adapt Answers Modern tools aid service testing and to diverse systems also help in defect ecology. isolation. Virtualization, strong Most SOA testing methodologies and tools and mature governance ease methodologies implementation address NFRs roadblocks C About the Author Conclusion SOA testing has led to improved testing approaches and a new generation of specialized tools. SOA testers need to now learn larger processes, tools and expand their skill sets to encompass a wider range of practices. These include UI automation, TDM, service virtualization, security and performance. Success in SOA implementations will come to QA organizations that leverage expertise in selecting the right tools and supporting processes. This move will ensure that the next generation of systems will deliver on the promises that meet the business user’s expectations. Gaurish Hattangadi, Test Consultant, Infosys Limited. Gaurish’s focus areas include SOA testing and enterprise architecture. He can be reached at Gaurish_Hattangadi@infosys.com. Infosys – White Paper | 7