Testing Service-Oriented Architectures: A Business Process .

Transcription

www.PeakLearningLLC.comTesting Service-Oriented Architectures: A Business ProcessOriented Approach (3 Days)This course teaches the unique considerations for testing Service-Oriented Architectures (SOAs).Service-Oriented Architectures are comprised of "loosely coupled software services to supportthe requirements of the business processes and software users. In an SOA environment,resources on a network are made available as independent services that can be accessedwithout knowledge of their underlying platform implementation." 1Because of the focus on support of the business or organization, the emphasis in thiscourse is placed on business-oriented black-box and gray-box testing, although other viewsof testing are also covered, such as integration and interoperability testing, security testing andperformance testing.You will start by learning the basics of SOAs and then learn how to create a testing strategy foryour own SOA implementations. Then, you will learn effective processes and techniques forimplementing detailed SOA tests.Since SOAs may be deployed in a variety of environments, this course does not assume aparticular environment or tool set. However, the testing techniques will address many of the mostcommon types of SOA implementations and will show examples of some of the more popularSOA test tools.This course is centered around a common case study which builds throughout the course.Course ObjectivesAttendees will learn: The basic issues and risks of testing Service-oriented Architectures How to create a test strategy for your own Service-oriented Architectures Processes and techniques for SOA testing in diverse environments, including businessprocess validation The nature and purpose of SOA test tools How to leverage SOA test tools in diverse environments The process for performing security, perform and integration testing in SOAs. How to build and manage a test environment that starts to simulate the operationalenvironmentWho Will Benefit Test analysts Testers Test engineers Software developers Project managers QA analystsPeak Learning LLCwww.PeakLearningLLC.com717-541-1357

This program requires basic testing and IT knowledge.Course TopicsModule 1 (SOAA) - SOAs Explained (1.5 hrs.) What is Service-oriented Architecture?Why SOA?SOA PrinciplesBasic SOA Terminologyo Service Providerso Service Consumerso Service RepositoryThe SOA Reference ArchitectureA Traditional ApproachThe Five-Tier ApproachA Focus on IntegrationLifecycle ManagementService ContractsRisks and Challenges of SOAsSOA and Business ArchitectureVarieties of SOA ImplementationsThe "Wrapping" of Legacy SystemsCase StudyModule 2 (SOAB) - Key Components of SOA Testing (1 hr.) Testing Differences and Challengeso Testability (Lack of Access to GUI or Code)o Distributed Nature - Functionality that Spans Multiple Areaso The Testing of Composite Applicationso Importance of Integrationo Performanceo Compliance Testingo Platform and Language Neutralo Dependencies on 3rd Party Web Serviceso Stakeholder Sharing of Web Services Ownershipo Frequent Business and Application Changeso High Demands for Quality of Service (Service Levels)o Reuse of Existing Components and SystemsLooking at the Test Viewso Black-boxo White-boxo Grey-boxPhases of SOA Testingo Unit (Component) Testing Services Adapters Data Maps Business Processes User Interfaces Structural (White-box) Testing for SOA Why Unit Testing Alone Isn’t Enougho Integration TestingPeak Learning LLCwww.PeakLearningLLC.com717-541-1357

o System Testingo User Acceptance TestingFunctional Testingo Top-down Test Designo Bottom-up Test Executiono End-to-end Business Process Testingo Regression TestingPerformance TestingIntegration and Interoperability Testingo The Differences Between Integration and Interoperability TestingSecurity TestingCompatibility TestingAligning SOA Testing with Development ActivitiesCase StudyModule 3 (SOAC) - Developing an SOA Testing Strategy (1.5 hrs.) What Should be in a Test Strategy?How to Design and Document a Test Strategy for Your SOA ImplementationUnderstanding the Uniqueness of Your Architectureo Types of Testingo Phases of Testingo Critical Success Factorso Riskso Assumptionso ConstraintsCase Study - Designing an SOA Test StrategyModule 4 (SOAD) – Testing Web Services (2.5 hrs.) SOAD –Testing Web Services and SOAWhy Web Services?Web Service ArchitectureImportant Things to Understand About Web ServicesService DiscoveryAbout UDDITypes of RegistriesWSIL - Web Services Inspection LanguageWhat is WSDL?o Why Get Into the WSDL?o WSDL in Contexto WSDL Document Structureo Main Structure of a WSDL Documento WSDL Detailso WSDL Exampleo WSDL Operation Typeso WSDL Bindingso SOAP Binding Exampleo RPC vs. Document Language Bindingso Document Exampleo RPC ExampleService Contractso Service Contracts Elementso Operational InformationPeak Learning LLCwww.PeakLearningLLC.com717-541-1357

