Back to Audit Preparation Workflow

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

Audit Preparation Workflow

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

This document defines the complete test and quality assurance programme for the Audit Preparation Workflow automation. It covers three sequential phases: unit testing of each individual agent in a sandbox environment, integration and edge-case testing across agent handoffs, and a final end-to-end production run. The FullSpec team runs Phases 1 and 2 entirely; the process owner joins Phase 3 to confirm the workflow behaves correctly under live conditions and to record formal approval. No phase begins until every test case in the preceding phase has passed.

01Testing approach

Testing is structured into three phases that run in strict sequence. Phase 1 validates each agent in isolation using sandbox credentials. Phase 2 verifies that agents hand off correctly to each other and that the workflow handles edge cases gracefully. Phase 3 confirms the entire process runs as expected in the production environment with real tooling. A phase may not begin until every test case in the preceding phase carries a passing status recorded in the FullSpec test log.

1
Phase 1: Unit Testing
Estimated time: 1 to 2 business days
Scope
Each agent tested in isolation: Evidence Collection Agent and Document Review and Organisation Agent. Individual actions, triggers, and conditional logic only.
Environment
Sandbox only. No production Notion workspace, Drive folders, or DocuSign envelopes are touched.
Credential rule
Sandbox API keys and test OAuth tokens exclusively. Production credentials must not be loaded into the automation platform during this phase.
Pass condition
All cases T01 through T14 return the expected output with no unhandled errors.
Who runs it
FullSpec team. No process owner involvement required.
2
Phase 2: Integration and Edge-Case Testing
Estimated time: 1 to 2 business days
Scope
Agent-to-agent handoffs, webhook return paths (DocuSign completion), and all defined edge cases including duplicate uploads, missing data fields, and tool unavailability.
Environment
Sandbox for all tool connections. DocuSign test envelope API used. Drive sandbox folder with controlled test files.
Credential rule
Sandbox credentials only. Production DocuSign account and live Drive folders must remain untouched.
Pass condition
Integration cases T15 through T22 and edge cases E01 through E07 all pass. No unhandled exceptions in the orchestration layer logs.
Who runs it
FullSpec team. No process owner involvement required.
3
Phase 3: End-to-End Production Test
Estimated time: 1 business day
Scope
Full workflow run from Notion audit record creation through to Slack completion alert, using production credentials and real tool connections. Covers the complete evidence collection and document review cycle.
Environment
Production. Live Notion workspace, real Drive folders, active Gmail and Slack accounts, and live DocuSign account. Test records must be voided or deleted after the run.
Credential rule
Production credentials loaded and verified before the test begins. All OAuth tokens scoped as documented in the Integration and API Spec.
Pass condition
Cases T23 through T27 all pass, including process owner review and approval recorded in the FullSpec confirmation log.
Who runs it
FullSpec team executes. Process owner (Compliance Manager) joins to observe, review flagged file behaviour, and record final approval.
Test and QA PlanPage 1 of 4
FS-DOC-06Quality

02Phase 1 — unit test cases

Sandbox credentials only during Phase 1. Do not connect production Notion databases, Gmail accounts, Drive folders, Slack workspaces, or DocuSign accounts at this stage. Use the dedicated sandbox API keys documented in the Developer Handover Pack. Any test that inadvertently fires against a production system must be halted immediately and the credential configuration reviewed before continuing.

Evidence Collection Agent — unit tests. This agent is responsible for creating the evidence checklist in Notion, sending assignment emails via Gmail, creating the Drive submission folder, monitoring submission status, and dispatching overdue reminders via Slack and Gmail.

