Files
carmanagement/docs/ops/RentalDriveGo_Manual_UI_Test_Plan_v1.0.md
T
root 8fc88ffc14
Build & Push / Pipeline Tests (push) Failing after 59s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 51s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Carplace Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
fix production issues
2026-08-12 16:48:41 -04:00

31 KiB

RentalDriveGo Manual UI Test Plan

Version: v1.0
Scope: Phase 16 unified UI across homepage, Carplace/storefront, renter area, operator dashboard, platform admin, authentication pages, localization, theming, responsiveness, accessibility, and cross-app navigation.
Repository baseline: RentalDriveGo_Phase16_Dashboard_Admin_Unified_v1.0.zip
Test type: Manual functional UI, visual consistency, accessibility spot checks, responsive behavior, localization, and regression testing.


1. Objective

Verify that all public and authenticated RentalDriveGo applications use the Phase 16 homepage design system consistently and remain usable across English, French, Arabic RTL, light mode, dark mode, desktop, tablet, and mobile.

The testing must prove three things:

  1. The new design is applied consistently across all major pages.
  2. Existing user flows still work after the visual refactor.
  3. Shared navbar, footer, dashboard shell, admin shell, forms, tables, cards, and page headings behave correctly across contexts.

2. Applications in scope

Area Application Manual coverage required
Marketing website homepage Public homepage, navigation, language switcher, theme switcher, CTAs, demo flow, responsive layout, localized routes
Marketplace / Carplace storefront Public marketplace, explore/search, company pages, vehicle detail, booking form, footer pages, renter auth and renter account pages
Operator dashboard dashboard Public auth pages, dashboard shell, all operational routes, forms, tables, detail pages, modals, billing, settings, print surfaces
Platform admin admin Admin auth, admin shell, all admin management routes, company management, pricing, billing, containers, menu/config pages
API-connected behavior api through UI Confirm UI states for loading, success, validation errors, authorization errors, and network failures where available

3. Test environments

Run manual UI testing in at least these environments:

Environment Required? Notes
Local development Yes Primary smoke and visual review environment
Staging / preview deployment Yes Required before production release
Production-like deployment Recommended Use production build settings, HTTPS, real domains, and realistic API URLs

Do not approve release from local testing only. That would be optimism wearing a fake mustache.


4. Browser and device matrix

Desktop browsers

Browser OS Priority
Chrome latest Windows P0
Edge latest Windows P0
Safari latest macOS P1
Firefox latest Windows or macOS P1

Mobile and tablet

Device class Width target Priority
Small mobile 360 x 800 P0
Large mobile 390 x 844 P0
Tablet 768 x 1024 P1
Small laptop 1280 x 800 P0
Desktop 1440 x 900 P0
Wide desktop 1920 x 1080 P1

Use real devices where possible for mobile navigation, keyboard behavior, touch target size, and scroll locking. Browser dev tools are useful, but they are not a phone, no matter how hard the viewport dropdown tries.


5. Test users and roles

Prepare these accounts before testing:

Role Needed for
Public visitor Homepage, marketplace, footer pages, sign-in/create-account flows
Renter Carplace renter dashboard, profile, saved companies, notifications
Operator / agency admin Main dashboard, reservations, contracts, fleet, customers, team, billing, settings
Operator team member with limited permissions Permission visibility and blocked routes
Platform super admin Admin dashboard and platform management pages
Invalid/expired user Auth error states, reset password, invite, verification edge cases

6. Required test data

Create or seed the following before full UI testing:

Data Minimum requirement
Companies/agencies At least 3 active companies with different logos, statuses, locales, and subscription states
Vehicles At least 10 vehicles across available, reserved, maintenance, inactive, and incomplete states
Reservations Draft, confirmed, active, overdue, cancelled, completed, online-requested
Contracts At least one printable contract with customer, vehicle, dates, photos, and charges
Customers/renters Customers with complete, partial, and missing information
Team members Admin, manager, agent, inactive user, invited user
Reviews/complaints Open, resolved, escalated, empty-state capable
Billing/subscription Active plan, trial, past due, cancelled or expired state where possible
Notifications Read, unread, action-required, empty state
Admin data Companies, renters, platform admins, pricing plans, containers, audit logs, menu entries, site config
Localization content English, French, Arabic strings for public and authenticated areas

7. Global design acceptance criteria

Every page must satisfy these checks:

  • Uses Phase 16 blue/orange token system.
  • Blue is used for primary operational actions.
  • Orange is reserved for conversion, emphasis, selected states, focus, or warnings.
  • Page background, panels, cards, forms, tables, badges, and shadows match the homepage visual language.
  • No old FleetOS branding appears anywhere.
  • No mixed brand names such as RentalCarDrive, RentalDrive, or legacy storefront naming appear in visible UI unless intentionally part of old data.
  • Light and dark mode both remain readable.
  • Arabic uses true RTL layout, not just Arabic text shoved into left-to-right furniture.
  • Public navbar and footer appear on standalone public/auth pages where expected.
  • Embedded auth pages using embedded=1 do not show duplicated navbar/footer.
  • Mobile layouts avoid horizontal scrolling.
  • Buttons, links, inputs, selects, and controls have visible hover, active, disabled, loading, and focus-visible states.
  • Interactive controls are approximately 44 px minimum height where practical.
  • Tables, modals, drawers, menus, and dropdowns remain usable on mobile.
  • Loading, empty, success, validation-error, permission-error, and server-error states are visually consistent.

8. Global navigation and layout tests

ID Area Steps Expected result Priority
NAV-001 Public navbar Open homepage desktop. Inspect logo, nav links, language switcher, theme switcher, CTAs. Navbar matches Phase 16 design, no clipping, active/hover states visible. P0
NAV-002 Public mobile navbar Open homepage at 360 px. Open and close mobile menu. Menu opens cleanly, traps visual focus appropriately, scroll does not break, links are usable. P0
NAV-003 Public footer Open homepage, marketplace home, sign-in, create account. Shared footer appears consistently on standalone public pages. P0
NAV-004 Auth public layout Open dashboard sign-in, sign-up, forgot password, reset password, verify email, onboarding. Shared navbar/footer are visible unless embedded=1 is present. P0
NAV-005 Embedded auth layout Add ?embedded=1 to auth URLs. Navbar/footer are hidden and page does not show nested chrome. P0
NAV-006 Dashboard shell Log in as operator. Move through all dashboard routes. Sidebar, topbar, active states, page width, and spacing remain consistent. P0
NAV-007 Admin shell Log in as platform admin. Move through all admin routes. Admin sidebar/topbar match dashboard design system, with admin-specific nav. P0
NAV-008 Mobile operational shell Open dashboard/admin at mobile width. Open sidebar/menu. Drawer works, content is not hidden behind topbar, no horizontal scrolling. P0
NAV-009 Logout/account controls Use user/account menu in dashboard/admin. Menu opens, closes, keyboard works, logout/account actions are visible. P1
NAV-010 Active route state Visit every sidebar route. Correct nav item uses active state and accessible current-page indication. P1

9. Homepage manual tests

Test locales: /en, /fr, /ar.

