You are on page 1of 29

Quality Engineering

Introduction to Webservice Testing basics


and Performance Testing
Presenter: Derek Wu, B.Eng
Director of Software Quality, Oceanwide Inc.
Sept 26th, 2007
Presentation Delivery
• Revisiting Quality Engineering

• What are SOA and Webservices?

• Testing Webservices for internal and external use

• Selecting the right Webservice testing tool

• Performance testing indicators and tool selection

Copyright 2007
Quality Engineering Defined
• A systematic approach in delivering a product of
sound quality

• A process that encompasses Standards and Quality


Methodology

• Not just applicable to the Quality Organization or


Group

• A process that encourages cross knowledge between


business and technical teams Copyright 2007
Quality Engineering
Process & Methods

Quality Paradigm

Performance &
Automation
Simulation
Presentation
Overview
Copyright 2007
Quality Engineering Drivers
Standards
• Company Standards
• Quality Methodology
Quality Output
Tools • Approved Test Plans

Outputs
Inputs

• File Mgmt. • Approved BRs


• Defect Mgmt. Process Activities • Approach & Strategy
• Automation S/W • Sound Deliverables
Additional Drivers

Business Criteria Factors for Success


• Business • Infancy Knowledge
Requirements • Vision
• Technical Design • Cohesive Teams
Docs • Technology
• Use Cases
• UML Copyright 2007
Quality Engineering … Cont’d

Black box (i.e. Video


Quality Assurance Game Testing)

Quality Engineering Grey box (Seeing beyond)

Black box (i.e.


Quality Control
manufacturing line)

Copyright 2007
Quality Engineering … Cont’d

Quality Engineering Testing


•Standards
•Process Quality Assurance
•Methods
•Audit Quality Control

Quality Engineering Goal: Plan, Design, and Manage methods


throughout the Development Lifecycle
Copyright 2007
SOA and Webservices defined
• Webservices
• “Methods” that are delivered over the Web
• Defined by WSDL (Web Service Description Language)
• Often leverages common application functions and
delivers it over the Web
• Can be leveraged by customers with legacy systems
• SOA (Service Oriented Architecture)
• A framework allow “systems” to share information over
a defined integration medium
• Made up of a collection of Webservices
• Focused on delivering “web application” functionality
over a secure channel
Copyright 2007
Why Webservices?
• Delivers your company’s application capabilities via defined
methods over the web
• Costs less to develop and integrate
• Leverages existing XML to encrypt and decrypt data over
existing open protocols (SOAP)
• SOAP: Simple Object Access Protocol
• SOAP is a communication protocol for the internet
• SOAP is platform independent
• Exchange data between different applications and
platforms (complete integration)

Copyright 2007
What is a WSDL?
• Stands for Web Service Definition Language
• Describes the Webservice and its associated methods
• Defines the data elements/types (XML Request)
• Defines the data elements/types (XML Response)
• Defines the Operation or the “Web Method”
• 1-way operation (i.e. Get Data)
• 2-way operation (i.e. Request for service with Response)
• Defines Service Bindings
• How to access the services
• Port
• Network Address

Copyright 2007
SOA Architecture
Service Client Integration Tier Service Provider
3 XMlL
Request
4
XML
Response
WSDL Location

Provider Describes the Service using WSDL


Locate Service to see how to formulate Request
1
2

Copyright 2007
Web Service Test Example
• M2K airlines is a new subsidiary of World Airlines and would
like to book their existing customer base on WA flights as
well
• M2K does not want to migrate their existing platform or use
World Airline’s User Interface to leverage WA’s booking
process
• World Airlines to revamp current workflow into a suite of
Booking Webservices for present and future considerations
• QuoteFlight
• BookFlight
• QueryFlightReservation
• DeleteFlightReservation
• EditFlightReservation
Copyright 2007
Webservice Architecture

M2K Web Service Layer World Airlines

Service Provider WA Website


Service Client XML
Response

DB

XML Webservice Methods Access DB


Access to Server Request

Legacy Screen

Copyright 2007
Testing Techniques
• Derive your test cases from existing test conditions
• Break out the testing into Phases (End to End last)
• Isolate each web method and test manually
• Test Error Conditions thoroughly
• Understand the behavior of your Web Application
• Application Level
• Database Level (Fields and Table Structure)
• Data Level
• Understand the “Web Method” Elements and associated
relation to above
• Understand your End-Users input at the Integration Layer

Copyright 2007
Controlling the Test (Isolate)
Booking WS

QuoteFlight
XML XML
Request BookFlight
Response

Invoke QueryRSVP
Dummy Client
XML
Request Response DeleteRSVP

XML EditRSVP
Response

RAW data Service Provider

DB
External Test Data Action DB
http://WebServices/Genoa/bookingflightService.asmx?wsdl

Copyright 2007
Test Integration (End-End Beta)
QuoteFlight
XML
BookFlight
Response

Invoke QueryRSVP
Dummy
Client App XML
DeleteRSVP
Requests
Client Response
EditRSVP
XML
Responses

DB
Real Test Data Action DB

Service Client Service Provider


Copyright 2007
Requirements of Tool

• Parse the WSDL


• Invoke webservice with existing XMLs
• Map tags in Request from an External Data
Source
• Chain operations
• Create batch processes and scheduled tests
• Detailed Reporting
• Create and Report on Differences from
Regression
• Includes Performance Testing
Copyright 2007
Parse the WSDL

Copyright 2007
Use raw XML to invoke WS

Copyright 2007
External Data Source

Copyright 2007
Chaining Operations

Copyright 2007
Batch Processing

Copyright 2007
Detailed
Reporting

Copyright 2007
Performance Testing

Copyright 2007
Why Performance Test?
• Applications are getting more Web “Rich”
• Flash
• AJAX Rich Text
• Applications are getting loaded
• Response times need to be in line with user
expectations
• Know when you are failing SLA (Service Level
Agreement)
• Validate that Hardware meets consumer
growth
Copyright 2007
Why Performance Test? Cont’d …
• Find your breaking point
• Anticipate peak seasons (understand your
business)
• Isolate “slow performers”
• Server CPU %
• Server Response times
• DB stored procedures
• Fine tune your application’s performance
• Baseline your system’s current performance
Copyright 2007
Performance Testing Tips
• Understand current user usage and future
trend
• Isolate business processes that are user-
heavy
• Test important paths
• Anticipate fast users vs. slow users
• Some users are more tolerant then others
• Anticipate traffic patterns (inconsistent)
• Validate server condition on simulated fail
over Copyright 2007
Testing Tool Evaluation
• Ease of use (training time)
• Select the right number of virtual users
• Web service testing included
• Handles the latest web enhancements
• 3rd party navigation menus
• AJAX/Rich Text
• Push to the “workhorse” - Distributing the
load
• Load scheduling (understand you SLAs)
Copyright 2007
The End
email: derekw@oceanwide.com

Copyright 2007

You might also like