o Service Contract Principleso Two Levels of Service Contracts in WSDLo WSDL Service-level Data Modelo Reconciling Disparate Data ModelsXML-Related Technologies for SOAo A Little More About XML o SOAP Definedo XML Namespaceso XML Schemaso XML Schema Exampleo The “Payload”o Testing Payloadso Sample WSDLMethods of Testing Web ServicesRepresentative Web Services Test ToolsSoapUI Featureso Web Services Inspectiono Web Services Invocationo SOAP Monitoringo Web Services Message Validationo Web Services Functional Testingo Test Suite Generationo Sample Test Suiteo Test Coverage Monitoro Create Test Reporto Sample soapUI Reporto Web Services Load TestingExercisesSummaryModule 5 (SOAE) - Functional Testing of SOAs (2 hrs.) What is Functional Testing?The Role of Subject Matter Experts in Testing SOAsUnderstanding the Business and Its Processeso Taking the Organizational View vs. an Application Viewo Tests Based on Business Scenarios - Exampleo Identifying the Business Processes to be Testedo A Tool For Prioritizing ProcessesDealing with Datao Defining Business Entitieso A Closer Look at Test Datao Specification of Test Datao Example of Creating Test Datao Test Caseso Evaluating Test Datao Evaluating Test Data Using Toolso Maintaining Test Datao Restoring Test DataCoordinating Process-Driven TestingMessagingWorking with BPEL and Business Integration (BI)The Role of Use CasesThe Role of RequirementsSummaryPeak Learning LLCwww.PeakLearningLLC.com717-541-1357

Module 6 (SOAF) - Performance Testing of SOAs (1 hr.) Stateless vs. Stateful TestsKey Objectives for SOA Performance TestingTesting ScalabilityTesting RobustnessXML ParsingPersistenceTransformationAggregation and FederationData MitigationWhat to Measureo Throughputo Response Timeso Latencyo EnduranceMarkov ChainsA Basic Process for Performance Testingo Choosing the Right Test Cases Knowing What to Testo Applying an Appropriate Tool What to Look for in an SOA Performance Test Toolo Running the Right Volume of Tests and Data How to Determine the Performance Profileso Reaching the Right Conclusions Understanding the Test Results and Taking the Right ActionsSOA Performance Testing at the Unit LevelProfiling the UnitUnit Performance Testing ToolsService Level AgreementsSample Service Management DashboardSummaryModule 7 (SOAG) - Integration and Interoperability Testing of SOAs (1 hr.) Where the Complexity is in SOA'sThe Value of Early Integration TestingTesting Integration and Interoperability at All Phases of Testingo Unit or Componento Systemo UATEnd-to-end Testing of SOAsTesting ServicesTesting Business ProcessesTaking the Organizational View vs. an Application ViewEliminating SilosWorking in Cross-Functional TeamsThe Role of Regression Testing for IntegrationThe Use of SimulationsModule 8 (SOAH) - Security Testing of SOAs (1 hr.)Peak Learning LLCwww.PeakLearningLLC.com717-541-1357

The Security ConcernBasic Levels of SOA SecurityWeb Services Vulnerabilitieso Generic Vulnerabilities Open User Access Cross-site Scripting SQL Injection Buffer Overflowso Web Services Vulnerabilities Deeply Nested Nodes Recursive Payloads Schema Poisoning Malware Traveling Over SOAP MessagesThe Role of Scanning Tools and Other Security ToolsTesting SOAP EncryptionSteps to Securing an SOAXML EncryptionXML SignatureWS-Security StandardOther SOA Security StandardsXrMLSteps to SOA SecurityWhat Can We Test?How Can We Test Security?o A 5-Step ProcessTwo Golden Rules of Security TestingModule 9 (SOAI) - Testing Services and Processes (2 hrs.) Creating an SOA Testing StrategyCreating an SOA Test PlanDefining Business ProcessesThe Role of Use CasesThe Role of RequirementsBoiling it Down to Test Cases, Scripts and Procedureso Basing Test Scenarios on Business Processeso Designing Test Cases to Support Integrated Business Processeso Prioritizing Business and Test ScenariosA Closer Look at Test Datao Specificationo Creationo Evaluationo Maintenanceo RestorationCoordinating Process-Driven TestingModule 10 (SOAJ) - Testing Considerations for Specific Environments (1 hr.) Web ServicesLegacy and Composite ApplicationCommercial Applications (COTS)Module 11 (SOAK) - SOA Test Performance & Evaluation (1.5 hrs.)Peak Learning LLCwww.PeakLearningLLC.com717-541-1357

SOA Test Co-ordination and ManagementHow to Evaluate SOA Test ResultsHow to Know What is Important in SOA Test ResultsSample SOA Test ReportsModule 12 (SOAL) - SOA Test Tools (1.5 hrs.) The Purposes and Benefits of SOA Test ToolsMajor SOA Tools and Vendorso Itko - LISAo Parasoft - SOATesto Mindreef - SOAPScopeo Greenhat Consulting - GH Testero Borland - SilkPerformer SOA Editiono Junit - Open Source Tool for Unit Testingo Agitar - AgitarOne - Unit TestingHow the Tools WorkWhat to Look for in SOA Test Toolso Test-aware Interfaceso Message-Based Test Automationo Accurate Simulation of Application Behavioro Adaptability to Changeo Ease of UseModule 13 (SOAM) - Summary (15 mins.) Key Course ConceptsFinal Q&APeak Learning LLCwww.PeakLearningLLC.com717-541-1357

Stateless vs. Stateful Tests Key Objectives for SOA Performance Testing Testing Scalability Testing Robustness XML Parsing Persistence Transformation Aggregation and Federation Data Mitigation What to Measure o Throughput o Response Times o Latency o Endurance Markov Chains