ID Page/feature Steps Expected result Priority
HOME-001 Homepage load Open each locale homepage. Hero, proof section, comparison, workflow, feature sections, pricing/CTA areas load without broken layout. P0
HOME-002 Hero CTAs Click primary demo CTA and secondary tour/explore CTA if present. Correct dialog, route, or section opens. No dead links. P0
HOME-003 Demo dialog/form Open demo request flow. Submit empty form, invalid email, then valid data. Validation messages are clear; valid submission shows success or expected API result. P0
HOME-004 Language switcher Switch EN to FR to AR and back. User remains on matching route; copy changes; Arabic direction flips to RTL. P0
HOME-005 Theme switcher Switch light, dark, system. Refresh page. Theme applies consistently and persists if persistence is supported. P0
HOME-006 Header scroll behavior Scroll through page. Sticky/header behavior is stable and does not obscure content. P1
HOME-007 Public content pages Open localized slug pages available in the site. Header/footer render; not-found and loading states are localized and styled. P1
HOME-008 Component lab Open component lab if enabled. Components render without layout breakage and match tokens. P2
HOME-009 SEO/basic metadata Inspect tab title, favicon, social preview if available. Branding is RentalDriveGo and no old brand appears. P2
HOME-010 Public accessibility pass Keyboard through homepage from top to bottom. Focus order is logical, focus rings visible, menus/dialogs usable. P0

10. Carplace / storefront public tests

ID Page/feature Steps Expected result Priority
CP-001 Marketplace home Open storefront public home. Uses Phase 16 navbar/footer and visual tokens. P0
CP-002 Explore page Open /explore. Search/filter if controls exist. Filters are usable; results grid/cards align with design; empty state works. P0
CP-003 Company workspace page Open company workspace creation/info page. Public layout, CTA hierarchy, and form controls are consistent. P0
CP-004 Company profile Open /explore/[slug] for at least 3 companies. Branding, vehicles, contact/booking areas load correctly. P0
CP-005 Vehicle detail Open /explore/[slug]/vehicles/[id]. Vehicle photos/details/pricing/availability render without overflow. P0
CP-006 Booking form Submit booking with empty, invalid, and valid fields. Validation, date handling, price display, and success/error states are clear. P0
CP-007 Public sign-in Open storefront sign-in. Styling matches public auth design and routes correctly. P0
CP-008 Policy pages Open EN/FR/AR privacy and terms pages. Footer/header are consistent; copy direction is correct; long content is readable. P1
CP-009 Footer content pages Open footer dynamic pages. Content loads; no broken layout or missing footer. P1
CP-010 Marketplace mobile Test home, explore, company, vehicle detail at 360 px. Cards stack properly, no horizontal scroll, booking CTA remains usable. P0

11. Renter account tests

ID Page/feature Steps Expected result Priority
RENT-001 Renter sign-in Open renter sign-in and test invalid credentials. Validation/error state is styled and readable. P0
RENT-002 Renter sign-up Create account with missing, invalid, and valid data. Form states and success path are clear. P0
RENT-003 Renter dashboard Log in as renter and open dashboard. Shell is consistent with marketplace/renter context; key data appears. P0
RENT-004 Saved companies Save and remove company where supported. State updates visually and persists after refresh if expected. P1
RENT-005 Renter profile Update profile fields. Field styling, validation, save state, and success message are consistent. P0
RENT-006 Renter notifications Open notifications with read/unread data. Notification cards/states are readable in light/dark. P1
RENT-007 Permission boundary Try accessing renter pages while logged out. Redirect or guard behavior is correct. P0

12. Dashboard public authentication tests

ID Page/feature Steps Expected result Priority
AUTH-001 Sign in Open dashboard sign-in. Test empty, invalid, and valid credentials. Public navbar/footer show; errors are clear; success redirects to dashboard. P0
AUTH-002 Create account Open sign-up/create account. Test required fields and valid registration. Form matches design; validation and success path are clear. P0
AUTH-003 Forgot password Request reset with empty, invalid, unknown, and valid email. Safe, clear messaging; no layout break. P0
AUTH-004 Reset password Open reset page with missing, invalid, expired, and valid token. Correct error/success states and password field behavior. P0
AUTH-005 Verify email Open valid, invalid, and expired verification states. Styled message and next action are clear. P1
AUTH-006 Onboarding Open onboarding flow as invited/new user. Layout, steps, forms, and final redirect work. P0
AUTH-007 Accept invite Open invitation acceptance with valid/expired invite. Correct messaging and route behavior. P0
AUTH-008 Embedded auth Open each auth URL with ?embedded=1. No duplicated navbar/footer; form remains centered and usable. P0

