Download Web Services Testing - Lecture Slides | CSCI 7818 and more Study notes Software Engineering in PDF only on Docsity!
Web Services Testing
Mark Lewis-Prazen Web Services Fall, 2006
Outline
- Web Services Proliferation
- Exploring Testing Issues
- Web Service Testing Challenges
- Functionality Testing Challenges
- Publish/Find/Bind Testing Challenges
- Security Testing Challenges
- Performance Testing Challenges
- Web Service Testing Tools
- Information Threads
Exploring Testing Issues
- A key to testing Web services is ensuring their
functional quality, because when you string
together a set of services, you introduce many
more opportunities for error or failure
- Developers are typically poorly versed in security
- coding scrutiny driven by performance issues
- Few development organizations within enterprise
IT shops understand need for vulnerability testing
- Testing was the last bastion of the waterfall
method. But even here the concept of a “freeze” is
ending; testing is becoming a continuous activity.
Exploring Testing Issues (cont’d).
Dynamic environment; more small apps requires diverse skill sets Portfolio Risk Fairly static environment & Skills Mis- match Lack the skills to test; testing spans multiple technologies; the “interface freeze” syndrome Sufficient for running testing of COTS applications - the degree of such expertise in the QA area is typically highly functional in nature QA Skills Do performance testing early; as you construct services and deploy them, performance of service is going to roll out across app Performance testing typically back loaded exercise (if done at all) Performance Testing More synchronous invocation of [multiple] services … challenges Testing tools invoke the application and take a look at what it returns Invocation Category Traditional App Web Service App
Exploring Testing Issues (cont’d).
Possible Opportunities
- A need for more close and effective collaboration between developers and end users …………. ultimately more robust software ???????
- Opportunities for functional and QA areas to develop more flexible skills more in line with the trends in application development and implementation
Web Service/Intermediary Synopsis
- Developers usually build mock Web service environments
- Emulate the myriad of client requests of server via test scripts including vulnerability tests
- Focus of new vendor test tools is to try to quickly and easily emulate any endpoint (client or server) of a Web service
- Point such tools to a valid WSDL and emulate both the client and server endpoints simultaneously
- Verify that the Intermediary (Soap, security, etc).handles the requests and responses as expected and policies are accurately reflected
Web Service Testing Challenges
- Since Web services are composed of loosely coupled distributed over networks, we must test the application:
- end to end;
- service by service;
- and interface by interface.
Functionality Testing Challenges (cont’d).
- Web services have more APIs (one per service) and increased communication paths between those services
- Increased level of integration and interoperability testing
- Who owns this testing? Service provider? Service requester? Both? Others?
- How does trust get established?
Publish, Find and Bind Testing Challenges
- Service providers must advertise their existence to brokers
- Brokers must register the above and provide information of these services through search functions
- Service requesters must find the needed providers and bind to them to consume their services
Security Testing Challenges
- Web application is collection of independent services which come together to provide some value-added functionality
- Value suggests the need for security; for some authentication of users prior to service access
- Consider the case of an application with a myriad of services, each requiring different authentication procedure and enforcing different security policies ……. a testing challenge of significant dimensions
Performance Testing Challenges
- All these loosely-coupled, platform-independent,
highly scalable services are not free
- Major performance problems typically are a result
of :
- Large services without adequate hardware support
- Small services with significant overhead
- Layer on layer; abstraction on abstraction
- Services distributed on a network with its own latency
Performance Testing Challenges (cont’d).
Performance Testing Challenges (cont’d).
And with web services have little choice!