API Testing for Manual Testers: Complete Beginner Roadmap
Do not try to learn everything at once.
Follow the roadmap step by step.
Step 1: Understand Client-Server Architecture
Before learning tools, understand the basic communication flow.
Client
↓
Request
↓
API / Server
↓
Business Logic
↓
Database
↓
Response
↓
Client
Understand these basic terms:
- Client
- Server
- Request
- Response
- Endpoint
- Database
- HTTP
- API
Once this flow becomes clear, API testing becomes much easier.
Step 2: Learn HTTP Basics
HTTP is fundamental to API testing.
Start with the commonly used HTTP methods.
GET
Used to retrieve information.
Example:
GET /users
You might expect a list of users in the response.
POST
Used to create new data.
Example:
POST /users
Request body:
{
"name": "Mrunal",
"email": "mrunal@example.com"
}
PUT
Generally used to update an existing resource.
PUT /users/101
PATCH
Used to partially update an existing resource.
PATCH /users/101
For example, you may update only the user’s email.
DELETE
Used to remove a resource.
DELETE /users/101
For a detailed explanation of HTTP request methods, refer to MDN's HTTP request methods guide .
Step 3: Understand API Request Components
An API request can contain several important components.
1. URL / Endpoint
Example:
https://example.com/api/users
The endpoint identifies the API resource you want to access.
2. HTTP Method
For example:
GET
POST
PUT
PATCH
DELETE
3. Headers
Headers provide additional information about the request.
Example:
Content-Type: application/json
Authorization: Bearer token
4. Query Parameters
Query parameters are often used to filter or modify a request.
Example:
/users?page=2&limit=10
Here:
page = 2
limit = 10
5. Path Parameters
Path parameters identify a specific resource.
Example:
/users/101
Here:
101
may represent the user ID.
6. Request Body
A request body contains data sent to the server.
Example:
{
"name": "Mrunal",
"city": "Pune"
}
Step 4: Learn HTTP Status Codes
Understanding status codes is extremely important for API testers.
You don’t need to memorize every status code initially.
Start with the commonly used ones.
2xx — Successful Requests
200 OK
The request was successfully processed.
201 Created
A new resource was successfully created.
204 No Content
The request succeeded but the server has no response body to return.
4xx — Client Errors
400 Bad Request
The request is invalid.
401 Unauthorized
Authentication is missing or invalid.
403 Forbidden
The user is authenticated but does not have permission.
404 Not Found
The requested resource does not exist.
5xx — Server Errors
500 Internal Server Error
Something went wrong on the server.
503 Service Unavailable
The service is temporarily unavailable.
Step 5: Learn JSON
JSON is extremely common in modern APIs.
Example:
{
"id": 101,
"name": "Mrunal",
"role": "QA Engineer",
"experience": 4
}
As a beginner, focus on understanding:
- Objects
- Key-value pairs
- Strings
- Numbers
- Boolean values
- Arrays
- Nested objects
- Null values
Example array:
{
"users": [
{
"id": 1,
"name": "Amit"
},
{
"id": 2,
"name": "Priya"
}
]
}
You do not need advanced programming knowledge to start working with JSON.
Step 6: Learn Postman
Once you understand HTTP and JSON, start using Postman.
Postman is one of the most popular tools for API development and testing.
With Postman, you can:
- Send API requests
- Add headers
- Add parameters
- Send request bodies
- Test authentication
- Validate responses
- Create collections
- Use variables
- Run multiple requests
- Write API test scripts
Your first goal should be simple:
Send a request and understand the response.
Do not jump into automation immediately.
You can learn more about sending API requests and testing APIs in the official Postman documentation.
Step 7: Practice GET Requests
Start with GET APIs.
For example:
GET /users
Check:
Request
- Is the URL correct?
- Is the HTTP method correct?
- Are required parameters present?
Response
- Is the status code correct?
- Is the response body correct?
- Are required fields present?
- Is the data type correct?
- Is the response time acceptable?
Step 8: Practice POST Requests
Next, learn how to create data.
Example:
POST /users
Request:
{
"name": "Mrunal",
"email": "mrunal@example.com",
"age": 30
}
Verify:
- Status code
- Response body
- Generated ID
- Required fields
- Data persistence
- Error handling
Step 9: Learn Positive and Negative API Testing
This is where your manual testing experience becomes extremely useful.
Positive Testing
Send valid data.
Example:
{
"email": "user@example.com",
"password": "Valid@123"
}
Expected result:
Login successful
Negative Testing
Send invalid data.
For example:
- Invalid email
- Incorrect password
- Missing required field
- Empty request body
- Invalid user ID
- Unsupported HTTP method
- Invalid data type
- Expired token
Example:
{
"email": "",
"password": "123"
}
The API should return an appropriate error response.
Step 10: Learn Authentication
Authentication is an important part of API testing.
Common authentication approaches include:
- API Key
- Basic Authentication
- Bearer Token
- OAuth
- JWT
For beginners, start with:
API Key → Basic Auth → Bearer Token → JWT → OAuth
Understand how authentication affects API requests and responses.
For example:
Authorization: Bearer eyJhbGciOi...
You should test scenarios such as:
- Valid token
- Invalid token
- Missing token
- Expired token
- Token for another user
- Insufficient permissions
Step 11: Learn API Variables
Variables make your Postman collections reusable.
Instead of writing:
https://qa.example.com/api/users
everywhere, you can define:
{{baseUrl}}
Then use:
{{baseUrl}}/users
You can also store:
{{token}}
{{userId}}
{{email}}
This becomes especially useful when working with different environments such as:
Development
QA
Staging
Production
Step 12: Learn API Chaining
API chaining is an important real-world concept.
Suppose you have:
API 1 — Login
POST /login
Response:
{
"token": "abc123"
}
API 2 — Get Profile
GET /profile
API 2 requires the token generated by API 1.
The flow becomes:
Login API
↓
Extract Token
↓
Store Token
↓
Send Token
↓
Profile API
This is called API chaining.
Step 13: Learn Response Validation
Do not simply check whether the API returns a response.
Validate the response properly.
For example:
Status Code
Expected: 200
Actual: 200
Response Field
Expected name: Mrunal
Actual name: Mrunal
Data Type
If age should be a number:
"age": 30
it should not unexpectedly become:
"age": "thirty"
Required Fields
Verify that important fields are present.
Step 14: Learn Boundary Testing for APIs
Your manual testing skills are very useful here.
Suppose the requirement says:
Username must contain between 5 and 20 characters.
You should test:
4 characters → Negative
5 characters → Positive
6 characters → Positive
19 characters → Positive
20 characters → Positive
21 characters → Negative
You can apply the same boundary-value technique to:
- Age
- Amount
- File size
- Password length
- Pagination
- Quantity
- Character limits
Step 15: Learn Data-Driven API Testing
Instead of manually testing one data set, you can test multiple inputs.
For example:
| Username | Expected Result |
|---|---|
| user123 | Success |
| testuser | Success |
| “” | Error |
| abc | Error |
| verylongusername… | Error |
This approach becomes extremely useful when you start automating APIs.
Step 16: Learn API Automation
Once you are comfortable with manual API testing, move toward automation.
You can explore tools and frameworks such as:
- Postman scripts
- Newman
- JavaScript
- Playwright API testing
- REST Assured
- Python requests
If you are already learning Playwright with TypeScript, API testing with Playwright can be a natural next step.
For example, Playwright provides an API request context that can be used to send requests without opening a browser.