13. Operator dashboard tests

Dashboard overview

ID Page/feature Steps Expected result Priority
DASH-001 Overview Open dashboard home. Hero/heading, metrics, quick actions, and recent activity match Phase 16 style. P0
DASH-002 Empty state Use company/account with minimal data. Empty panels are intentional, helpful, and styled. P1
DASH-003 Loading state Throttle network and reload. Skeleton/loading states do not cause layout jumps or unreadable text. P1

Reservations

ID Page/feature Steps Expected result Priority
RES-001 Reservation list Open reservations page. Search/filter/sort if available. Table/cards are readable and responsive; statuses are clear. P0
RES-002 New reservation Create reservation with missing, invalid, and valid data. Form fields, validation, customer/vehicle/date selection, and save states work. P0
RES-003 Reservation detail Open confirmed, active, cancelled, completed reservation. Detail layout, actions, status badges, panels, and timeline are consistent. P0
RES-004 Reservation photos Upload/view/remove photos if supported. Upload UI, previews, errors, and mobile behavior work. P1
RES-005 Vehicle condition Complete damage/condition inspection if supported. Cards, controls, required fields, and summary are usable. P1

Contracts

ID Page/feature Steps Expected result Priority
CON-001 Contract list Open contracts page and inspect table/actions. Table style, filters, and empty states match design. P0
CON-002 Contract detail Open contract detail. Panels, customer/vehicle/rate sections, and actions align with design. P0
CON-003 Print contract Use print preview. Printable contract remains document-like and does not include broken app chrome. P0

Fleet

ID Page/feature Steps Expected result Priority
FLEET-001 Fleet list Open fleet page with many vehicles. Cards/table/grid are readable; status colors include text/icons. P0
FLEET-002 Vehicle detail Open vehicle detail for available, reserved, maintenance vehicles. Detail panels, pricing, availability, and actions are consistent. P0
FLEET-003 Vehicle calendar Open calendar view if present. Calendar cells, selected date, availability, and overflow are usable. P1
FLEET-004 Vehicle pricing Edit pricing rules if supported. Inputs, tables, add/remove states, and save behavior are clear. P1

Customers and team

ID Page/feature Steps Expected result Priority
CUST-001 Customers Open customers page, search, inspect profiles/actions. Table/cards, empty states, and row actions match design. P0
TEAM-001 Team list Open team page with active/invited/inactive members. Roles/statuses are clear and not color-only. P0
TEAM-002 Invite modal Open invite member modal and submit invalid/valid data. Modal, focus, validation, and success/error states work. P0
TEAM-003 Edit member modal Change role/permissions where allowed. Permission matrix is readable and keyboard usable. P1
TEAM-004 Limited permission user Log in as limited member. Restricted nav/actions are hidden or disabled consistently. P0

Online reservations, reviews, complaints, offers

ID Page/feature Steps Expected result Priority
OPS-001 Online reservations Open page with pending/accepted/rejected requests. Statuses, action buttons, details, and empty states are consistent. P0
OPS-002 Reviews Open reviews page with data and empty state. Review cards/table and response controls are readable. P1
OPS-003 Complaints Open complaints page with open/resolved items. Priority/status treatment is accessible and consistent. P1
OPS-004 Offers Create/edit/disable an offer where supported. Orange is used only for promotional emphasis; operational saves are blue. P1

Reports, notifications, billing, subscription, settings

