API Testing with Microservices
API TESTING
API TESTING
1. Introduction to API and definition.
1. Introduction to API and definition.
2. Difference between website (3 tier) vs website with services (n tier)
2. Difference between website (3 tier) vs website with services (n tier)
3. What is SOA (service-oriented architecture)
3. What is SOA (service-oriented architecture)
4. Services development & Testing, Registration and Utilizing
4. Services development & Testing, Registration and Utilizing
4.1 Types of services.
4.1 Types of services.
a. RESTFUL services.
a. RESTFUL services.
b. Microservices.
b. Microservices.
4.2 About development technologies to be used in services/API development.
4.2 About development technologies to be used in services/API development.
5. HTTP
5. HTTP
5.1 HTTP, HTTP methods, HTTP response codes, HTTPS (HTTP + SSL)
5.1 HTTP, HTTP methods, HTTP response codes, HTTPS (HTTP + SSL)
6. Webserver vs application server
6. Webserver vs application server
7. DNS
7. DNS
7.1 Proxy.
7.1 Proxy.
7.2 Definition and its uses.
7.2 Definition and its uses.
1. Need for API testing
1. Need for API testing
· Agile process to emulate need for API testing.
· Agile process to emulate need for API testing.
2. Service oriented architecture terminology
2. Service oriented architecture terminology
3. What is the Test pyramid for API Testing
3. What is the Test pyramid for API Testing
· HTTP Request algorithm
· HTTP Request algorithm
· HTTP Response algorithm (Case Study and Notes)
· HTTP Response algorithm (Case Study and Notes)
· Create a Rest project
· Create a Rest project
· Select HTTP method
· Select HTTP method
· Add parameters
· Add parameters
4. Types of API parameters
4. Types of API parameters
· Template/path parametersQuery parameters
· Template/path parametersQuery parameters
· Matrix parameters
· Matrix parameters
· Request body parameters Request header parameter
· Request body parameters Request header parameter
Way-1: Authentication with credentials Way-2: Bearer Authorization/ HMAC
Way-1: Authentication with credentials Way-2: Bearer Authorization/ HMAC
Authorization Way-3: API keys Way-4: OAuth 2.0
Authorization Way-3: API keys Way-4: OAuth 2.0
· Plain Parameters
· Plain Parameters
· Resource Naming with Practical Programs using SOAP UI Tool with Examples Refer to API documentation
· Resource Naming with Practical Programs using SOAP UI Tool with Examples Refer to API documentation
5. Convert Request to Test Case (navigation)
5. Convert Request to Test Case (navigation)
6. Add Assertions
6. Add Assertions
7. Expressions vs Tools vs Languages
7. Expressions vs Tools vs Languages
8. Regular Expressions
8. Regular Expressions
9. Xpath Expressions
9. Xpath Expressions
10. Xquery Expressions
10. Xquery Expressions
11. JSON with JSONPath
11. JSON with JSONPath
12. WADL and WSDL Files
12. WADL and WSDL Files
13. Run Test Case to Submit Request
13. Run Test Case to Submit Request
14. Analyse Response and Test Results
14. Analyse Response and Test Results
15. RestAssured Getting Started
15. RestAssured Getting Started
• Why static imports?
• Why static imports?
• Method chaining concept?
• Method chaining concept?
• Automate GET Request – Assert Status Code
• Automate GET Request – Assert Status Code
• Automate GET Request – Assert Response Body
• Automate GET Request – Assert Response Body
• Automate GET Request – Extract Response
• Automate GET Request – Extract Response
• Automate GET Request – Extract Single Field
• Automate GET Request – Extract Single Field
• Hamcrest Assertion on Response
• Hamcrest Assertion on Response
• What is Hamcrest and Why it is popular?
• What is Hamcrest and Why it is popular?
• Executing Hamcrest Collection Matchers
• Executing Hamcrest Collection Matchers
16. RestAssured – Logging
16. RestAssured – Logging
• Request and Response Logging
• Request and Response Logging
• Log if Error and Validation Fails
• Log if Error and Validation Fails
• Log if Blacklist Headers
• Log if Blacklist Headers
17. RestAssured Handling Headers
17. RestAssured Handling Headers
• What are Headers?
• What are Headers?
• Set Mock Environment for Headers
• Set Mock Environment for Headers
• Multiple Headers in Request
• Multiple Headers in Request
• Multiple Headers in Request using Headers.
• Multiple Headers in Request using Headers.
• Multiple Headers in Request using Map.
• Multiple Headers in Request using Map.
• Multi Value Header
• Multi Value Header
18. RestAssured – Request Specification
18. RestAssured – Request Specification
19. RestAssured – Response Specification
19. RestAssured – Response Specification
20. RestAssured – Automate POST ,PUT,GET DELETE
20. RestAssured – Automate POST ,PUT,GET DELETE
21. RestAssured – Send Request Payload MultipleWays
21. RestAssured – Send Request Payload MultipleWays
22. RestAssured – Send Complex JSON as Request
22. RestAssured – Send Complex JSON as Request
23. RestAssured- Handling Request Parameters
23. RestAssured- Handling Request Parameters
24. RestAssured-File upload and Download
24. RestAssured-File upload and Download
25. RestAssured- Filters
25. RestAssured- Filters
26. Serialization and DE-serialization
26. Serialization and DE-serialization
27. Jackson Annotation
27. Jackson Annotation
28. Complex POJO
28. Complex POJO
29. Authentication and Authorization
29. Authentication and Authorization
MICROSERVICES TESTING
1. Introduction to Microservices and definition.
1. Introduction to Microservices and definition.
2. Difference between WebServices and Microservices
2. Difference between WebServices and Microservices
3. How are Microservices are different from WebServices
3. How are Microservices are different from WebServices
4. Architecture of Miceroservices
4. Architecture of Miceroservices
5. What are Microservices Characterstics
5. What are Microservices Characterstics
6. What are key challenges of Microservices
6. What are key challenges of Microservices
7. Test Pyramid of Microservices
7. Test Pyramid of Microservices
8. Wiremock and its configuration
8. Wiremock and its configuration
9. Developing Mock Services
9. Developing Mock Services
10. Isolation Testing
10. Isolation Testing
11. Component Testing
11. Component Testing
12. CDCT (Component Driven and Contract Testing)
12. CDCT (Component Driven and Contract Testing)