(Inherited from Framework: Senior QA Engineer)
Test the "Add to Cart" feature on https://www.bstackdemo.com/. Use a tabular format for clarity and density.
Application: BStackDemo E-Commerce
Scope: Homepage Product Grid and "Bag" (Cart) Panel.
Key Elements: Product Cards (Image, Price, Title, Add Button), Cart Sidebar, Cart Counter, Subtotal, Checkout.
| ID | Category | Summary | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|---|
| TC_01 | Functional (Pos) | Add single valid item to cart | Homepage loaded | 1. Click 'Add to cart' on 'iPhone 12'. | Cart opens; Item added; Qty=1; Subtotal=$799.00. | High |
| TC_02 | Functional (Pos) | Add multiple distinct items | 'iPhone 12' in cart | 1. Click 'Add to cart' on 'iPhone 12 Mini'. | Cart has 2 unique items; Total = Sum of both prices. | High |
| TC_03 | Functional (Pos) | Increase quantity via Product Grid | 'iPhone 12' (Qty:1) in cart | 1. Click 'Add to cart' on 'iPhone 12' again. | Qty becomes 2; Item row is NOT duplicated; Price updates. | High |
| TC_04 | Functional (Pos) | Increase quantity via Cart (+) button | Cart open with item | 1. Click '+' button next to item. | Qty increases by 1; Subtotal recalculates immediately. | Medium |
| TC_05 | Functional (Pos) | Decrease quantity via Cart (-) button | Item Qty > 1 | 1. Click '-' button next to item. | Qty decreases by 1; Subtotal recalculates. | Medium |
| TC_06 | Functional (Pos) | Remove item via 'X' button | Item in cart | 1. Click 'X' icon on the item row. | Item removed specifically; Subtotal reduces; If 0 items, cart shows empty state. | High |
| TC_07 | Functional (Neg) | Rapid click 'Add to Cart' (Performance) | Homepage loaded | 1. Click 'Add to cart' 10 times quickly. | App handles requests; Qty matches clicks (10); No UI freeze. | High |
| TC_08 | Calculation | Verify Subtotal Accuracy | Cart has multiple items | 1. Sum individual (Price * Qty) manually. 2. Compare with 'Subtotal'. |
Manual sum matches displayed Subtotal exactly. | High |
| TC_09 | Calculation | Verify Currency Formatting | 3+ items in cart | 1. Check all prices in Cart. | All prices have '$' prefix; 2 decimal places (e.g., 88.78). | Low |
| TC_10 | UI/UX | Cart Slide-out Animation | Cart closed | 1. Click 'Add to cart'. | Cart panel slides in smoothly from right; No layout shift on main page. | Low |
| TC_11 | UI/UX | Cart Badge Counter Update | Cart empty | 1. Add 1 item. 2. Add 2nd item. |
Badge on bag icon updates: 0 -> 1 -> 2. | Medium |
| TC_12 | UI/UX | Installment Text Visibility | Item in cart | 1. Verify text below subtotal. | Display shows correct installment calc (e.g., "OR UP TO 9 x $ [value]"). | Low |
| TC_13 | Persistence | Cart Retention on Refresh | Items in cart | 1. Refresh the browser page (F5). | Cart contents persist; Qty and Total remain unchanged. | Medium |
| TC_14 | Persistence | Cart Retention on New Tab | Items in cart | 1. Open bstackdemo.com in new tab. |
Cart mirrors the state of the first tab (Session Storage/Local Storage check). | Medium |
| TC_15 | Checkout | Checkout Button State | Items in cart | 1. Check 'CHECKOUT' button. | Button is clickable/enabled; Contrast is distinct. | High |
| TC_16 | Checkout | Empty Cart Checkout | Cart empty | 1. Check 'CHECKOUT' button or Cart Footer. | Checkout button hidden or disabled; "Add some products in the bag" msg shown. | Medium |
| TC_17 | Filtering | Add to Cart after Filtering | Filter by 'Samsung' | 1. Click 'Samsung' filter. 2. Add 'Galaxy S20'. |
Correct item (S20) added, not a hidden Apple product. | Medium |
| TC_18 | Ordering | Add to Cart after Sorting | Sort 'Lowest to Highest' | 1. Sort products. 2. Add first item (Lowest price). |
Correct item details (Price/Name) added to cart. | Medium |
| TC_19 | Boundary | Minimum Quantity Handling | Item Qty = 1 | 1. Click '-' button in cart. | Verify behavior: Item removed OR button disabled (Usually removal is distinct check). | Medium |
| TC_20 | Boundary | Maximum Quantity Check | Item in cart | 1. Click '+' 50 times (or edit input if available). | Verify if limit exists (e.g. 99) or allows infinite (within reason). | Low |
| TC_21 | UI/UX | Close Cart via Overlay | Cart open | 1. Click grey overlay outside panel. | Cart panel closes. | Low |
| TC_22 | Responsive | Cart View on Mobile (Simulation) | DevTools -> Dimensions: iPhone 12 | 1. Add item to cart. | Cart panel fits screen; 'Checkout' button visible/accessible. | Medium |
| TC_23 | Data Integrity | Product Image Mismatch | Homepage | 1. Note 'iPhone 12' image. 2. Add to cart. |
Image in cart thumbnail matches homepage image exactly. | Low |
| TC_24 | Integration | Add to cart then Login | Guest user with items | 1. Add items. 2. Click 'Sign In'. 3. Log in. |
Verify if cart items persist after login (Merge cart strategy). | High |
| TC_25 | API | Verify Add to Cart Network Request | Network Tab Open | 1. Add item. | Verify POST/PUT request to API; Status 200/201; Payload correct. | Medium |
| TC_26 | Functional | Cross-Vendor Addition | Cart has Apple item | 1. Filter 'Google'. 2. Add 'Pixel 5'. |
Cart contains both Apple and Google items correctly. | Medium |
| TC_27 | UI/UX | Long Product Name | (Hypothetical) | 1. Add product with longest name. | Name wraps correctly in cart; No text overflow/overlap. | Low |
| TC_28 | Functional | Rapid Removal | 2 items in cart | 1. Click 'X' on Item 1 then Item 2 instantly. | Both items removed cleanly; No JS errors/orphaned rows. | Medium |
| TC_29 | Localization | Currency Symbol Check | (If currency toggle exists) | 1. Change to EUR (if avail). 2. Add item. |
Cart displays prices in €. | Low |
| TC_30 | Accessibility | Keyboard Navigation | Focus on Product Grid | 1. Tab to 'Add to cart'. 2. Press Enter. |
Item added; Focus management (Screen reader announcement). | Low |
- Total Cases: 30
- Categories: Functional (Core), UI/UX, Calculation, Persistence, Boundary, Integration.
- Coverage: High probability of catching UI glitches, calculation errors, and state management issues.