ID Page/feature Steps Expected result Priority
MGT-001 Reports Open reports page with and without data. Charts/tables/cards align and stay readable in dark mode. P1
MGT-002 Notifications Open notifications, mark read/unread if supported. Read/unread states are visible and accessible. P1
MGT-003 Billing Open billing page with active/past-due/trial states. Plan cards, invoices, payment CTAs, and warnings are clear. P0
MGT-004 Subscription Open subscription page and test plan state display. Current plan, upgrade/downgrade/cancel paths are visually clear. P0
MGT-005 Settings Open all settings sections. Sections are organized, forms are consistent, and save states work. P0
MGT-006 Dashboard route refresh Refresh every dashboard page directly. No route loses layout, auth, locale, or styling after refresh. P0

14. Platform admin tests

Admin authentication

ID Page/feature Steps Expected result Priority
AD-AUTH-001 Admin login Open admin login and test invalid/valid credentials. Page matches design; errors are readable; success redirects to admin dashboard. P0
AD-AUTH-002 Admin forgot/reset password Test forgot and reset flows. Validation and success/error states are clear. P1
AD-AUTH-003 Auth redirect Open admin root and auth redirect routes. Correct redirect behavior for logged-in/logged-out users. P0

Admin dashboard and management pages

ID Page/feature Steps Expected result Priority
AD-001 Admin overview Open admin dashboard home. Hero/metrics/actions match Phase 16 style. P0
AD-002 Companies list Open companies page with many companies. Search/filter/sort where available. Table/cards, statuses, and actions are consistent. P0
AD-003 Company detail Open company detail for active, trial, suspended/past-due companies. Panels, admin actions, metadata, and billing/status sections are clear. P0
AD-004 Renters Open renters page. Inspect search/filter/detail actions. Layout and status treatment are consistent. P1
AD-005 Admin users Open admin users page. Create/edit/disable if supported. Forms/modals/buttons use shared design and permissions are clear. P0
AD-006 Billing Open admin billing page. Invoices/subscriptions/payment states are readable and consistent. P0
AD-007 Pricing Open pricing management. Add/edit plans where supported. Form fields, conversion accents, and save buttons follow token rules. P0
AD-008 Containers Open containers page. Container status, controls, tables, and warnings are clear. P1
AD-009 Audit logs Open audit logs with dense data. Search/filter if available. Dense table remains readable, scrollable, and accessible. P1
AD-010 Notifications Open admin notifications page. Creation/list/status/empty states are consistent. P1
AD-011 Menu management Open menu management page. Edit/reorder/toggle items if supported. Drag/drop or controls work and are usable on mobile. P1
AD-012 Site config Open site configuration page. Edit fields and save. Field styling, section hierarchy, validation, and success states work. P0
AD-013 Admin mobile Test all admin pages at 360 px. Drawer, tables, modals, and forms remain usable without horizontal page scroll. P0
AD-014 Admin route refresh Refresh every admin page directly. No page loses shell, auth state, or styling. P0

15. Localization and RTL tests

Run these checks across homepage, Carplace, dashboard auth, dashboard, and admin where language switching is available.

ID Scenario Steps Expected result Priority
LOC-001 English Use English UI. Copy fits controls; dates/numbers are readable. P0
LOC-002 French Switch to French. Longer French labels do not overflow buttons, cards, tables, or nav. P0
LOC-003 Arabic RTL Switch to Arabic. Layout direction flips; sidebar, nav, icons, paddings, and text alignment are RTL-aware. P0
LOC-004 Mixed content View emails, names, phone numbers, prices, and vehicle names in Arabic UI. LTR data remains readable inside RTL layout. P1
LOC-005 Mobile Arabic Test public and authenticated mobile pages in Arabic. Drawers open from the correct side; content does not clip. P0
LOC-006 Missing translation Force/identify missing string where possible. No raw translation keys leak into UI. P1

16. Theme tests

ID Scenario Steps Expected result Priority
THEME-001 Light mode Switch to light mode and inspect all major routes. Contrast, shadows, borders, and panels match Phase 16. P0
THEME-002 Dark mode Switch to dark mode and inspect all major routes. Text, inputs, badges, tables, dialogs, and menus remain readable. P0
THEME-003 System mode Set system theme and change OS preference. App follows system setting if supported. P1
THEME-004 Theme persistence Change theme, refresh, open new tab. Theme persists consistently where expected. P1
THEME-005 Dark mode modals/dropdowns Open menus, dialogs, date pickers, selects. Overlays do not appear with mismatched light/dark styling. P0

