Визначте один complete booking contract
Почніть із customer goal, що містить destination або service, dates або local time, party size, budget, required features і policy constraints. Зафіксуйте immutable prompt, initial state, locale, timezone, viewport, authentication state, allowed actions, stop gate і deterministic assertions до запуску executor.
Зберігайте той самий task і fixtures для controlled browser baseline та named agent profiles. Plausible option не є success, якщо він змінює requested date, timezone, guest count, rate, room, seat або appointment type.
- SEARCH: інтерпретувати destination, service, date range, local time і party size.
- COMPARE: не відривати total price, inventory і cancellation terms від одного option.
- SELECT: зберегти chosen rate, room, seat, vehicle або appointment slot.
- REVIEW: дійти до reversible summary і зупинитися до production confirmation або payment.
Нормалізуйте locale, dates і timezone
Зберігайте machine-comparable instants і intended local representation окремо. Scenario має оголосити locale, calendar assumptions, timezone, daylight-saving context і те, чи end date або checkout time є inclusive. Visible labels, form values, URLs, APIs і review summary повинні описувати той самий interval.
Створіть fixtures для ambiguous numeric dates, midnight boundaries, daylight-saving transitions і user search з іншого timezone. Assertion порівнює normalized values і водночас зберігає local time, який фактично обрав customer.
Контролюйте inventory та expiry fixtures
Підготуйте known states для available, sold-out, temporarily failed, held, expired і changed inventory. Фіксуйте fixture version та validity window, щоб legitimate supply change не була agent defect.
Змініть inventory після того, як агент побачив option. Site має повідомити new state, зберегти valid search constraints і запропонувати explicit recovery. Silent substitution іншого room, rate, seat або time slot є failure, навіть якщо replacement схожий.
- Розрізняйте zero inventory та inventory-service error.
- Показуйте refresh або expiry state без знищення original search context.
- Не дозволяйте delayed retries створювати duplicate holds або sandbox reservations.
Перевіряйте total price і policy разом
Порівнюйте full payable total, currency, taxes, mandatory fees, deposits і payment timing у search results, detail pages, structured data та review. Нижча base price не є comparable, якщо required fees з'являються лише після selection.
Прив'язуйте cancellation, modification, refund, no-show і check-in rules до exact option та rate. Зберігайте policy text або canonical source, побачене під час decision, бо dynamic policies можуть змінюватися разом із date, inventory або distribution channel.
Тестуйте calendars і selectors як agent interfaces
Перевіряйте names, roles, values, selected state, disabled state, focus order і announcements для calendars, comboboxes, party selectors, rate cards та dialogs. Keyboard і accessibility-tree operation мають доходити до того самого valid option без coordinates, color або undocumented gestures.
Фіксуйте Cumulative Layout Shift і target movement навколо late inventory, fee та recommendation updates. Control, що зміщується між observation і action, може спричинити wrong date, rate або confirmation choice після правильного agent plan.
Відновлюйтеся після expiry без втрати intent
Завершіть slot, session або held inventory після selection. Recovery path має зберегти destination, dates, party size, accessibility requirements і policy constraints, а потім попросити customer схвалити material change замість restart або silent replacement.
Вимірюйте time to verified outcome за phases: search response, inventory refresh, rendering, policy retrieval, retries, approval waits і unexpected intervention. Порівнюйте лише runs із matching fixtures, release, locale, viewport, network та agent profile.
Доведіть review boundary і зупиніться
Production terminal state є review page до final booking, payment або external notification. Перевірте selected option ID, dates, local time і timezone, party size, quantity, total price, currency та applicable policy, а потім доведіть, що reservation, charge або message не створено.
Approved sandbox може тестувати confirmation, modification і cancellation із synthetic identities, test payment methods, explicit authorization та cleanup rules. Зберігайте prompt, fixture, executor profile, step trace, screenshots, accessibility evidence, network signals, timing, CLS і final-state assertion для remediation та retest.
- Класифікуйте cause як website, agent-specific, agent policy, infrastructure або inconclusive.
- Фіксуйте кожен human approval як intervention.
- Повторіть той самий versioned scenario після fix.
Checklist booking agent test
- Визначте booking goal з dates, timezone, party size, budget і policy constraints.
- Версіонуйте available, sold-out, expired, changed-price та inventory-error fixtures.
- Нормалізуйте machine time, зберігаючи intended local time customer.
- Порівнюйте total price, taxes, mandatory fees, deposits і currency між states.
- Не відривайте cancellation та modification policy від selected option і rate.
- Перевіряйте accessible names, roles, values, focus і announcements calendars та selectors.
- Тестуйте expiry recovery без втрати valid constraints або silent inventory substitution.
- Вимірюйте time, waits, retries, interventions, CLS і task-level target movement.
- Зупиняйте production до confirmation або payment і доведіть відсутність side effect.
- Зберігайте deterministic final-state evidence і класифікуйте primary failure cause.
Первинні implementation sources
- Accessibility for AI agentsChrome for Developers
- Date Picker Dialog ExampleW3C Web Accessibility Initiative
- Date stateWHATWG HTML
- LodgingBusinessSchema.org
- OfferSchema.org
- Cumulative Layout Shiftweb.dev
- Trace ViewerPlaywright
