QA Exercise
Introduction
Task Delivery
Required API endpoints
Optional deliverables
Guidelines
Deliverable Results
Introduction
This document will provide details about the back-end Restful API testing assignment you have been given as a
QA candidate who has passed the phone interview, as an assessment of your API Testing and Test Case
Authoring skills.
The assessment will be normalized based on the level of the role opening.
You will be evaluated based on the submitted POSTMAN Collection and Test Plan (word, excel, pdf) and the
in-person presentation of your work during which related technical questions will be asked.
Task Delivery
The following will be provided:
The test page containing information on the Web Service - https://petstore.swagger.io/#/
The following table for Authoring the test cases for the Use Cases Given below:
TestCase_Id UseCase_Id TestCase_Description Test_Steps Prerequisites Test_Data Expected_Results
1 1
2 1
3 1
4 1
5 2
6 2
7 2
8 2
Use Case #1: As a potential customer, I want to register a user, register a pet, view the store inventory
and submit an order.
Usernames must be unique, emails must be formatted correctly, first name and last name are
mandatory fields.
An order cannot have quantity less than 1.
Invalid JSON structure should return 403 Forbidden.
Use Case #2: As a customer, I want to update my password and add an image URL for my pet.
Passwords cannot be the same as before, they must be 8 characters long and must contain upper
and lower case letters and at least one special character.
Image URLs must be properly formatted, and only .png files are accepted.
Passwords must be transmitted securely.
Invalid Parameter Values should return 405 Method Not Allowed.
Required API endpoints
/user
/pet
/store/inventory
/store/order
/user/{username}
Those API Endpoints need to be combined with the corresponding Verbs to achieve the Use Case flows.
Optional deliverables
An Environment can be created in POSTMAN and the use of variables would be nice to chain API calls and
enable repetitive use.
Guidelines
Read the Web Service Page Provided to determine the endpoints available (https://petstore.swagger.io/#/)
Each endpoint controls an entity that is part of the Use Cases.
Establish which APIs will be used, what Verb for each one and construct the API calls with the help of the
API definitions given on the page.
Author TWO (2) positive test cases and TWO (2) negative test cases for each Use Case, save them in the
table format provided. Feel free to enhance the table if you feel it is lacking useful information.
Create a POSTMAN collection for your API calls, save each call and at the end, export (share) the
collection.
Deliverable Results
Four artifacts to be delivered and presented via screen share during interview:
Test Cases (in excel, PDF, any other format readable on MacOS)
Link or zip file containing the POSTMAN Collection
Open any bug you find using the form below (add any column you think would improve the bug report,
even if you don't have the data to go in it)
Bug_Id Title Description Expected Result Actual Result
Based on your experience, when the following symptoms are noticed, what could be the issue and what
would you do to identify the root cause? (please complete columns "What to check" and TroubleShooting
Steps")
Symptom Request Response What to TroubleShooting
check Steps
Request Timeout POST /user Timeout
Error In Response POST /user 400 Bad Request
[
{
"id": "O",
"username": "JohnM1",
"firstName": "John",
"lastName": "Maxwell",
"email": "jm1@gmail.
com",
"password": "Amd0cs2
021!",
"phone": "+123456789
10",
"userStatus": 0
}
]
Error In Response GET /store/imventory 404 Not Found
Not Updated GET /user/{username} Old Password Returned After Successful
Response Password Update
Error In Response POST /store/order 503 Service Unavailable