17. Responsive testing checklist

For each major route group, test 360 px, 390 px, 768 px, 1280 px, and 1440 px widths.

ID Check Expected result
RESP-001 No horizontal page scroll Content fits viewport except intentional internal table scrolling.
RESP-002 Sidebar/drawer behavior Desktop sidebar becomes usable mobile drawer.
RESP-003 Topbar behavior Topbar does not cover content or controls.
RESP-004 Tables Tables either stack, scroll inside a panel, or remain readable.
RESP-005 Forms Labels, inputs, helper text, errors, and buttons fit.
RESP-006 Modals Dialogs fit viewport and scroll internally if needed.
RESP-007 Cards/grids Cards stack with reasonable spacing.
RESP-008 Footer Footer columns collapse cleanly.
RESP-009 CTAs Primary actions remain reachable without awkward scrolling.
RESP-010 Touch targets Controls are large enough for touch interaction.

18. Accessibility spot-check plan

This is not a full WCAG audit, but these checks are mandatory before release.

ID Check Steps Expected result Priority
A11Y-001 Keyboard navigation Use Tab/Shift+Tab through every major page. Focus order is logical and visible. P0
A11Y-002 Skip/repeated navigation Test repeated nav areas. User can reach main content without excessive tabbing where supported. P1
A11Y-003 Menus/dialogs Open and close nav menus, dropdowns, modals. Focus enters, remains usable, and returns predictably. P0
A11Y-004 Forms Trigger validation errors. Errors are associated with fields and readable. P0
A11Y-005 Color contrast Inspect text, badges, disabled states, links in light/dark. Text and states are legible. P0
A11Y-006 Color-only status Inspect statuses. Status is not communicated by color alone. P0
A11Y-007 Zoom Test browser zoom at 200%. Content remains usable without major clipping. P1
A11Y-008 Reduced motion Enable reduced motion. No essential interaction depends on animation. P1
A11Y-009 Forced colors Test high-contrast/forced-colors mode if available. Focus, text, and controls remain usable. P1
A11Y-010 Screen reader smoke Use VoiceOver/NVDA on key pages. Headings, buttons, form labels, links, and menus are understandable. P1

19. Error, empty, loading, and permission states

Verify these states across homepage forms, Carplace booking, dashboard pages, and admin pages.

ID State How to test Expected result Priority
STATE-001 Loading Throttle network or reload API-heavy pages. Loading UI uses shared styling and avoids layout collapse. P0
STATE-002 Empty data Use account with no records. Empty state explains what to do next and uses matching card/panel style. P0
STATE-003 Validation error Submit required forms empty or invalid. Error messages are clear, close to fields, and accessible. P0
STATE-004 Server error Simulate 500/API failure where possible. Error message is readable and not a raw stack trace. P0
STATE-005 Unauthorized Access dashboard/admin while logged out. Redirect or blocked state is correct. P0
STATE-006 Forbidden Access admin-only route with non-admin user. User sees safe forbidden state or redirect. P0
STATE-007 Not found Open invalid public, dashboard, storefront, and admin URLs. Styled not-found behavior, no broken shell. P1
STATE-008 Offline Disable network after page load and perform action. User receives clear failure feedback. P1

20. Cross-app route and brand consistency tests

