
- Client
- Drop Delivery
- Industry
- Cannabis tech · E-commerce & delivery
- Engagement
- 2022 – 2025 · 4+ years
- QA team
- 6 full-stack QA engineers
- Platforms
- Websites · Mobile Web · Android App · iOS App · API · PWA · Database · Cloud
- Manual Testing
- Integration Testing
- Automation Testing
- UI/UX Testing
- Cross-platform Testing
- Usability Testing
- Performance Testing
- Database Testing
- Migration Testing
Jira
Confluence
Twilio
PostgreSQL
Selenium
Python
Xray
Fullstory
Jenkins
GitLab
Postman
Swagger
JMeter
BrowserStack
About the project
Drop Delivery is an all-in-one compliance, e-commerce and last-mile delivery management platform built specifically for the cannabis industry. Dispensaries and delivery operators use it to run branded online menus and apps, take orders, verify customer age and identity, dispatch drivers, plan routes and report every sale to state track-and-trace systems.
Cannabis is regulated state by state. Purchase limits, delivery hours, manifest requirements, ID checks and taxes differ by market and change often — and the platform has to enforce all of them automatically, at checkout and at the customer’s door. Behind that sit POS and inventory integrations, payments, Twilio SMS notifications and a driver app that has to work on the road.
QAonTOP grew to a team of six full-stack QA engineers covering web, mobile web, native Android and iOS apps, PWA, APIs, databases and cloud — including the migration of new retailers and their data onto the platform.
“Tremendous job! The team exceeded my expectations and addressed all my concerns.”
What made this hard
In most e-commerce a missed rule is a bug. In cannabis delivery it can be a compliance violation for the retailer. Drop Delivery needed release speed and certainty at the same time.
- CHALLENGE 01
Compliance rules that vary by state
Purchase limits, delivery windows, age verification, manifests and taxes differ by market. Every release had to prove each rule still fired correctly.
- CHALLENGE 02
Many apps, one order
A single order touches the storefront, customer app, dispatch console, driver app, SMS notifications and reporting. A defect anywhere breaks the delivery.
- CHALLENGE 03
Integrations everywhere
POS and inventory sync, state reporting, payments and Twilio messaging all had to stay in step as partners changed their own APIs.
- CHALLENGE 04
Onboarding retailers without data loss
New retailers brought menus, customers and order history from other systems. Migrations had to preserve every record and compliance detail.
How QAonTOP tested Drop Delivery
- 01
Document the rules, then test them
Built a per-market compliance rule matrix in Confluence and turned it into traceable test cases in Jira with Xray, so every limit, delivery window and ID rule had explicit coverage.
Tools Jira · Xray · Confluence
- 02
Automate the order lifecycle
Selenium with Python covers storefront, checkout, dispatch and admin journeys, running on Jenkins from GitLab pipelines on every merge. Postman and Swagger validate the APIs behind orders, inventory and drivers.
Tools Selenium · Python · Jenkins · GitLab · Postman · Swagger
- 03
Real devices, every platform
BrowserStack runs across browsers and real Android and iOS devices for the customer and driver apps, including location, camera-based ID capture and PWA behaviour. Twilio SMS flows are verified end to end.
Tools BrowserStack · Twilio
- 04
Data and migration testing
SQL checks in PostgreSQL reconcile orders, inventory and compliance records, and every retailer migration is validated record by record before go-live.
Tools PostgreSQL
- 05
Performance and real-user insight
JMeter load tests ahead of peak ordering periods such as holidays and weekend evenings. Fullstory session insights point usability testing at the places real customers and drivers struggle.
Tools JMeter · Fullstory
The engagement in numbers
Full-stack QA engineers at peak
Continuous engagement across every platform
Test cases traced to requirements in Xray
Automated Selenium and API checks per regression run
Less manual regression time per release
Platforms covered, from web to native apps and cloud
Before and after the engagement
| Area | Before QAonTOP | With QAonTOP |
|---|---|---|
| Compliance rules | Tested ad hoc, when someone remembered a market-specific case. | A per-market rule matrix traced to test cases in Xray and run on every release. |
| Regression | Multi-day manual regression that slowed the weekly release train. | Selenium and API suites on Jenkins for every merge, with manual effort focused on new features. |
| Mobile apps | Driver and customer apps checked on a few in-house phones. | BrowserStack coverage on real Android and iOS devices, including location, camera and notification flows. |
| Integrations | POS, SMS and reporting issues surfaced through retailer support tickets. | Postman and Swagger contract checks plus end-to-end Twilio and sync tests before release. |
| Data migration | Retailer onboarding relied on spot checks of imported data. | Record-level PostgreSQL reconciliation of menus, customers and orders before every go-live. |
| Performance | Unknown behaviour at holiday and weekend peaks. | JMeter baselines and pre-peak load tests on ordering, dispatch and tracking. |
What we covered
Manual Testing
Exploratory and scripted testing of storefronts, checkout, dispatch, driver and admin workflows.
Integration Testing
End-to-end checks across POS and inventory sync, payments, Twilio SMS and compliance reporting.
Automation Testing
Selenium with Python and Postman suites running in Jenkins and GitLab pipelines.
UI/UX Testing
Design and behaviour checks across branded retailer storefronts and apps.
Cross-platform Testing
Web, mobile web, PWA and native Android and iOS apps on BrowserStack real devices.
Usability Testing
Fullstory-informed walkthroughs of ordering, ID verification and driver delivery flows.
Performance Testing
JMeter load and spike tests on ordering, dispatch and tracking ahead of peak periods.
Database Testing
PostgreSQL checks on orders, inventory, purchase limits and compliance records.
Migration Testing
Record-level validation when retailers move menus, customers and history onto the platform.