Presentation is loading. Please wait.

Presentation is loading. Please wait.

End-to-End REST Service Testing Automation

Similar presentations


Presentation on theme: "End-to-End REST Service Testing Automation"— Presentation transcript:

1 End-to-End REST Service Testing Automation
-Mayank Gupta -Devika Hans

2 Abstract: API Testing Automation Requirement Challenges Solutions

3 What is REST and Why used?
An architectural style/approach used to develop web services RESTful APIs: Services using REST technology State and functionality are divided into distributed resources Every resource is uniquely addressable using a uniform and minimal set of commands (typically using HTTP commands of GET, POST, PUT, or DELETE over the Internet) The protocol is client/server, stateless, layered, and supports caching

4 API Lifecycle: Monitor Deploy Test Build Design

5 API Testing Testing APIs to determine if:
They meet expectations for functionality, reliability, performance, and security. APIs return the correct response (in the expected format) for a broad range of feasible requests. React properly to edge cases such as failures and unexpected/extreme inputs Deliver responses in an acceptable amount of time. Respond securely to potential security attacks.

6 Why Automation? Frequent releases Build quality
Exposing APIs for third party apps integration

7 Challenges: Validating response data
Two stack approach (blue and green) Various environments Data cannot be posted on all environments

8 Solution: Integration test framework:
Easy to write test cases in XML or JSON format. Support of having different input data for different environment. Categorization of testcases. Can write Java code for customization. Blue/Green stack support. Comparison the response output b/w Blue and Green stack Support to run testcases of any stack. Seamless Jenkins integration. Platform independent (can run on mac/win/linux etc.) Very less maintenance cost. Generate Junit and HTML reports. Provide complete functional coverage.

9 Integration Tests Compilation Run
Read test data from XML/JSON, run testcases one by one Generate classes from XSD files Call service endpoint Generate environment wise test data (XML/JSON) Validate body schema & response code and body Compile java classes

10 Performance/load testing:
Previewing API performance behaviors before releasing to client environment. Measuring API response time under load. Monitoring resource Utilization such as CPU, Memory and database. API throughput measurement.

11 Build Pipeline Integration Tests PR raised PR merged (GIT)
Pass Fail Uploaded on Codex Build Created

12 Certifying build for Stage environment
Integration Tests + Performance Testing Deploy build on QE Blue & green stack comparison Certified for Staging environment Client Side Automation

13 Making build available on Stage for Clients.
Integration Tests + Performance Testing Deploy build on Stage (Stack not in use) Blue & green stack comparison Client Automation Cutover to new stack. (Available to clients on Stage)

14 Results: Ease of testing with frequent releases.
Test Quality increases. Good test coverage. Early and frequent service availability to clients. Test reusability.

15 References: https://en.wikipedia.org/wiki/API_testing

16 Author Biography Mayank Gupta: I am working with Adobe from last 5 years as a Software engineer. In Adobe I have worked on Adobe AIR, Adobe reader on android, Flash Runtime, Project 1324 and Creative cloud services. I have completed my B.Tech from M.B.M. engineering collage, Jodhpur. Devika Hans: I am working with Adobe from last 9 months as a Software engineer. I have worked on Creative cloud services here. Prior to this I have worked with Infosys for around 2.5 years. In Infosys, I have worked on development and maintenance of REST services. I have completed my B.Tech from GGSIP University.

17 Thank You..!


Download ppt "End-to-End REST Service Testing Automation"

Similar presentations


Ads by Google