computer science research poster summer 15(1)

1
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.

Upload: md-azmain-amin

Post on 13-Apr-2017

77 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Computer Science Research Poster Summer 15(1)

● 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 TestingAzmain Amin, Mina Shnoudah

Dr. Sara SprenkleDepartment 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.