Back to Policy Acknowledgement Tracking

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

Policy Acknowledgement Tracking

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

This document defines the structured test and quality assurance programme for the Policy Acknowledgement Tracking automation. It is written for the FullSpec build team and covers every test case across three sequential phases: unit testing of individual agents, integration and edge-case testing of agent handoffs and failure modes, and a final end-to-end production run. No phase begins until the previous phase has fully passed. The process owner joins Phase 3 to review and approve the live run before the automation is considered production-ready.

01Testing approach

Testing runs in three sequential phases. Each phase must reach a full pass before the next phase begins. This gate structure prevents integration defects from being masked by unresolved unit-level failures and ensures production credentials are never exercised before sandbox behaviour is confirmed.

1
Phase 1: Unit Testing
Individual agent logic in isolation
Scope
Each agent tested independently: Policy Distribution Agent, Reminder and Escalation Agent, Completion and Archiving Agent.
Environment
Sandbox only. No production BambooHR records, DocuSign envelopes, or Slack workspaces are touched.
Credential rule
Use sandbox API keys for BambooHR, DocuSign sandbox account, Gmail test alias, Slack test workspace, and a dedicated Google Sheets test file. No production credentials permitted.
Pass condition
All cases T01 through T12 return the expected output with zero critical errors. Acceptable minor variance: log formatting only.
Who runs it
FullSpec team only.
2
Phase 2: Integration and Edge Case Testing
Agent handoffs and failure scenarios
Scope
Cross-agent data handoffs, webhook reliability, and edge cases including duplicate employees, missing fields, tool unavailability, and human escalation timeout.
Environment
Sandbox only. Simulated webhook payloads used for DocuSign completion events.
Credential rule
Same sandbox credentials as Phase 1. No production credentials introduced at this stage.
Pass condition
All integration cases T13 through T19 pass, and all edge cases E01 through E06 either resolve gracefully or route correctly to a human escalation path.
Who runs it
FullSpec team only.
3
Phase 3: End-to-End Production Test
Full live cycle with real credentials
Scope
One complete policy cycle executed against production systems using an internal test policy document and a pilot employee group of five named testers.
Environment
Production. All live credentials active: BambooHR production tenant, DocuSign production account, Gmail, Slack, and Google Sheets.
Credential rule
Production credentials used. Test records must be voided and test envelopes voided in DocuSign after the run. BambooHR test attachments must be removed from employee records.
Pass condition
All cases T20 through T24 pass, including the process owner review case (T24). FullSpec records sign-off confirmation in writing.
Who runs it
FullSpec team executes; process owner joins to review output and record approval for T24.
Test and QA PlanPage 1 of 4
FS-DOC-06Quality

02Phase 1 — unit test cases

Sandbox credentials only for all Phase 1 tests. Do not use production BambooHR API keys, live DocuSign envelopes, real employee email addresses, or the production Slack workspace at any point during Phase 1. All Google Sheets writes must target the designated test file, not the live tracking sheet.

Policy Distribution Agent — tests T01 through T04

ID
Scenario
Input
Expected Output
Pass Criteria
T01
Happy path: policy published trigger fires
BambooHR webhook payload: policy_id=POL-001, version=1.2, target_group=all_active
Agent fetches employee list (20 sandbox records), creates tracking sheet tab, sends DocuSign envelopes to all 20 recipients
Google Sheets tab created with 20 rows, status=Pending. DocuSign sandbox shows 20 envelopes in Sent state. No errors in run log.
T02
Employee list fetch returns zero active employees
BambooHR sandbox group with 0 active employees
Agent halts gracefully, logs a warning: 'No active employees found for target group', no envelopes sent
Run log contains warning entry. No DocuSign envelopes created. Google Sheets tab not created. No unhandled exception.
T03
BambooHR API returns 401 Unauthorized
Invalid sandbox API key injected
Agent catches auth error, logs 'BambooHR authentication failed', halts and alerts via configured error channel
Error logged with timestamp. No downstream steps executed. Error notification sent to test Slack error channel.
T04
DocuSign envelope send fails for one recipient (invalid email format in sandbox record)
Employee list containing one record with malformed email: john.doe@
Envelopes sent to all valid recipients; failed recipient logged with reason 'invalid email'; Google Sheets row for that employee flagged as Error
19 of 20 envelopes sent successfully. Row for failed recipient shows status=Error in Google Sheets. Run log records the specific envelope failure with employee ID.

Reminder and Escalation Agent — tests T05 through T08

