Back to Exit Interview & Knowledge Capture

Test and QA Plan

How the build is validated before go-live: three sequential test phases, edge cases, and production verification.

4 pagesPDF · Quality
FS-DOC-06Quality

Test and QA Plan

Exit Interview and Knowledge Capture

[YourCompany.com] · Management Department · Prepared by FullSpec · [Today's Date]

This document defines the complete test and quality assurance programme for the Exit Interview and Knowledge Capture automation. It covers three sequential phases: unit testing of individual agents in isolation, integration and edge-case testing of agent handoffs and failure scenarios, and a final end-to-end production run. The FullSpec team runs Phases 1 and 2 entirely; your HR process owner joins Phase 3 to review outputs and record formal sign-off. No phase begins until every test case in the preceding phase has achieved a passing status.

01Testing approach

Testing is structured in three phases that must be completed in sequence. Phase 1 validates each agent in isolation using sandbox credentials and synthetic data. Phase 2 validates the handoffs between agents and the system's response to edge cases including missing data, duplicate triggers, and tool unavailability. Phase 3 is a full production run using a real (but immediately voided) departure record, with the process owner reviewing and approving outputs. No phase begins until the previous phase has fully passed with zero open failures.

1
Phase 1: Unit Testing
Individual agent validation in sandbox
Scope
Each agent tested independently: Exit Intake Agent (BambooHR trigger, Typeform dispatch, Notion page creation, reminder logic) and Knowledge Synthesis Agent (Typeform webhook ingestion, AI summarisation, Google Drive save, BambooHR write-back, Slack alert).
Environment
Sandbox only. All API calls use sandbox or test-mode credentials. No production BambooHR records are touched.
Credential rule
Sandbox BambooHR subdomain, Typeform test workspace, Notion test workspace, Google Drive test folder, Slack test channel (#exit-qa-test). No production credentials permitted in Phase 1.
Pass condition
All test cases T01 through T14 return expected outputs with no unhandled errors. Each case must be marked Pass before Phase 2 begins.
Who runs it
FullSpec team only.
2
Phase 2: Integration and Edge-Case Testing
Agent handoffs and failure mode validation
Scope
End-to-end agent handoff from Exit Intake Agent to Knowledge Synthesis Agent, plus edge cases: duplicate BambooHR webhook events, missing Typeform submission before deadline, unavailable Notion API, missing Slack channel, and AI summarisation returning empty output.
Environment
Sandbox for edge cases. Staging environment (mirroring production config) for handoff tests T15 through T21.
Credential rule
Staging credentials for integration tests. Sandbox credentials for edge-case tests E01 through E05. No production credentials.
Pass condition
All integration cases T15 through T21 pass and all edge-case cases E01 through E05 produce the correct fallback or error-handling behaviour. Zero silent failures permitted.
Who runs it
FullSpec team only.
3
Phase 3: End-to-End Production Test
Full production run with process owner review
Scope
One complete exit sequence triggered against a designated internal test employee record in the live BambooHR environment. All downstream tools (Typeform, Notion, Google Drive, BambooHR, Slack) receive real API calls. The test record is voided and all created assets are deleted or archived after sign-off.
Environment
Production. Live credentials across all connected tools.
Credential rule
Production credentials used. The test employee record must use an internal email address (not a real departing employee). All test-generated documents must be deleted from Google Drive and BambooHR within 24 hours of sign-off.
Pass condition
All production cases T22 through T26 pass, including process owner review and approval recorded in the FullSpec confirmation (case T26). No open issues.
Who runs it
FullSpec team executes; process owner (HR Manager) reviews outputs and records approval in case T26.
Test and QA PlanPage 1 of 4
FS-DOC-06Quality

02Phase 1 — unit test cases

All Phase 1 tests must use sandbox credentials only. Do not use production BambooHR employee records, the live Typeform workspace, the live Notion workspace, or the production Slack workspace at any point during Phase 1. If a test inadvertently fires against a production endpoint, halt the test run, revoke the credential, and notify support@gofullspec.com before continuing.

Exit Intake Agent: unit test cases

ID
Scenario
Input
Expected Output
Pass Criteria
T01
Happy path: departure status change triggers agent
BambooHR sandbox webhook payload: employee ID 1001, status changed to 'Leaving', departure date set 30 days out
Agent activates; Typeform personalised link generated and dispatched to employee email; Notion page duplicated from role template
Typeform email received within 60 seconds; Notion page URL logged in workflow run; no errors in run log
T02
Typeform link personalisation: role-specific question set selected
Employee record includes department field 'Operations'
Typeform link routes to the Operations variant of the exit questionnaire
Typeform response URL contains the correct form ID for the Operations variant; confirmed by inspecting the dispatched link
T03
Notion knowledge page pre-fill
Employee record: name 'Test User', role 'Operations Coordinator', manager email set
Notion page title reads 'Test User - Knowledge Transfer'; role and responsibility fields pre-populated; manager email copied on share notification
Page properties match employee record values; manager receives Notion share notification within 2 minutes
T04
Reminder logic: Typeform not submitted at 48-hour warning threshold
Simulated clock advance to 48 hours before departure date with Typeform response status = not submitted
Reminder email sent to employee; reminder logged in workflow run
Reminder email received at test inbox; workflow log shows 'reminder_sent: true'; no duplicate reminder sent
T05
Failure: BambooHR webhook payload missing departure date
Webhook payload includes status change to 'Leaving' but departure_date field is null
Agent halts and logs a structured error; no Typeform or Notion step is triggered; HR fallback notification sent
Run log contains error code MISSING_DEPARTURE_DATE; no Typeform email dispatched; fallback Slack message posted to #exit-qa-test
T06
Failure: Typeform API returns 429 rate-limit error on link generation
Simulated Typeform API response: HTTP 429 with Retry-After header of 30 seconds
Agent retries after 30 seconds (max 3 attempts); if all retries fail, logs error and sends HR fallback notification
Workflow log shows retry attempts 1, 2, 3; on persistent failure, error code TYPEFORM_RATE_LIMIT logged; fallback notification sent
T07
Failure: Notion API unavailable during page duplication
Notion API returns HTTP 503 Service Unavailable
Agent retries duplication up to 3 times with exponential backoff; on persistent failure, logs error and alerts HR
Retry attempts logged with timestamps; error code NOTION_UNAVAILABLE recorded; fallback HR notification sent; Typeform step completed independently

Knowledge Synthesis Agent: unit test cases

ID
Scenario
Input
Expected Output
Pass Criteria
T08
Happy path: Typeform submission received and summarised
Typeform webhook payload: all 12 questions answered, including role knowledge, client relationships, process risks, and handoff suggestions
AI generates a structured plain-English summary with four labelled sections; summary saved to Google Drive as PDF; BambooHR record updated with summary link
Google Drive PDF exists in designated HR folder; BambooHR custom field 'exit_summary_url' populated; summary word count between 300 and 800 words
T09
Knowledge gap scoring: high-priority gaps detected
Typeform submission where client relationship and process risk sections contain responses flagged as incomplete by gap-detection logic
Gap score above threshold (greater than 60%); Slack alert posted to #exit-qa-test listing flagged sections and suggested manager actions
Slack message received in #exit-qa-test within 90 seconds of Typeform submission; message lists at least two flagged gap categories; gap score visible in run log
T10
Knowledge gap scoring: no critical gaps detected
Typeform submission with all sections rated complete by gap-detection logic
Gap score below threshold; no Slack gap alert sent; summary still saved to Google Drive and BambooHR
No Slack alert posted; workflow log shows 'gap_alert_sent: false'; Google Drive and BambooHR updated correctly
T11
Google Drive file naming and folder routing
Employee record: name 'Test User', departure date 2025-02-12
PDF saved as 'ExitSummary_TestUser_20250212.pdf' inside the designated HR exits subfolder
File name matches pattern ExitSummary_{LastName}_{YYYYMMDD}.pdf; file located in correct Drive folder; Drive file ID logged in workflow run
T12
BambooHR write-back: exit summary and Notion link stored
Completed summary and Notion page URL available post-synthesis
BambooHR custom fields 'exit_summary_url' and 'notion_handoff_url' updated on the employee record
Both fields readable via BambooHR API GET /v1/employees/{id} within 2 minutes of synthesis completion; no overwrite of existing HRIS data
T13
Failure: AI summarisation returns empty or malformed output
Typeform payload submitted; AI call returns an empty string or JSON parse error
Agent logs error code AI_SUMMARY_EMPTY; raw Typeform response saved to Google Drive as fallback; HR notified via Slack fallback message
Raw response file exists in Drive; error code present in run log; Slack fallback message received; no empty BambooHR field write
T14
Failure: BambooHR write-back returns 403 Forbidden
Simulated BambooHR API response: HTTP 403 on PATCH /v1/employees/{id}/customFields
Agent logs error code BAMBOOHR_WRITE_FORBIDDEN; summary still saved to Google Drive; HR fallback notification sent with Drive file link
Error code BAMBOOHR_WRITE_FORBIDDEN in run log; Google Drive file confirmed saved; Slack fallback notification contains Drive file URL
Test and QA PlanPage 2 of 4
FS-DOC-06Quality

03Phase 2 — integration and edge case tests

Integration tests (T15 to T21): these cases validate the handoff between the Exit Intake Agent and the Knowledge Synthesis Agent, and confirm that data passed between agents is complete, correctly formatted, and triggers the downstream steps as expected.

ID
Scenario
Input
Expected Output
Pass Criteria
T15
Full agent handoff: Typeform submission received by Knowledge Synthesis Agent after Exit Intake Agent dispatches link
BambooHR departure trigger fires; Exit Intake Agent dispatches Typeform link; test respondent submits form in staging
Typeform webhook correctly routes to Knowledge Synthesis Agent; employee ID and metadata passed in webhook payload match the original BambooHR record
Synthesis agent run log shows correct employee_id, departure_date, and role fields inherited from intake agent context; no manual re-entry required
T16
Notion page URL passed through to synthesis agent context
Exit Intake Agent creates Notion page and stores URL in workflow context
Knowledge Synthesis Agent reads Notion URL from context and appends it to BambooHR write-back payload
BambooHR 'notion_handoff_url' field populated with the URL created by the intake agent; URL resolves to correct Notion page
T17
Slack alert correctly identifies line manager from employee record
BambooHR employee record includes supervisor field pointing to a manager with a linked Slack user ID
Slack alert posted as a direct message or @mention to the correct manager in the #exit-qa-test channel
Slack message recipient matches the supervisor field value from BambooHR; no alert sent to incorrect channel or user
T18
Google Drive PDF link included in BambooHR write-back
Synthesis agent completes summary and saves PDF to Drive
BambooHR 'exit_summary_url' field contains a valid, publicly-accessible (with auth) Google Drive share link
Drive link resolves when accessed with HR service account credentials; file content matches the generated summary
T19
Reminder from Exit Intake Agent does not re-trigger Knowledge Synthesis Agent
Reminder email sent to employee; Typeform still not submitted
No Knowledge Synthesis Agent run initiated; only the reminder action fires
Synthesis agent run log shows no new run initiated; only reminder action appears in the intake agent run log
T20
Two simultaneous departure events processed independently
Two BambooHR webhook payloads fire within 5 seconds of each other for two different employees
Two separate workflow runs created; each agent instance processes its own employee record without data cross-contamination
Two distinct run IDs in platform logs; each run references a different employee_id; Google Drive contains two separate summary PDFs
T21
End-to-end run time within acceptable limit
Standard Typeform submission (all questions answered) triggers synthesis agent
Full sequence from Typeform submission to Slack alert, Drive save, and BambooHR write-back completes within 5 minutes
Workflow platform timestamps show total elapsed time under 300 seconds for T08-equivalent payload; logged in Phase 2 run report

Edge-case tests (E01 to E05): these cases confirm that the automation handles abnormal inputs and external failures gracefully, with correct fallback behaviour and no silent data loss.

ID
Scenario
Input
Expected Output
Pass Criteria
E01
Duplicate BambooHR webhook: same employee departure event fires twice within 60 seconds
Two identical webhook payloads with the same employee_id and event timestamp
Idempotency check detects the duplicate; second run is suppressed; a single Typeform link and Notion page are created
Only one workflow run reaches completion for this employee_id; run log shows 'duplicate_suppressed: true' for the second event; employee receives one email
E02
Missing Typeform submission: employee does not submit before the deadline
Deadline passes with Typeform response status = not submitted; no further extension granted
Workflow posts a fallback alert to HR (Slack or email) listing the employee name, departure date, and a direct Typeform link for manual chase; run marked as 'requires human action'
Fallback notification received; run status set to 'requires_human_action' in platform log; no synthesis agent triggered; Knowledge Synthesis Agent does not fire on an empty payload
E03
Notion API unavailable for longer than retry window (all 3 retries exhausted)
Notion API returns HTTP 503 on all three retry attempts spaced at 30, 60, and 120 seconds
Agent logs error NOTION_UNAVAILABLE after final retry; Typeform dispatch continues independently; HR fallback notification includes instructions to create the Notion page manually
Error code NOTION_UNAVAILABLE in run log after third retry; Typeform email still dispatched successfully; fallback notification contains manual Notion setup instructions
E04
Typeform submission with missing or blank responses in critical sections
Employee submits Typeform but leaves client relationships and process risks sections entirely blank
AI summarisation runs on available content; gap score triggered at high level; Slack alert lists blank sections explicitly; summary saved to Drive with blank-section notation
Slack alert identifies the two blank sections by name; Drive PDF contains a 'not provided' notation for blank sections; BambooHR write-back still completes; no agent crash
E05
HR Manager does not respond to a human-chase fallback within 24 hours (timeout scenario)
E02 fallback fired; no action taken by HR within the 24-hour monitoring window
A second escalation notification is sent to the Operations Lead (per lifecycle people config); run remains flagged as 'requires_human_action'
Escalation notification received by Operations Lead contact; original HR fallback notification still present and unresolved in log; no data is auto-deleted or auto-closed
Test and QA PlanPage 3 of 4
FS-DOC-06Quality

04Phase 3 — end-to-end production test

Important before running Phase 3: use only a designated internal test email address (not a real departing employee) as the Typeform respondent. The BambooHR departure record must be created under a clearly labelled test employee profile (for example 'QA Test User - DO NOT PROCESS'). All documents created in Google Drive, all Notion pages generated, and all BambooHR field updates must be deleted or reverted within 24 hours of the process owner completing their review. The Slack test alert must be posted to the agreed test channel only, not to the live HR or management Slack channel. Failure to use an internal test address risks triggering real departure communications. Contact support@gofullspec.com before this phase if there is any doubt about the test setup.
ID
Scenario
Input
Expected Output
Pass Criteria
T22
Full production run: departure trigger to questionnaire dispatch
Test employee profile in live BambooHR with status changed to 'Leaving' and departure date set 14 days out; internal test email address on record
Exit Intake Agent fires within 60 seconds; Typeform personalised link sent to internal test email; Notion knowledge page created and shared; manager copy notification sent
Internal test inbox receives Typeform email; Notion page URL logged in production run log; manager copy notification confirmed; no production employee records touched
T23
Full production run: Typeform submission triggers synthesis
Internal tester submits the Typeform using the link from T22 with a complete set of realistic responses across all question sections
Knowledge Synthesis Agent activates within 60 seconds of submission; AI-generated summary produced with all four sections (role knowledge, client relationships, process risks, handoff suggestions); summary quality reviewed by FullSpec team before owner review
Synthesis agent run completes without error; summary document readable and correctly structured; four labelled sections present; word count between 300 and 800 words; run log shows zero errors
T24
Full production run: Google Drive save and BambooHR write-back
Completed synthesis from T23
PDF saved to production Google Drive HR exits folder with correct naming convention; BambooHR test employee record updated with 'exit_summary_url' and 'notion_handoff_url' fields
Drive file accessible via service account; file name matches pattern ExitSummary_{LastName}_{YYYYMMDD}.pdf; both BambooHR custom fields populated and readable via API GET call; FullSpec logs Drive file ID and BambooHR field values
T25
Full production run: error log verification and audit trail
Complete production run logs from T22 through T24
Platform run log contains a sequential audit trail: trigger received, intake agent started, Typeform dispatched, Notion page created, Typeform submitted, synthesis started, summary generated, Drive file saved, BambooHR updated, Slack alert evaluated; no unhandled exceptions
All 10 audit events present in run log with timestamps; no error codes other than expected informational entries; FullSpec confirms log integrity and provides log export to process owner
T26
Process owner review and approval
Process owner (HR Manager) reviews: the Typeform email received, the Notion knowledge page, the AI-generated summary PDF in Google Drive, the BambooHR record update, the Slack alert content, and the Phase 3 run log export provided by FullSpec
Process owner confirms: questionnaire email is clear and professional; Notion page is correctly structured; AI summary is accurate, appropriately toned, and suitable for filing; BambooHR record shows correct fields; Slack alert lists the correct gaps; overall automation behaviour meets operational requirements
Process owner records approval in the FullSpec project confirmation (no separate signoff block required). Approval is documented as: reviewer name, date of review, and a pass or fail verdict against each output reviewed. FullSpec archives the confirmation record. All test assets are deleted within 24 hours of approval.
Once T26 is recorded as approved in the FullSpec confirmation, the automation is cleared for go-live. The FullSpec team will activate the production BambooHR webhook, confirm all credentials are set to live values, and notify the HR Manager that the automation is running. For any questions during or after testing, contact support@gofullspec.com.
Test and QA PlanPage 4 of 4

More documents for this process

Every document generated for Exit Interview & Knowledge Capture.

Launch Plan
Operations · Owner
View
ROI and Business Case
Finance · Owner
View
Process Runbook / SOP
Operations · Owner
View
Developer Handover Pack
Technical · Developer
View
Integration and API Spec
Technical · Developer
View