● Web services enable clients i.e. users/machines to interact with servers i.e
machines and transfer data over a network.
● Interoperable: Web services allow machines in different platforms to
interact with each other (Fig 1).
● APIs (Application Programming Interface) act as a guideline of how to
access data of different web services.
Terminologies:
XML/JSON - A markup language used to encode data.
Provides standardization. JSON is similar to XML but less
bulky.
SOAP- A type of web service where data is transferred using
XML enveloped in a SOAP request.
RESTful - A type of web service that uses a URI (Uniform
Resource Locator) to send requests and uses both XML and
JSON to get the responses.
Why Web Service Testing?
● Allows businesses to connect all their machines despite
different platform and geographical location.
● A failure in web service operation might result in huge
economic loss for businesses.
● Regression testing ensures that updating web service
does not cause break it and/or reduce its efficacy
(maintain SLA).
● A user session starts when a unique user starts interacting with a web service and
ends when the user quits
● Authentication Key
● Convert test cases into XML based test cases.
● Fault seeding in our web service → Purposefully
adding faulty cases to see if our test cases can catch
the errors.
● Replay test cases on a fault seeded web service.
● Analyze the efficiency of our test cases:
○ How many faults they are able to identify?
○ Code coverage and function coverage?
○ Time taken to return data?
● Compare with other testing methods and do a relative
comparison.
● Our future work will analyze the reports of our web
service test cases to find patterns in test cases that
fail to identify faults.
● Make better test cases.
● Made our own web application by implementing web services
using Django Framework which uses Python:
https://servo.cs.wlu.edu/animals/
● Used PetFinder API, Twitter API, Reddit API and Cat API(to get cat
pictures!)
● Made our own web service so that people can access our
database, using our API. Used Django-Rest Framework.
● API documentation → Instruction manual
● Used SOAP UI to make test cases. Tested our web application.
● Test Cases included property transfer, Groovy script, assertions,
JSON hierarchy test etc.
● Deployed our API so that anyone and everyone can use it!
INTRODUCTION
This research is supported by Summer Research Scholars and Dr. Sara Sprenkle
METHODS SUMMER WORK
FUTURE WORK
Figure 1: This diagram shows how different clients access data on a database using a web service.
Source: http://sharepoint-works.blogspot.com/2012/12/basics-of-web-services.html.
Automated Web Service Testing
Azmain Amin, Mina Shnoudah
Dr. Sara Sprenkle
Department of Computer Science
Washington and Lee University
Fig 2: How a web service works.
Fig 3: Research methodology.
Fig 4: RockBridge Pets web application.
Fig 5: Using Soap UI to test our web application.
Fig 6: The top shows an
example of a successful test
case, and the bottom shows an
example of a failed test case.

Computer Science Research Poster Summer 15(1)

  • 1.
    ● Web servicesenable clients i.e. users/machines to interact with servers i.e machines and transfer data over a network. ● Interoperable: Web services allow machines in different platforms to interact with each other (Fig 1). ● APIs (Application Programming Interface) act as a guideline of how to access data of different web services. Terminologies: XML/JSON - A markup language used to encode data. Provides standardization. JSON is similar to XML but less bulky. SOAP- A type of web service where data is transferred using XML enveloped in a SOAP request. RESTful - A type of web service that uses a URI (Uniform Resource Locator) to send requests and uses both XML and JSON to get the responses. Why Web Service Testing? ● Allows businesses to connect all their machines despite different platform and geographical location. ● A failure in web service operation might result in huge economic loss for businesses. ● Regression testing ensures that updating web service does not cause break it and/or reduce its efficacy (maintain SLA). ● A user session starts when a unique user starts interacting with a web service and ends when the user quits ● Authentication Key ● Convert test cases into XML based test cases. ● Fault seeding in our web service → Purposefully adding faulty cases to see if our test cases can catch the errors. ● Replay test cases on a fault seeded web service. ● Analyze the efficiency of our test cases: ○ How many faults they are able to identify? ○ Code coverage and function coverage? ○ Time taken to return data? ● Compare with other testing methods and do a relative comparison. ● Our future work will analyze the reports of our web service test cases to find patterns in test cases that fail to identify faults. ● Make better test cases. ● Made our own web application by implementing web services using Django Framework which uses Python: https://servo.cs.wlu.edu/animals/ ● Used PetFinder API, Twitter API, Reddit API and Cat API(to get cat pictures!) ● Made our own web service so that people can access our database, using our API. Used Django-Rest Framework. ● API documentation → Instruction manual ● Used SOAP UI to make test cases. Tested our web application. ● Test Cases included property transfer, Groovy script, assertions, JSON hierarchy test etc. ● Deployed our API so that anyone and everyone can use it! INTRODUCTION This research is supported by Summer Research Scholars and Dr. Sara Sprenkle METHODS SUMMER WORK FUTURE WORK Figure 1: This diagram shows how different clients access data on a database using a web service. Source: http://sharepoint-works.blogspot.com/2012/12/basics-of-web-services.html. Automated Web Service Testing Azmain Amin, Mina Shnoudah Dr. Sara Sprenkle Department of Computer Science Washington and Lee University Fig 2: How a web service works. Fig 3: Research methodology. Fig 4: RockBridge Pets web application. Fig 5: Using Soap UI to test our web application. Fig 6: The top shows an example of a successful test case, and the bottom shows an example of a failed test case.