ID
Scenario
Input
Expected Output
Pass Criteria
T05
Happy path: day-5 reminder fires for unsigned employee
Scheduled trigger at day 5; DocuSign sandbox status for employee_id=EMP-007: pending
Gmail reminder sent to EMP-007 sandbox email with direct DocuSign link. Google Sheets row updated: last_reminder_date=day5
Gmail sandbox shows delivered message to EMP-007 address. Google Sheets last_reminder_date column updated. No duplicate send.
T06
Day-5 reminder skipped for employee who already signed
DocuSign sandbox status for EMP-008: completed
No Gmail message sent to EMP-008. Google Sheets row unchanged.
Gmail sandbox shows no new message to EMP-008. Google Sheets status remains Signed. Run log confirms skip with reason 'already completed'.
T07
Happy path: day-10 Slack escalation fires for persistent non-responder
Scheduled trigger at day 10; EMP-009 status: pending; line_manager_slack_id=UM-123 in sandbox
Slack DM sent to EMP-009 sandbox user. Separate Slack DM sent to UM-123 flagging EMP-009 as overdue.
Slack test workspace shows two DMs: one to EMP-009, one to UM-123. Google Sheets escalation_date column updated. Gmail reminder not re-sent.
T08
Line manager Slack ID missing for escalation target
EMP-010 at day 10; line_manager_slack_id=null in sandbox record
Agent escalates via Gmail to HR Manager fallback address instead of Slack. Logs warning: 'Slack ID not found, falling back to email escalation'.
Gmail sandbox shows message to HR Manager fallback address. Slack workspace shows no message for EMP-010. Log contains warning entry with employee ID.

Completion and Archiving Agent — tests T09 through T12

ID
Scenario
Input
Expected Output
Pass Criteria
T09
Happy path: DocuSign completion webhook received, document archived
DocuSign sandbox completion webhook for EMP-011, envelope_id=ENV-055, policy_id=POL-001
Agent retrieves signed PDF from DocuSign sandbox, attaches to EMP-011 BambooHR sandbox record under Documents folder, updates Google Sheets row to status=Signed with timestamp
BambooHR sandbox record for EMP-011 contains new document attachment. Google Sheets row status=Signed, signed_at timestamp populated. Run log confirms successful write.
T10
BambooHR document write fails (API write permission denied)
Completion webhook received; BambooHR sandbox API key has read-only scope
Agent catches 403 error, logs 'BambooHR write failed for EMP-011', queues retry, notifies error channel
Error logged with employee ID and envelope ID. Retry queued (max 3 attempts). Error notification sent. Google Sheets row flagged as ArchiveError.
T11
All employees signed: completion report generated and distributed
All 20 sandbox employees show DocuSign status: completed
Agent generates completion report in Google Sheets (cycle summary: 20/20 signed, zero overdue). Report link shared to HR Manager test email address.
Google Sheets completion tab populated with correct summary figures. Gmail sandbox shows report notification to HR Manager address. No errors in run log.
T12
Cycle deadline reached with 2 employees still unsigned
Deadline date reached; EMP-014 and EMP-015 still pending in DocuSign sandbox
Agent generates partial completion report (18/20 signed). Flags EMP-014 and EMP-015 as Overdue in Google Sheets. Notifies HR Manager with list of outstanding employees.
Google Sheets shows 18 rows Signed, 2 rows Overdue. Completion report reflects 90% completion. HR Manager test email contains names of outstanding employees.
Test and QA PlanPage 2 of 4
FS-DOC-06Quality

03Phase 2 — integration and edge case tests

Integration tests verify that data passes correctly between agents and that real tool interactions behave as expected end to end within the sandbox. All IDs continue the T sequence from Phase 1.

