# Website UAT Testing Plan

> Template from PageProofer: https://pageproofer.com/blog/uat-plan-template/
>
> Replace everything in [brackets]. The example values are for a fictional small ecommerce site, Fernhill Ceramics, which sells pottery online and takes bookings for workshops.

## 1. Project and version

| | |
|---|---|
| **Project** | [Fernhill Ceramics website rebuild] |
| **Client** | [Fernhill Ceramics Ltd] |
| **Agency** | [Your agency name] |
| **Build/version** | [Release candidate 1, staging build of DATE] |
| **Plan owner** | [Agency PM name] |
| **Plan version** | [v1.0, DATE] |

## 2. Objective and scope

**Objective:** Confirm that customers can find products, buy, book workshops and contact the studio on desktop and mobile, and that the client accepts the site for launch.

**In scope:**

- [Home, shop category and product templates]
- [Cart and checkout, Stripe test payments]
- [Workshops and booking]
- [About, contact form, newsletter signup and integration]
- [Blog index and post template]
- [404 page, header and footer navigation]

**Out of scope:**

- [Copy rewrites and new features]
- [SEO and redirect audit (separate task)]
- [Pages awaiting client content: Wholesale, FAQ]

Out-of-scope requests are logged as change requests, not defects.

## 3. Testers and roles

| Role | Person | Responsibility |
|---|---|---|
| Facilitator | [Agency PM] | Runs the round, answers questions |
| Testers | [Marketing lead], [Studio manager], [Owner] | Run assigned scenarios, log every issue |
| Triage owner | [Agency PM or lead dev] | Sets severity, assigns fixes |
| Developer | [Dev name] | Fixes issues, does not test |
| Approver/signatory | [Owner name] | Signs off the round |

## 4. Test environment

| | |
|---|---|
| **Staging URL** | [https://fernhill-staging.example.com] |
| **Access** | [Password protected, password sent in access email] |
| **Content** | [Final copy and images loaded, except Wholesale and FAQ] |
| **Payments** | [Stripe test mode. Card 4242 4242 4242 4242, any future expiry, any CVC] |
| **Form emails** | [Routed to uat-inbox@youragency.com] |
| **Test accounts** | [customer-test@youragency.com, password in access email] |
| **Differs from live on purpose** | [noindex on, live analytics off] |

## 5. Test scenarios

| ID | Task | Steps | Expected result | Device | Pass/Fail | Tester |
|---|---|---|---|---|---|---|
| S01 | Buy a mug on a phone | Shop > Mugs > add to cart > checkout with test card | Confirmation page shows an order number; email arrives in 5 minutes | iPhone Safari | [ ] | [Studio manager] |
| S02 | Send an enquiry | Contact > fill all fields > submit | Thank-you message shows; email with all fields reaches UAT inbox | Desktop Chrome | [ ] | [Marketing lead] |
| S03 | Book a workshop place | Workshops > choose date > book | Booking confirmed on screen and by email | Android Chrome | [ ] | [Owner] |
| [S04] | [Add the rest of your scenarios here] | | | | [ ] | |

## 6. Browsers and devices

- **Priority 1:** iPhone Safari, Android Chrome, desktop Chrome, desktop Safari
- **Priority 2:** desktop Edge, desktop Firefox, iPad Safari
- **Widths to check:** 375, 768, 1024 and 1440px, and the widths in between

## 7. Entry criteria (UAT starts when)

- [ ] Internal QA complete, no known blockers
- [ ] Final content loaded (except the listed exclusions)
- [ ] Staging stable; payments and forms in test mode
- [ ] Testers briefed and holding URL, access details and scenarios
- [ ] Scenarios agreed with the client

## 8. Exit criteria (UAT ends when)

- [ ] Every scenario run on its assigned device
- [ ] Zero open Blocker or Major issues
- [ ] Minor issues fixed, or accepted with a post-launch fix date
- [ ] Retest of fixed issues passed
- [ ] Signed acceptance received

## 9. Severity levels

| Level | Definition | Example | Must fix before launch? |
|---|---|---|---|
| Blocker | Stops a key task | Checkout fails | Yes |
| Major | Key task broken or wrong information | Mobile menu won't open | Yes |
| Minor | Visible flaw, task still works | Hover state missing | Fix or accept with a date |
| Cosmetic / Suggestion | Preference, not a defect | Different image crop | Optional or change request |

The triage owner sets final severity.

## 10. How to log feedback

Open the staging URL and click the PageProofer feedback button. Click the exact element the issue is on and pin a note. No account is needed; you can leave notes as a guest.

In each note, write what you did, what you expected and what happened. One issue per note. Record your screen for anything that involves movement or several steps.

Please don't send issues by email or chat.

## 11. Timeline

| Stage | When |
|---|---|
| Briefing | [Day 1, 30-minute call] |
| Testing window | [Days 1-4] |
| Triage and fixes | [Days 5-7] |
| Retest | [Days 8-9] |
| Sign-off | [Day 10] |
| Target launch | [DATE] |

## 12. Sign-off

I confirm that [site] on [staging URL] has been tested against the agreed scenarios and is accepted for launch, with the following known minor issues: [list, or "none"].

| | |
|---|---|
| **Name** | |
| **Role** | |
| **Date** | |
| **Signature** | |