ID Check Steps Expected result Priority
XAPP-001 Homepage to dashboard auth Use homepage CTA that leads to sign-in/create account. Correct app opens with public navbar/footer and same design language. P0
XAPP-002 Homepage to Carplace Use marketplace/explore links if present. Carplace opens with shared public design. P0
XAPP-003 Dashboard to public site Use logo/help/home links where present. Correct destination; no old domain/path if not intended. P1
XAPP-004 Admin to company detail From admin companies, open company detail. Route works and design remains consistent. P0
XAPP-005 Branding Search visible UI for old names. Only RentalDriveGo and intentional Carplace marketplace naming appear. P0
XAPP-006 Favicon/logo assets Inspect browser tab and logos across apps. Assets are not broken, stretched, or legacy-branded. P1

21. Manual regression checklist before release

Run this checklist after every UI/design change:

  • Homepage loads in EN, FR, AR.
  • Public navbar works on desktop and mobile.
  • Public footer appears on homepage, Carplace, sign-in, create-account, forgot-password, reset-password, verify-email, onboarding.
  • Embedded auth hides navbar/footer with embedded=1.
  • Dashboard login works.
  • Dashboard overview loads.
  • Dashboard reservations list, new reservation, and reservation detail load.
  • Dashboard contracts list, contract detail, and print preview work.
  • Dashboard fleet list and vehicle detail load.
  • Dashboard customers, team, billing, subscription, reports, notifications, settings load.
  • Admin login works.
  • Admin overview, companies, company detail, renters, admin users, billing, pricing, containers, audit logs, notifications, menu management, site config load.
  • Carplace home, explore, company page, vehicle page, booking form, renter dashboard load.
  • Light/dark mode checked on at least homepage, dashboard overview, admin companies, Carplace explore.
  • Arabic RTL checked on at least homepage, dashboard overview, admin companies, Carplace explore.
  • Mobile checked on at least homepage, dashboard overview, admin companies, Carplace vehicle detail.
  • Keyboard navigation checked on homepage, dashboard sign-in, reservation form, admin companies.
  • No visible old branding.
  • No horizontal scroll at mobile width.
  • No raw errors, stack traces, broken images, or unstyled default controls.

22. Defect reporting format

Every UI defect should include:

Title:
Environment:
App:
Route:
Role/account:
Browser/device:
Language:
Theme:
Viewport size:
Steps to reproduce:
Expected result:
Actual result:
Severity:
Screenshot/video:
Console errors:
Network/API errors:
Regression? yes/no:

Severity definitions:

Severity Meaning Example
S0 Blocker User cannot complete a core flow Cannot sign in, dashboard crashes, booking cannot submit
S1 Critical Major page/flow broken or misleading Wrong layout on mobile, save action hidden, admin table unusable
S2 Major Important UI defect with workaround Modal overflow, dark mode unreadable badge, RTL alignment bug
S3 Minor Cosmetic or low-impact issue Slight spacing mismatch, non-critical hover inconsistency
S4 Trivial Polish only Tiny copy or icon alignment issue

23. Release exit criteria

Manual UI testing may be accepted when:

  • All P0 tests pass.
  • No S0 or S1 defects remain open.
  • S2 defects have approved fixes or explicit release acceptance.
  • Homepage, Carplace, dashboard, and admin have been tested in light, dark, and Arabic RTL.
  • Mobile smoke tests pass at 360 px width.
  • Keyboard navigation smoke tests pass for public auth, dashboard, and admin.
  • Public navbar/footer behavior is verified on all standalone public/auth pages.
  • Embedded auth behavior is verified with embedded=1.
  • Visual consistency review confirms Phase 16 design language across public and authenticated pages.
  • Stakeholder signs off with screenshots or recordings attached for the main flows.

24. Suggested execution order

  1. Smoke test all apps and authentication first.
  2. Test homepage and public navigation/footer.
  3. Test Carplace public marketplace and renter flows.
  4. Test operator dashboard routes.
  5. Test platform admin routes.
  6. Run localization and RTL passes.
  7. Run dark mode pass.
  8. Run mobile pass.
  9. Run accessibility spot checks.
  10. Re-test fixed defects and complete release checklist.

This order catches structural failures early. Testing every button color before confirming login works.