Practice Site · QA Lab
E-commerce Practice App.
Practise realistic e-commerce testing across product search, filters, product pages, cart, checkout, payment simulation, discount codes, order confirmation and order history. Use the app for manual QA, exploratory testing, automation practice and portfolio projects.
On this page17 sections
// WHAT YOU'LL PRACTISE
- Product listing testing
- Search and filter testing
- Product detail page validation
- Cart state testing
- Checkout flow testing
- Guest vs logged-in checkout
- Discount code testing
- Payment simulation
- Order confirmation validation
- Order history validation
- Responsive layout testing
- End-to-end automation practice
// WHO THIS IS FOR
// APP MODULES
// TEST DATA
Ready-to-use data for positive, negative and boundary scenarios.
Customers
Products
Discount codes
Payment cards
// PRACTICE MISSIONS
Small, focused tasks to warm up before the full lab.
Test checkout failure handling
Manual QA, automation, negative testing
→ Bug report, regression checklistTest discount code rules
Business rules, boundary testing
→ Test cases, bug reportsAutomate the checkout happy path
End-to-end automation, stable locators
→ Playwright / Cypress spec// TEST SCENARIOS
Search and listing
- Search for an existing product.
- Search for a product that does not exist.
- Apply a category filter.
- Apply a price filter.
- Combine category, price and rating filters.
- Sort by price low to high.
- Sort by newest products.
- Verify the product count after filtering.
- Verify pagination keeps active filters.
Product detail page
- Open a product detail page from the listing.
- Verify the product name, price, image and description.
- Select a product variant.
- Add the product to the cart.
- Add an out-of-stock product to the cart.
- Add the product to the wishlist.
Cart
- Add one item to the cart.
- Add multiple items to the cart.
- Update item quantity.
- Remove an item from the cart.
- Verify the cart total calculation.
- Verify the cart persists after a page refresh.
- Verify the cart persists after login.
Checkout
- Complete guest checkout.
- Complete logged-in checkout.
- Submit checkout with missing required fields.
- Enter an invalid postcode.
- Apply a valid discount code.
- Apply an expired discount code.
- Attempt payment with a failed test card.
- Retry a failed payment.
- Verify the order confirmation details.
- Verify the order appears in order history.
// SEEDED BUGS
This app seeds 9 bugs. Try to find them first, then reveal the answer guide to check your findings — each row links to its Common Bugs category.
| Bug | Example | Skill | Common Bugs |
|---|---|---|---|
| Cart count mismatch | Header shows 2 items but the cart shows 1 | State testing | UI bugs → |
| Discount applies twice | The same coupon reduces the total twice | Business rule testing | Payment bugs → |
| Filter reset issue | The price filter resets the category filter | Search / filter testing | Search bugs → |
| Case-sensitive search | Searching "headphones" finds nothing; "Headphones" works | Search / filter testing | Search bugs → |
| Invalid checkout accepted | An invalid postcode (e.g. "1") passes validation | Form testing | UI bugs → |
| Duplicate order | Clicking Place order twice creates two identical orders | Payment flow testing | Payment bugs → |
| Mobile layout bug | The Place-order button is clipped off-screen on small widths | Responsive testing | UI bugs → |
| Wrong total | Tax is charged on the pre-discount subtotal, so discounts don't reduce tax | Data validation | Payment bugs → |
| Out-of-stock bug | A sold-out item can still be added to the cart and bought | Inventory rule testing | Data bugs → |
Steps to reproduce
- Add an item to the cart and proceed to checkout
- Pay with the failed test card
- Retry the payment with the successful test card
Expected: One order is created.
Actual: Two identical orders appear in order history.
// REGRESSION CHECKLIST
The checks that would catch every seeded bug — reveal once you've done your own pass.
- Cart badge equals the cart page count
- A discount code cannot stack or re-apply
- Checkout enforces a valid postcode
- One order is created per checkout (no duplicates)
- Totals include tax and shipping on the discounted subtotal
- Out-of-stock items cannot be purchased
// MANUAL & AUTOMATION TASKS
Manual testing tasks
- Create test cases for search, cart and checkout.
- Perform exploratory testing around discount codes.
- Test checkout with valid and invalid data.
- Test the responsive layout at mobile widths.
- Report at least five bugs with severity and priority.
- Create a release-readiness checklist for checkout.
Automation tasks
- Automate product search.
- Automate the add-to-cart flow.
- Automate the checkout happy path.
- Automate the failed-payment scenario.
- Automate discount validation.
- Automate order-history verification.
- Run the tests in CI.
Automation tracks
Beginner
Search for a product and add it to the cart.
Intermediate
Complete the checkout happy path with assertions.
Advanced
Data-drive checkout across multiple payment outcomes.
SDET
Hybrid API + UI flow that seeds data via the API, then verifies in the UI.
// INTERVIEW MODE
Reflection questions to rehearse how you'd talk through testing this app.
// WHAT YOU'LL PRODUCE
// SUGGESTED TOOLS
// AUTOMATION STARTERS
Fork a ready-made framework to automate this app — each sample ships with setup, CI and reporting.
// DOWNLOADS
// PORTFOLIO WRITE-UP
Use this as a starting point for your CV, LinkedIn or portfolio — swap in the tools and findings that are actually yours.
I tested an e-commerce practice application covering product search, filters, cart, checkout, discount codes, payment simulation and order history. I created manual test cases, reported seeded bugs and automated critical checkout flows using [tool name].
// NEXT RECOMMENDED APP
API Testing Playground
Practise REST API testing across users, products, orders, authentication, pagination, validation and negative scenarios — with seeded bugs to find.