ID
Scenario
Input
Expected Output
Pass Criteria
T13
Policy Distribution Agent hands off tracking data to Reminder and Escalation Agent
Policy cycle initiated; tracking sheet seeded by Distribution Agent with 20 rows
Reminder Agent reads Google Sheets correctly on day-5 scheduled run, identifies all pending employees, sends correct reminder count
Reminder Agent log shows 20 employees evaluated. Gmail sandbox shows correct number of reminders matching pending count from Google Sheets. No row skipped or double-processed.
T14
DocuSign completion webhook triggers Completion Agent mid-cycle (partial completions)
5 completion webhooks fired in quick succession within a 10-second window for 5 different employees
Agent processes all 5 webhooks without collision. Each employee's BambooHR record updated and Google Sheets row updated independently.
BambooHR sandbox shows 5 new document attachments. Google Sheets shows 5 rows updated to Signed with distinct timestamps. No duplicate or missing writes. Run log shows 5 successful operations.
T15
Reminder Agent and Completion Agent write to Google Sheets concurrently
Reminder batch update and a DocuSign webhook arrive at the same second
Both writes complete without data corruption. Row-level locking or sequential write queue prevents overwrite.
Google Sheets reflects both updates correctly after concurrent writes. No row shows a blank or overwritten value. Run log shows no collision errors.
T16
DocuSign rate limit hit during bulk envelope send (large employee group)
Distribution Agent attempts to send 150 envelopes in rapid succession against DocuSign sandbox rate limit of 25 requests/minute
Agent detects 429 Too Many Requests response, applies exponential backoff, retries in batches, completes all 150 sends within 10 minutes
All 150 DocuSign sandbox envelopes reach Sent status. No envelopes skipped. Run log shows rate-limit events and retry intervals. Total send time under 12 minutes.
T17
Slack API unavailable during day-10 escalation run
Slack sandbox returns 503 Service Unavailable for all requests during the escalation window
Agent retries Slack calls up to 3 times with 60-second intervals. After final failure, falls back to Gmail escalation to HR Manager. Logs 'Slack unavailable, escalation sent via Gmail'.
Gmail sandbox shows escalation email to HR Manager listing all affected employees. Slack test workspace shows no messages. Run log contains 3 retry attempts and fallback record.
T18
BambooHR webhook payload missing policy version field
Trigger payload received with policy_id=POL-002 but version field absent
Distribution Agent logs a validation warning, uses a default version label of 'Version Unknown', proceeds with distribution, and flags the cycle in Google Sheets as requiring manual version confirmation.
Google Sheets cycle header shows version=Version Unknown with a flag. Distribution proceeds to all employees. HR Manager test email receives a data-quality alert. No agent crash.
T19
Full sandbox end-to-end: trigger through archiving with a 10-person pilot group
Policy trigger fired; 10 sandbox employees; 8 sign on day 3; 2 require day-5 reminders; 1 requires day-10 Slack escalation; all sign by day 11
All three agents execute in correct sequence. Google Sheets reflects each status change in real time. BambooHR sandbox shows 10 signed document attachments. Completion report generated at cycle close.
Zero unhandled errors across all three agents. All 10 BambooHR sandbox records contain signed PDF. Completion report shows 10/10. Reminder and escalation logs match expected employee IDs. Run log timestamps reflect correct day-5 and day-10 timing.

Edge case tests cover boundary conditions, missing data, and failure scenarios that fall outside the happy path but must be handled gracefully.

ID
Scenario
Input
Expected Output
Pass Criteria
E01
Duplicate employee entry in BambooHR employee list
BambooHR sandbox returns EMP-020 twice in the same query result (data quality issue)
Distribution Agent deduplicates the list before sending envelopes. Only one DocuSign envelope sent to EMP-020.
DocuSign sandbox shows exactly one envelope for EMP-020. Google Sheets shows one row for EMP-020. Log records 'Duplicate detected and removed: EMP-020'.
E02
Employee offboarded mid-cycle (terminated in BambooHR after envelope already sent)
EMP-021 terminated in BambooHR sandbox on day 4; envelope still open in DocuSign
On the next scheduled Reminder Agent run, EMP-021 is detected as inactive. Envelope voided in DocuSign. Google Sheets row updated to status=Removed (Offboarded). No further reminders sent.
DocuSign sandbox shows envelope for EMP-021 voided. Google Sheets row status=Removed. No day-5 reminder sent to EMP-021. Log records offboarding detection and void action.
E03
Policy document missing from DocuSign template at send time
DocuSign sandbox template referenced by the automation has been deleted by an administrator
Agent catches template-not-found error (DocuSign API 404 on template fetch), halts distribution, alerts HR Manager with message: 'DocuSign template POL-TMPL-01 not found. Manual action required.'
No envelopes sent. HR Manager test email contains clear error description and template ID. Google Sheets cycle row shows status=DistributionFailed. No silent failure.
E04
Employee submits signed envelope after the cycle deadline has passed
EMP-022 clicks DocuSign link and signs on day 16; cycle deadline was day 14
Completion webhook still fires. Completion Agent archives the signed PDF to BambooHR. Google Sheets row updated to Signed (Late) with signed_at timestamp. Completion report updated if still open; otherwise a late-filing note appended.
BambooHR sandbox record for EMP-022 contains signed PDF. Google Sheets row status=Signed (Late). Late signature logged with timestamp. No document discarded.
E05
HR Manager does not action an escalated non-responder within 5 days of escalation
EMP-023 escalated on day 10; no HR action recorded by day 15
Reminder Agent detects no resolution after 5 days of escalation. Sends a second Slack message to HR Manager flagging the overdue escalation. Google Sheets row shows EscalationOverdue.
Slack test workspace shows second notification to HR Manager mentioning EMP-023. Google Sheets row shows status=EscalationOverdue. No automated resolution applied. Log records secondary escalation event.
E06
Google Sheets API quota exceeded during a large-batch status update
Simultaneous completion webhooks for 50 employees trigger 50 Google Sheets write calls within 60 seconds, exceeding the 60 requests/minute quota
Agent detects quota error (429), queues remaining writes, processes in batches of 20 with 30-second delays. All 50 rows eventually updated.
Google Sheets shows all 50 rows updated to Signed with correct timestamps. No row left in Pending state after queue drains. Run log shows quota events and batch retry behaviour. Total update time under 5 minutes.
Test and QA PlanPage 3 of 4
FS-DOC-06Quality