ID
Scenario
Input
Expected output
Pass criteria
T01
Happy path: audit record triggers workflow
New Notion audit record with confirmed engagement date, audit type, scope, and compliance owner populated
Workflow trigger fires within 60 seconds; audit metadata extracted correctly into workflow variables
All expected fields (audit name, date, type, owner) present in the workflow execution payload with no null values
T02
Happy path: evidence checklist generated in Notion
Valid audit type value from T01 payload
Structured evidence checklist page created in sandbox Notion database with correct line items, assigned owners, and internal due dates
Checklist page exists in Notion; line item count matches the expected template for the audit type; due dates fall before the audit engagement date
T03
Happy path: stakeholder assignment emails sent via Gmail
Populated checklist with three or more distinct stakeholder email addresses
Each stakeholder receives a personalised Gmail message listing only their assigned items, the required format, and the internal deadline
Number of emails sent equals number of distinct assignees; each email body contains the correct item list for that recipient; no cross-contamination of items between recipients
T04
Happy path: Drive submission folder created
Audit name and category list from workflow payload
Top-level audit folder created in sandbox Drive with correctly named sub-folders per document category; stakeholder permissions applied
Folder structure matches the agreed Drive schema; all expected sub-folders present; designated stakeholder emails have editor access; compliance manager email has owner access
T05
Happy path: Notion status updated after daily monitoring poll
One item present in sandbox Drive sub-folder matching an expected checklist entry
Corresponding Notion checklist row status updated from Pending to Received
Status field in Notion row reflects Received within one scheduled polling cycle; timestamp updated; no other rows affected
T06
Happy path: overdue Slack alert fires for a single item
Notion checklist row with status Pending and an internal due date in the past
Slack direct message sent to the assigned stakeholder; Gmail follow-up sent to the same address
Slack message delivered to correct sandbox Slack user ID; Gmail message delivered to correct sandbox address; message body references the specific overdue item name and deadline
T07
Failure: Notion trigger fires with missing engagement date
New Notion audit record with engagement date field left blank
Workflow halts at trigger validation step; error logged with field name and record ID; no downstream actions fire
No checklist created; no emails sent; error entry present in the automation platform execution log citing missing engagement date
T08
Failure: Gmail send fails due to invalid stakeholder email address
Checklist row containing a malformed email address (missing domain)
Email send step logs a delivery failure for that address; remaining valid addresses continue to receive their emails; error flagged in execution log
Valid-address emails confirmed delivered; malformed-address row flagged with error status in execution log; workflow does not halt entirely
T09
Failure: Drive folder creation fails due to insufficient permissions
Sandbox OAuth token with read-only Drive scope (simulating misconfiguration)
Folder creation step returns a 403 error; workflow halts and logs the permission error; no partial folder created
Execution log records a 403 from Drive API; no folder exists in sandbox Drive; error notification surfaced in platform monitoring

Document Review and Organisation Agent — unit tests. This agent monitors the Drive submission folder for new uploads, validates files against the expected evidence list, organises verified documents, routes signature requests via DocuSign, and posts the completion alert to Slack.

ID
Scenario
Input
Expected output
Pass criteria
T10
Happy path: correctly named file uploaded and verified
PDF file uploaded to the correct Drive sub-folder with a name matching the expected evidence list entry exactly
File validated as matching; Notion checklist row status updated to Verified; file moved or confirmed in the final evidence pack sub-folder
Notion row status is Verified; file present in the evidence pack folder; no escalation triggered
T11
Happy path: declaration document routed to DocuSign
Verified file of a type flagged as requiring a signature in the document type mapping table
DocuSign test envelope created and sent to the nominated sandbox signatory; Notion row updated to Awaiting Signature
DocuSign sandbox API confirms envelope sent; Notion row status is Awaiting Signature; signatory email address matches the mapping table entry for that document type
T12
Happy path: DocuSign completion webhook updates Notion
DocuSign sandbox webhook payload with status Completed and envelope ID matching a Notion row
Notion checklist row status updated to Signed; no further DocuSign action triggered
Notion row status is Signed within 30 seconds of webhook receipt; envelope ID in Notion matches the payload
T13
Happy path: all items verified, completion Slack alert posted
All Notion checklist rows in Verified or Signed status
Slack message posted to the compliance manager and leadership channel confirming the evidence pack is complete
Slack message delivered to both configured channel IDs; message body references the correct audit name; no duplicate messages sent
T14
Failure: file uploaded with incorrect name, escalated to compliance manager
PDF uploaded to Drive with a filename that does not match any expected evidence list entry
File flagged as unrecognised; Notion row for that evidence item updated to Flagged for Review; no automatic verification or folder move occurs; compliance manager notified
Notion row status is Flagged for Review; file remains in the intake sub-folder; compliance manager Slack notification delivered with file name and upload timestamp; no DocuSign envelope triggered
Test and QA PlanPage 2 of 4
FS-DOC-06Quality

03Phase 2 — integration and edge case tests

Phase 2 validates that the two agents hand off data correctly between each other, that webhooks fire and are received as expected, and that the automation platform orchestrates the full pre-production flow without errors. All tests remain in the sandbox environment.

