1Business context
ShipFast is a courier booking and tracking service. Pricing depends on chargeable weight (actual vs volumetric), service type and payment mode; operations need serviceability checks, COD limits and live tracking.
Pincode serviceability lookups that auto-fill the city, volumetric vs chargeable weight maths, service rules, COD limits, a barcode label and a live tracking timeline.
2Users & roles
- 👤 Sender — books shipments and tracks them (no login)
3Modules & screens
| Screen | Route | What it does |
|---|---|---|
| Home | /apps/logistics | Entry points to ship and track |
| Book shipment | /apps/logistics/ship | Pincode lookup, package, dimensions, service, payment, live quote |
| Shipping label | /apps/logistics/label | AWB number, barcode and downloadable label |
| Tracking | /apps/logistics/track | Status timeline for an AWB |
4Main end-to-end journey
Book and track a shipment
- Click Ship now
- Enter sender 400001 Mumbai and receiver 560001 Bengaluru with addresses
- Parcel 2 kg, 30×20×15 cm, declared ₹2,500
- Choose Express and Prepaid
- Book
- Click Track this
Expected: Chargeable weight 2 kg, total ₹220.00, an SF + 10-digit AWB, and a Mumbai → Bengaluru timeline
5Business rules & validations
- Pincode lookupBeginner
After 6 digits a spinner runs, then sender-city shows the city; unknown pincodes show “Not serviceable”.
- Weight mathsIntermediate
30×20×15 cm → volumetric-weight 1.8 kg; chargeable-weight is the higher value rounded up to 0.5 kg.
- Service rulesIntermediate
service-same-day is disabled unless both pincodes are in the same city.
- COD limitIntermediate
Declared value above ₹20,000 with pay-cod shows error-payment.
- Live quoteBeginner
freight-charge and shipment-total update as weight, service, insurance and payment change.
- Label & barcodeIntermediate
awb-number is SF + 10 digits; download-label saves a text file named after it.
- Polling a timelineAdvanced
A new shipment's current-status moves Booked → Picked up → In transit every ~4s; wait for text.
- Unknown AWBBeginner
Tracking a random AWB shows track-error; SF1234567890 shows a delivered journey.
6Test data & credentials
- URL
- /apps/logistics
- Pincodes
- 400001, 560001, 110001…
- Demo AWB
- SF1234567890
- COD limit
- ₹20,000
7Glossary
- AWB
- Air waybill number — SF + 10 digits
- Volumetric weight
- L×W×H/5000; chargeable weight is the higher of actual and volumetric, rounded up to 0.5 kg
- COD
- Cash on delivery — limited to ₹20,000 declared value
8Watch-outs for automation
- ⚠️Pincode lookup shows a spinner before the city
- ⚠️Same-day service only within the same city
- ⚠️New shipment status changes every ~4 s — wait for text
9Suggested test strategy
1 · Smoke
2
P1 positive and end-to-end cases — run on every build.
2 · Regression
15
All cases, incl. 4 negative and 3 edge — run before release.
3 · End-to-end
3
Full user journeys — run nightly.
Start with these smoke cases
- SHIPFAST-01 — Book a shipment
- SHIPFAST-E2E-01 — Book and track a shipment