04Phase 3 — end-to-end production test

Important before running Phase 3: use a dedicated internal test policy document (not a real active policy) and a pilot group of five named internal testers, not the full employee population. All DocuSign envelopes created during this test must be voided in the production DocuSign account immediately after the run. Any document attachments written to BambooHR employee records during the test must be removed. Any Google Sheets rows created must be cleared or archived in the designated test tab. Confirm all cleanup steps with the process owner before marking Phase 3 complete.

Phase 3 uses live production credentials across BambooHR, DocuSign, Gmail, Slack, and Google Sheets. The FullSpec team executes each test case and records the result. The process owner reviews the output of T20 through T23 before approving T24.

ID
Scenario
Production Action
Expected Output
Pass Criteria
T20
Full production trigger: policy published, distribution agent runs
Mark test policy document as active in production BambooHR for pilot group (5 named testers)
Policy Distribution Agent fires within 2 minutes of trigger. Google Sheets production tracking tab created with 5 rows, status=Pending. 5 DocuSign envelopes sent to pilot tester email addresses. Confirmation logged.
Production Google Sheets tracking tab contains exactly 5 rows. DocuSign production account shows 5 envelopes in Sent state addressed to correct pilot testers. Agent run log shows no errors. Envelopes received and accessible by testers.
T21
Simulated day-5 reminder: one tester leaves envelope unsigned, reminder fires
One pilot tester deliberately does not sign. Advance the scheduled reminder trigger to fire in test mode.
Gmail reminder delivered to the unsigned tester with correct DocuSign link. Google Sheets last_reminder_date updated for that tester. Signed testers receive no reminder.
Gmail production account shows delivered reminder to unsigned tester only. Google Sheets confirms correct column update. Run log shows correct filtering by DocuSign status.
T22
DocuSign signature event: tester signs, completion agent archives document
One pilot tester signs their DocuSign envelope in production
Completion Agent receives webhook within 60 seconds of signing. Signed PDF retrieved and attached to tester's BambooHR employee record. Google Sheets row updated to Signed with timestamp.
BambooHR production record for signing tester contains the signed PDF under Documents. Google Sheets status=Signed with correct timestamp. Webhook receipt and write confirmed in run log. No manual intervention required.
T23
Error log and audit trail verification
Review all agent run logs produced during T20 through T22
Logs contain: trigger event with policy ID and timestamp, employee list fetch result, envelope send confirmations with envelope IDs, reminder evaluation with per-employee status, webhook receipt with envelope ID and employee ID, BambooHR write confirmation.
All expected log entries present and timestamped. No unhandled exceptions recorded. Log entries are traceable from trigger to archive for each pilot tester. FullSpec confirms log integrity in writing.
T24
Process owner review and approval: final production sign-off
Process owner reviews: Google Sheets tracking tab, BambooHR document attachments for signed testers, agent run logs summary provided by FullSpec, reminder and escalation behaviour observed during T20 to T23
Process owner confirms: tracking sheet reflects correct status for all 5 pilot testers; signed documents are accessible in BambooHR; reminder logic matched expected timing; no data quality issues observed. Process owner records approval in the FullSpec confirmation document.
Process owner approval recorded in the FullSpec written confirmation. All test envelopes voided in DocuSign. All test BambooHR attachments removed. Google Sheets test rows cleared. Phase 3 declared complete and automation approved for go-live.
Once T24 approval is recorded, the FullSpec team will confirm go-live readiness in writing and coordinate the first live policy cycle with the HR Manager. For any questions during or after testing, contact the FullSpec team at support@gofullspec.com.
Test and QA PlanPage 4 of 4

More documents for this process

Every document generated for Policy Acknowledgement Tracking.

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