
Summary Functional API testing of a grocery delivery platform backend. 57 test cases across 2 endpoints revealed 24 defects — including 6 high-priority boundary failures where the API accepted invalid inputs and returned incorrect costs instead of enforcing business rules. Approved on first submission.
Postman Jira REST API JSON Boundary Value Analysis
📌 Project Scope
Backend validation of two RESTful endpoints governing core delivery operations:
POST /api/v1/kits/:id/products — product kit assembly and quantity limitsPOST /order-and-go/v1/delivery — delivery feasibility, time windows, weight limits, and cost calculation🔍 Systemic Finding: Boundary Values Not Enforced
Boundary value analysis across the three main parameters of the delivery endpoint revealed a consistent pattern: the API accepted out-of-range inputs and returned incorrect costs instead of rejecting the request. Six high-priority defects, all on the same endpoint:
| Parameter | Invalid Value | Expected | Actual |
|---|---|---|---|
productsCount |
16 | 400 — max is 15 | 200 — order processed |
productsWeight |
6.1 kg | 400 — max is 6.0 kg | 200 — order processed |
productsWeight |
3.1 kg | Correct cost | $5 — wrong tier |
productsWeight |
3.2 kg | Correct cost | $5 — wrong tier |
deliveryTime |
7 | 400 — min is 8 | 200 — order processed |
deliveryTime |
23 | 400 — max is 22 | 200 — order processed |
Every parameter tested had at least one boundary failure. These defects would cause real-world impact: orders processed outside operational hours, deliveries exceeding weight capacity, and systematic billing errors at specific weight thresholds.
🧪 Test Design
57 test cases structured by endpoint and HTTP response code. All cases include: title with method + endpoint + response code, test data, steps, expected result, actual result, and pass/fail status.
/api/v1/kits/:id/products
Quantity limits (29, 30, 31), kit ID validation (non-existent, 0, negative), body field edge cases: decimals, string input, missing fields, out-of-range integers.
/order-and-go/v1/delivery
deliveryTime: full boundary sweep 7–8–9 / 21–22–23