eba32f9e96
Updated UAT_PLAYBOOK.md §2 per QA review (GRO-1819): - Test environment URL: groombook.farh.net → demo.groombook.dev - TC-2.1 expected result: groombook.farh.net → demo.groombook.dev - Added TC-2.3: mobile-groomers.html 'Try the Live Demo' CTA Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
162 lines
6.9 KiB
Markdown
162 lines
6.9 KiB
Markdown
# UAT Playbook: GroomBook Site
|
|
|
|
## Test Environment
|
|
- **URL:** https://demo.groombook.dev (demo)
|
|
- **Repository:** https://git.farh.net/groombook/groombook.dev
|
|
- **Last Updated:** 2026-05-26
|
|
|
|
---
|
|
|
|
## Execution Method
|
|
|
|
All UAT is executed by **Shedward Scissorhands** via the **groombook-playwright MCP server**. No manual browser checks or scripted test suites are used for UAT.
|
|
|
|
Shedward uses the `mcp__playwright-groombook__*` tool family to navigate, interact with, and verify the site. Each test case step is executed via MCP browser tools:
|
|
|
|
- **"Navigate to [URL]"** → `browser_navigate`
|
|
- **"Locate/Read [element]"** → `browser_snapshot` to inspect the accessibility tree
|
|
- **"Click [element]"** → `browser_click` with element ref from snapshot
|
|
- **"Verify [content]"** → `browser_snapshot` and check text matches
|
|
- **"Check mobile responsiveness"** → `browser_resize` + `browser_snapshot`
|
|
- **"Check console errors"** → `browser_console_messages`
|
|
|
|
Shedward reads this playbook, executes each test case via MCP tools, captures evidence (snapshots/screenshots), and reports pass/fail per test case.
|
|
|
|
---
|
|
|
|
## 1. Homepage Messaging Path C Refresh
|
|
|
|
### Purpose
|
|
Verify homepage copy aligns with Path C strategy (solo/small operator focus) with approved lead/team messages and clear anti-customer positioning.
|
|
|
|
### Pre-Conditions
|
|
- Homepage loads successfully
|
|
- User is not logged in
|
|
|
|
### Test Cases
|
|
|
|
#### TC-1.1: Hero Section Messaging
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Navigate to homepage | Page loads without errors |
|
|
| 2 | Locate hero tagline | Displayed exactly: "Stop missing client calls. Book 24/7, groom all day." |
|
|
| 3 | Read hero paragraph | Copy emphasizes: solo groomers/small teams, 24/7 booking, automated reminders, mobile-first tools, more grooming time |
|
|
|
|
#### TC-1.2: Feature Cards Section
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Scroll to "Reclaim 3+ Hours Every Week" section | Section heading is correct |
|
|
| 2 | Read section subtitle | Text: "Features built for solo groomers and small teams — not generic salon software." |
|
|
| 3 | Review all 9 feature cards | Each card focuses on time/revenue benefit, not feature parity |
|
|
|
|
#### TC-1.3: Comparison Section Replacement
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Scroll to "Built for Your Reality" section | Section heading is correct |
|
|
| 2 | Read section subtitle | Text: "Not a generic salon tool. Not a feature arms race. Built specifically for how solo groomers and small teams actually work." |
|
|
| 3 | Verify workflow cards | 6 cards present: Mobile Groomers, 24/7 Booking, You Own It, Grooming-Specific, No-Show Recovery, Scales With You |
|
|
|
|
#### TC-1.4: Anti-Customer Positioning
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Scan entire homepage for competitor mentions | No specific competitor names (MoeGo, Gingr) mentioned |
|
|
| 2 | Review comparison section | No feature parity table present |
|
|
| 3 | Check all copy | Clear "not X" positioning without naming competitors |
|
|
|
|
#### TC-1.5: No Feature Parity Claims
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Search homepage text | No "more features than", "better than [competitor]", or comparative claims |
|
|
| 2 | Review feature cards | Each card describes benefit/value, not "more of X" |
|
|
|
|
#### TC-1.6: Content Quality and Readability
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Read all copy aloud | Professional tone, clear grammar, no typos |
|
|
| 2 | Check mobile responsiveness | Content readable on mobile viewport |
|
|
| 3 | Verify formatting | No broken layout, proper spacing between sections |
|
|
|
|
---
|
|
|
|
## 2. Homepage Functionality
|
|
|
|
### TC-2.1: CTA Buttons
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Click "Try the Demo" button | Navigates to https://demo.groombook.dev |
|
|
| 2 | Click "View on GitHub" button | Navigates to https://github.com/groombook/groombook |
|
|
|
|
### TC-2.2: Badge Display
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Locate hero badge | Displays: "🎉 100% Open Source — AGPL-3.0 License" |
|
|
|
|
### TC-2.3: Mobile Groomers "Try the Live Demo" CTA
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Navigate to mobile-groomers.html | Page loads without errors |
|
|
| 2 | Locate "Try the Live Demo" button | Button is visible with correct styling (green background) |
|
|
| 3 | Click "Try the Live Demo" button | Navigates to https://demo.groombook.dev |
|
|
|
|
---
|
|
|
|
## 3. Self-Booking CTA (GRO-1791)
|
|
|
|
### Purpose
|
|
Verify "Book an Appointment" is the primary CTA in the hero section, "Book Now" appears in navigation, and all CTAs are present and mobile-responsive.
|
|
|
|
### Pre-Conditions
|
|
- Homepage loads successfully
|
|
- User is not logged in
|
|
|
|
### Test Cases
|
|
|
|
#### TC-3.1: Hero CTA - Book an Appointment
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Navigate to homepage | Page loads without errors |
|
|
| 2 | Locate hero CTA buttons | "Book an Appointment →" is the first button in the hero CTA group |
|
|
| 3 | Click "Book an Appointment →" button | Navigates to https://groombook.dev/admin/book (the 4-step booking wizard) |
|
|
|
|
#### TC-3.2: Hero CTA - All Buttons Present
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Locate hero CTA buttons | All 4 buttons present: "Book an Appointment", "Try the Demo", "View on GitHub", "Get Started" |
|
|
| 2 | Verify button order | "Book an Appointment" is first |
|
|
|
|
#### TC-3.3: Mobile Responsiveness - Hero CTA (375px)
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Resize browser to 375px width | Page is responsive |
|
|
| 2 | Locate hero CTA buttons | "Book an Appointment" button is visible and properly sized |
|
|
| 3 | Verify flex-wrap | CTA buttons wrap gracefully on small screens |
|
|
|
|
#### TC-3.4: Footer Navigation - Book Now
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Scroll to footer | "Book Now" appears in footer navigation links |
|
|
| 2 | Click "Book Now" link | Navigates to https://groombook.dev/admin/book |
|
|
|
|
#### TC-3.5: Getting Started Page - Booking CTA
|
|
| Step | Action | Expected Result |
|
|
|------|--------|-----------------|
|
|
| 1 | Navigate to getting-started page | Page loads |
|
|
| 2 | Locate "Book an Appointment" link | "Book an Appointment →" link present in Quick Links section |
|
|
| 3 | Click "Book an Appointment →" link | Navigates to https://groombook.dev/admin/book |
|
|
|
|
---
|
|
|
|
## Pass/Fail Criteria
|
|
|
|
- **PASS:** All test cases execute successfully with expected results
|
|
- **FAIL:** Any test case fails or produces unexpected result
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- UAT should be performed on both desktop and mobile viewports
|
|
- Check browser console for JavaScript errors during test execution
|
|
- Verify all links are functional and lead to expected destinations
|
|
- Mobile viewport test (TC-3.3) must be executed at exactly 375px width per acceptance criteria
|