BIO PRESENTATION F4 Friday, October 31, 2003 10:00 AM W EB S ERVICES : O VERVIEW AND T EST ING S TRATEGY Alan Newman Spirent Communications International Conference On Software Testing Analysis & Review October 27-31, 2003 San Jose, CA USA
Alan New man Alan Newman is currently Director of Product Marketing at Spirent Communications where he leads the Enterprise marketing team. Prior to Spirent, Alan worked at Cisco in a variety of Engineering and Marketing roles. Alan has an MBA and an MS in Computer & Information Science.
TM Analyze Assure Accelerate Web Services: Overview and Testing Strategy Presented at STAR West October 31, 2003 Alan Newman Director, Product Marketing alan.newman@spirentcom.com
About Alan Newman • Experience as a: � Software QA Engineer (HP) � Software QA Manager (HP & Octel) � Development Manager (Octel & Cisco) � Program Manager (Cisco) � Marketing Manager (Cisco & Spirent) � What’s next? • Currently working at Spirent Communications leading the Web Services & Application Testing Marketing Team • alan.newman@spirentcom.com TM Analyze Assure Accelerate
Agenda • Web Services Overview • Testing Strategy • A Testing Solution TM Analyze Assure Accelerate
Web Services Overview TM Analyze Assure Accelerate
Web Services Principles • Systems connect through the Internet (or Intranet) to access services • Employ a common protocol to exchange information (SOAP) • Use a common language to share information (XML) • Provide a simple way to find services (UDDI) TM Analyze Assure Accelerate
Web Services Components • SOAP: Simple Object Access Protocol � Protocol for passing XML encoded data � Usually transported over HTTP/S • UDDI: Universal Description, Discovery and Integration Service � Mechanism for dynamically finding web services- “Yellow Pages for Web Services” � Provider publishes; Client searches • WSDL: Web Services Description Language � XML document describing what a Web Service can do, where it resides and how to invoke it TM Analyze Assure Accelerate
Web Services Overview Service Registry (UDDI) Service Description (WSDL) Publish Find SOAP over HTTP(S) Service Service Request Service Requestor Service Provider TM Analyze Assure Accelerate
Service Oriented Architecture Web Services Client Web Service TM Analyze Assure Accelerate
Service Oriented Architecture Web Services Web Services Client TM Analyze Assure Accelerate
Service Oriented Architecture: Many to Many TM Analyze Assure Accelerate
Web Services Security • Transport Security � HTTPS: Simple to implement and widely available • WS-Security � Standard proposed by IBM, Microsoft, and VeriSign � Support for multiple signature formats and encryption technologies � Just starting to be implemented TM Analyze Assure Accelerate
Workflows and Business Processes • Single Web Service provides request & response or RPC functionality • Sequence of multiple Web Services to accomplish a task is called a Workflow or Choreography • Multiple competing Workflow standards proposals: � MSFT & IBM: Business Process Execution Language for Web Services (BPEL4WS) � BEA, Sun, others: Web Services Choreography Interface TM Analyze Assure Accelerate
Web Services Adoption Forecast by Enterprise Size Simplified business partner connectivity -traditional Increased developer productivity Simplified application integration Casual/ad -hoc use of services of software Richer application functionality New business models possible -based services Pervasive use in non Commoditization Subscription devices 2002 2004 2006 2008 Contained Within Public dynamic search & use external the users firewall Source: IDC TM Analyze Assure Accelerate
XML Increases to 25% of Network Traffic in 2006 * Excluding XML Traffic •Source: ZapThink, LLC 2003 TM Analyze Assure Accelerate
Business Opportunities for Web Services • Information sharing with consumers or businesses � News, weather, financial information, web searches (Google), etc. • Business integration- transactions for a fee � Airline (SABRE) & hotel reservations, auctions, etc. • Business process externalization- dynamically link partners into business processes � Purchasing, manufacturing, banking, etc. TM Analyze Assure Accelerate
Web Services Requirements • Availability- Requests can come at any time • Capacity- Number of simultaneous requests can be huge • Performance- Need to insure fast time to the end user, so the Web Service must respond quickly TM Analyze Assure Accelerate
The Need for Capacity The capacity to scale to unpredictable levels in a production Web services deployment is a requirement for organizations that are planning to connect enterprise applications, customers, suppliers, and potentially business partners. Without the ability to scale quickly to meet the requests in a growing Web services environment, large-scale Web services deployments are doomed .” Source: ”XML Networking: Moving up the Stack” The HTRC Group, 2003 TM Analyze Assure Accelerate
Web Services Testing Strategy TM Analyze Assure Accelerate
Similarities between Web Services & Web Site Testing • Many “users” in remote locations • Multiple “user types”- different browsers & different applications • Need to capture dynamic data in a response and use in subsequent request (Session ID, search results, etc.) • Often 3-Tier Architecture: Web Server, Application Server, Database Server • Use HTTP/S for transport • Network affects performance- System Test needs to test Network infrastructure • Testers have good job security! ☺ TM Analyze Assure Accelerate
Differences between Web Services & Web Site Testing • Web Services “user” is an application- not a person • Web Services “Think Time” is application processing time • Web Services can use other transports besides HTTP- JMS, SMTP, etc. • Harder to spot bugs in a SOAP Message (XML) than a Web Page (Browser) • Even for a simple interaction you need a test tool- hard to do “manually” • Performance is even more important, because there may be a real person interacting with the application that is making the Web Services request TM Analyze Assure Accelerate
Testing Process for Web Services • Define the scope of testing • Plan the functional tests: test cases, time & resources • Plan the system tests: test cases, time & resources • Run the functional and system tests; tell the developers to fix the bugs • Run the functional and system tests; tell the developers to fix the bugs • Run the functional and system tests; tell the developers to fix the bugs • Run the functional and system tests; tell the developers to fix the bugs • Run the functional and system tests; tell the developers to fix the bugs • Run the functional and system tests; tell the developers to fix the bugs • Run the functional and system tests; tell the developers to fix the bugs • Write a test summary report TM Analyze Assure Accelerate
Web Services Testing: Define the Scope of Testing • Which Web Service(s) will you test? • Will you use UDDI to get the WSDL or is that a given? • What security mechanism will you use? HTTPS? WS-Security? • Is there a Workflow, or are you testing a simple Request/Response service? TM Analyze Assure Accelerate
Web Services Testing: Plan the Functional Tests • Define the parameters to vary in each request • Specify content of each response to verify • Negative testing: � Incorrect parameters � Badly formed SOAP messages • UDDI: Verify publish and find- positive & negative test cases • Workflows: Test valid and invalid Workflows TM Analyze Assure Accelerate
Typical Web Services Topology Web Services Providers Web Services Clients & Service Registries Firewall Load Balancer Switch Router Web Application Database Server Server Server TM Analyze Assure Accelerate
Typical Functional Test Topology Web Services Web Services Providers Functional Test Tool & Service Registries Switch Web Application Database Server Server Server TM Analyze Assure Accelerate
“Economical” Functional Test Topology Web Services Web Services Providers Functional Test Tool & Service Registries Switch TM Analyze Assure Accelerate
Functional Test Tool: Some Selection Criteria • Easily generate Web Service requests from UDDI look-up responses • Extensive verification of SOAP message response • Quickly (automatically?) generate negative tests • Workflow support • Easy to generate tests • Flexibly reporting • Cost TM Analyze Assure Accelerate
Recommend
More recommend