ID
Scenario
Input
Expected output
Pass criteria
T15
Handoff: Evidence Collection Agent passes audit metadata to Document Review Agent on first upload
Sandbox Drive upload event occurring after Evidence Collection Agent has created the checklist and folder structure
Document Review Agent receives the correct audit ID and evidence list context; validates the upload against the right checklist; no orphaned run
Document Review Agent execution log shows the correct audit record ID from the Evidence Collection Agent context; validation runs against the expected item list
T16
Handoff: Notion status updated by Evidence Collection Agent does not conflict with Document Review Agent update on the same row
Both agents attempt to update the same Notion checklist row within the same polling cycle (status from Received to Verified)
Final row status is Verified; no duplicate update calls; no row locked or corrupted
Notion API call log shows two sequential updates with no conflict error; final row status is Verified; Notion page version increments correctly
T17
Handoff: DocuSign completion webhook correctly resolves to the originating Notion row
DocuSign sandbox completion payload with envelope ID that was created from a specific Notion checklist row
Workflow resolves the envelope ID to the originating row; updates that row to Signed; no other rows affected
Correct and only the correct Notion row updated; envelope ID lookup returns a single match; execution log confirms single-row write
T18
Handoff: overdue reminder from Evidence Collection Agent does not re-fire after Document Review Agent marks item as Verified
Notion row transitions from Overdue to Verified mid-cycle
Overdue reminder suppressed for that row in subsequent polling cycles; no further Slack or Gmail messages sent for that item
No Slack or Gmail message sent for the Verified row in the next two polling cycles; execution log shows the overdue check evaluated the row and skipped it
T19
Integration: Gmail assignment email links point to the correct Drive sub-folder
Assignment email generated for a stakeholder with a specific document category
Email body contains a Drive link that resolves to the correct category sub-folder for that stakeholder, not the root folder or another category
Drive URL in email body opens the correct sub-folder in the sandbox; folder access restricted to the correct stakeholder email
T20
Integration: Slack overdue alert and Gmail follow-up fire as a coordinated pair, not independently
Single overdue Notion row detected in polling cycle
One Slack message and one Gmail message sent for that item in the same execution; not two Slack messages or two Gmail messages
Execution log shows exactly one Slack API call and one Gmail API call for the overdue item; no duplicates within a 24-hour window for the same row
T21
Integration: Drive folder structure survives a re-trigger if the audit record is updated rather than replaced
Audit engagement date field in Notion updated (not a new record) after folder creation
Workflow detects the change is an update, not a new audit; does not create a duplicate Drive folder; does not resend assignment emails
No duplicate Drive folder created; no duplicate emails sent; execution log records the update event as a non-triggering change or handles it with a deduplication check
T22
Integration: completion Slack alert fires only when all checklist rows reach a terminal status (Verified or Signed)
Sandbox Notion checklist with ten rows; nine at Verified, one still at Pending
Completion alert not sent; alert fires only when the tenth row reaches Verified after a subsequent upload
No Slack completion message during the nine-of-ten state; Slack message confirmed delivered after the final row transitions; message references the correct audit name

Edge-case tests. The following scenarios cover conditions outside the happy path that are likely to occur in production: duplicate submissions, incomplete data, tool unavailability, and human review timeout.

ID
Scenario
Input
Expected output
Pass criteria
E01
Duplicate file upload: same file uploaded twice to the same Drive sub-folder
Identical filename and content uploaded to a sandbox Drive folder for an item already in Verified status
Second upload detected as a duplicate; Notion row remains at Verified; no second DocuSign envelope triggered; compliance manager not re-notified
Notion row status unchanged after second upload; execution log records duplicate detected; no additional API calls to DocuSign or Slack
E02
Missing audit type field in Notion record
New Notion audit record with engagement date present but audit type field blank
Checklist generation step cannot resolve a template; workflow pauses and logs an error; compliance manager receives a Slack warning that the record is incomplete
No checklist created; Slack warning delivered to compliance manager sandbox account within one minute of trigger; error logged with record ID and missing field name
E03
Drive API unavailable during scheduled monitoring poll
Drive API returns a 503 error during the daily submission monitoring step
Polling step retries up to three times with exponential backoff; if all retries fail, error is logged and the next scheduled poll runs at the next cycle; no false Overdue status set
Execution log shows three retry attempts with increasing delays; no Notion status changes made during the failed poll; next polling cycle executes normally
E04
DocuSign API unavailable when signature routing is attempted
Document validated and flagged for signature; DocuSign API returns a 503 error on envelope creation
Envelope creation retried up to three times; on persistent failure, Notion row set to Signature Pending (manual); compliance manager notified via Slack to send DocuSign request manually
Three retry attempts logged; Notion row status is Signature Pending (manual); Slack notification delivered to compliance manager; no partial envelope created in DocuSign
E05
Stakeholder uploads a file in an unsupported format (e.g., a ZIP archive)
ZIP file uploaded to a Drive sub-folder that expects a PDF or XLSX
File flagged as unsupported format; Notion row status set to Flagged for Review; compliance manager notified with filename, format detected, and expected format; file not moved to evidence pack
Notion row is Flagged for Review; Slack notification to compliance manager includes file name and format mismatch detail; file remains in the intake folder
E06
Human review timeout: compliance manager does not action a flagged file within 48 hours
Notion row in Flagged for Review status with a flagged timestamp older than 48 hours
Escalation reminder sent to compliance manager via Slack and Gmail; if no action after a further 24 hours, Legal Ops Lead (secondary escalation contact) is notified
First reminder delivered at the 48-hour mark; second escalation to Legal Ops Lead delivered at the 72-hour mark; Notion row status unchanged by the automation pending human decision
E07
Slack workspace API rate limit reached during bulk overdue reminder cycle
Eight or more overdue Notion rows detected in a single polling cycle, causing rapid sequential Slack API calls
Messages queued and dispatched with a minimum 1-second delay between each call to stay within Slack Tier 2 rate limits; all messages delivered; no messages dropped
All expected Slack messages delivered within five minutes of the polling cycle completing; no 429 rate-limit error recorded in the execution log; message count in Slack matches overdue row count
Test and QA PlanPage 3 of 4
FS-DOC-06Quality

04Phase 3 — end-to-end production test

Important before running Phase 3: use an internal test email address (not an external auditor address) as the recipient for any outbound communications during this run. Create the test Notion audit record with a clearly marked name such as TEST-DO-NOT-SUBMIT so it is not confused with a real audit cycle. After the test run is complete, the FullSpec team will void the DocuSign test envelope, delete or archive the test Notion record, remove the test Drive folder, and confirm in writing that no production data was affected. Do not grant external auditor access to any Drive folder during this phase.

Phase 3 runs the complete workflow end to end in the live production environment. The FullSpec team creates the test audit record, observes each step fire in sequence, verifies the error log is clean, and records the results. The process owner (Compliance Manager) joins for the final review step and records formal approval in the FullSpec confirmation log. Test IDs continue from Phase 2.

ID
Scenario
Steps covered
Expected output
Pass criteria
T23
Full production trigger to checklist: audit record created in live Notion workspace
Trigger, checklist generation, Gmail assignment emails, Drive folder creation
Live Notion checklist created with correct line items and due dates; three or more personalised Gmail messages delivered to internal test addresses; Drive submission folder and sub-folders created with correct permissions
Notion checklist page exists in production workspace; Gmail delivery confirmed in sent folder and recipient inboxes; Drive folder structure matches the agreed schema; all permission assignments correct
T24
Production monitoring and overdue escalation
Daily polling, Notion status update, Slack and Gmail overdue reminder
At least one test checklist item deliberately left unsubmitted past its due date triggers a Slack direct message and a Gmail follow-up to the test stakeholder address; Notion row updated to Overdue
Slack message received in the test user account; Gmail message in the test inbox; Notion row status is Overdue; no reminders sent to any real stakeholder not part of the test
T25
Production document upload, validation, and DocuSign routing
Drive upload detection, file validation, folder organisation, DocuSign envelope creation and webhook return
Test PDF uploaded to the correct Drive sub-folder; validated and moved to the evidence pack folder; DocuSign envelope created and sent to the test signatory; on sandbox-signed return, Notion row updated to Signed
File present in the evidence pack folder; DocuSign envelope status Sent confirmed in live DocuSign account; webhook received and Notion row updated to Signed within 60 seconds of DocuSign completion
T26
Production completion alert and error log verification
Completion Slack alert, full execution log review
All production checklist rows reach terminal status; Slack completion message posted to compliance manager and leadership channel; FullSpec team reviews the full execution log and confirms zero unhandled errors
Slack completion message delivered with correct audit name; execution log reviewed and signed off by the FullSpec engineer; zero unhandled exceptions; all API response codes in the 2xx range for successful steps; any expected 4xx codes (e.g., duplicate detection) handled gracefully and logged
T27
Process owner review and approval (final production sign-off)
Full workflow review by Compliance Manager; approval recorded in FullSpec confirmation log
The Compliance Manager reviews the completed production test run: checklist accuracy, email content, Drive folder structure, DocuSign routing, overdue reminder behaviour, and the Slack completion alert. Any issues are noted and resolved before this case is marked as passed. Approval is recorded in the FullSpec confirmation log at support@gofullspec.com.
PASS: Compliance Manager confirms all steps behaved as expected, raises no unresolved issues, and their approval is recorded in the FullSpec confirmation log. This case passing constitutes the formal process owner sign-off for go-live authorisation.
Once T27 is recorded as passed, the FullSpec team will clean up all test artefacts (void the DocuSign envelope, archive or delete the test Notion record, remove the test Drive folder) and confirm clean-up in writing to the process owner. The automation is then cleared for live use on the next confirmed audit engagement. For questions or issue escalation during testing, contact support@gofullspec.com.
Test and QA PlanPage 4 of 4

More documents for this process

Every document generated for Audit Preparation Workflow.

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