Back to NDA 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

NDA Workflow Automation

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

This document defines the full test and quality assurance programme for the NDA Workflow automation. It covers all three testing phases: unit tests per agent, integration and edge-case tests across agent handoffs, and a final end-to-end production run. The FullSpec team executes Phases 1 and 2 entirely in sandbox environments. Your team joins Phase 3 for the production verification and formal process owner sign-off. No phase begins until the previous phase has fully passed with zero open failures.

01Testing approach

Testing is structured across three sequential phases: Unit, Integration, and End-to-end. No phase begins until the previous phase has fully passed. Each phase has a defined environment, credential rule, pass condition, and responsible party. This sequencing ensures that component-level failures are caught and resolved before inter-agent handoffs are tested, and that handoff failures are resolved before live production data is involved.

1
Phase 1: Unit Testing
Estimated time: 1-2 business days
Scope
Each agent tested in isolation: Intake and Classification Agent, Approval and Routing Agent, Signature and Completion Agent. No cross-agent handoffs tested in this phase.
Environment
Sandbox only. Notion test database, Google Drive test folder, DocuSign developer account, HubSpot sandbox, Slack test workspace, Gmail alias.
Credential rule
Sandbox credentials exclusively. No production API keys, tokens, or DocuSign account IDs may be used in Phase 1.
Pass condition
All cases T01 through T14 return expected outputs with no error states. Zero cases in a failed or partial status before Phase 2 begins.
Who runs it
FullSpec team. Process owner is not required for Phase 1.
2
Phase 2: Integration and Edge Case Testing
Estimated time: 1-2 business days
Scope
Agent-to-agent handoffs across all three agents, plus edge cases covering duplicate submissions, missing required fields, tool unavailability, and human approval timeout scenarios.
Environment
Sandbox only. Full pipeline connected end-to-end in sandbox. No production records written.
Credential rule
Sandbox credentials throughout. Integration tokens must match those validated in Phase 1.
Pass condition
All cases T15 through T21 pass plus all edge cases E01 through E06 produce the expected fallback or error-handling behaviour.
Who runs it
FullSpec team. Process owner is not required for Phase 2.
3
Phase 3: End-to-End Production Test
Estimated time: 1 business day
Scope
Full production run using a real test NDA scenario. All agents triggered in sequence against live credentials. Error log verification included.
Environment
Production. Live API credentials, live Notion workspace, live Google Drive, live DocuSign account, live HubSpot, live Slack, and live Gmail.
Credential rule
Production credentials used for the first time in this phase. All test records must be voided or deleted after each Phase 3 run.
Pass condition
All cases T22 through T25 pass. Process owner completes final review case T25 and sign-off is recorded in the FullSpec confirmation.
Who runs it
FullSpec team runs T22 through T24. Process owner joins for T25 (final review and approval case).
Test and QA PlanPage 1 of 4
FS-DOC-06Quality

02Phase 1 — unit test cases

Sandbox credentials only: All Phase 1 tests must be executed using sandbox API keys, test Notion databases, the DocuSign developer account, and a dedicated Gmail alias. No production credentials, live HubSpot contacts, or real counterparty details may be used in this phase. If any test inadvertently writes to a production system, halt testing, revoke the affected token, and restart from a clean sandbox state.

Intake and Classification Agent (covers process steps 1, 2, 3)

ID
Scenario
Input
Expected Output
Pass Criteria
T01
Happy path: mutual NDA submission
Form submission with relationship_type=mutual, party_name=Test Corp, requester_email=test@[YourCompany.com], governing_law=New York
Notion record created with status=Draft, correct mutual NDA template copied to Google Drive test folder, named NDA_Mutual_TestCorp_[date]
Notion record ID returned; Google Drive file URL present in Notion record; template contains merged party name and governing law.
T02
Happy path: one-way NDA submission
Form submission with relationship_type=one-way-outbound, party_name=Vendor X, requester_email=test@[YourCompany.com]
Correct one-way template selected; Notion record created; Drive file named NDA_OneWay_VendorX_[date]
Template variant confirmed as one-way in file metadata; Notion status=Draft; no mutual template used.
T03
Happy path: employee NDA submission
Form submission with relationship_type=employee, party_name=Jane Doe, effective_date=2024-07-01
Employee NDA template selected; Notion record created with nda_type=employee; effective date merged correctly into document
Document text contains 'Jane Doe' and '1 July 2024'; Notion record shows nda_type=employee.
T04
Missing relationship_type field
Form submission with party_name=Test Corp but relationship_type field empty
Workflow halts at classification step; error logged; no Drive file created; Notion record status=Error with note 'Missing NDA type'
No Google Drive file written; Notion record status=Error; error log entry present with timestamp and field reference.
T05
Missing party_name field
Form submission with relationship_type=mutual but party_name field empty
Workflow halts; error logged; no Drive file created; notification sent to workflow admin email
No Drive file written; admin alert received at designated inbox; Notion status=Error.
T06
Duplicate submission: same party and NDA type within 24 hours
Two identical form submissions for party_name=Test Corp, relationship_type=mutual submitted within 10 minutes
Second submission flagged as potential duplicate; Notion record created with status=Pending Review; no second Drive file created
Only one Drive file exists for the pair; second Notion record shows status=Pending Review with duplicate flag.

Approval and Routing Agent (covers process steps 4, 5, 6)

ID
Scenario
Input
Expected Output
Pass Criteria
T07
Happy path: Slack approval message delivered
Populated Drive file URL passed from Intake Agent; designated approver Slack user ID configured
Slack message posted to approver with document link and Approve/Reject buttons; Notion status updated to Pending Approval
Slack message visible in test workspace; both interactive buttons rendered; Notion record status=Pending Approval.
T08
Happy path: approver clicks Approve
Approver clicks Approve button in Slack within 5 minutes of message delivery
Notion status updated to Approved; approved Drive file URL passed to downstream agent; Slack message updated to show 'Approved by [name]'
Notion status=Approved within 60 seconds of button click; downstream trigger confirmed; Slack message reflects approval.
T09
Approver clicks Reject
Approver clicks Reject button in Slack
Notion status set to Rejected; Slack message updated to 'Rejected by [name]'; requester notified via Gmail that document is under revision; no DocuSign envelope created
No DocuSign call made; Gmail notification delivered to requester alias; Notion status=Rejected.
T10
24-hour reminder fires when no response
Approval message sent; no button clicked for 24 hours (simulated in sandbox by setting reminder offset to 2 minutes)
Reminder Slack message posted to approver with same document link and buttons; Notion status remains Pending Approval
Second Slack message delivered after configured offset; Notion status unchanged from Pending Approval.
T11
Approver Slack user not found
Approver Slack user ID is invalid or user has left the workspace
Workflow pauses; error logged; fallback notification sent to workflow admin; Notion status=Error
No message delivered to invalid user; admin fallback notification received; Notion status=Error with descriptive log entry.

Signature and Completion Agent (covers process steps 7, 8, 9, 10)

ID
Scenario
Input
Expected Output
Pass Criteria
T12
Happy path: DocuSign envelope created and sent
Approved Drive file URL; internal signatory email=internal@[YourCompany.com]; counterparty email=counter@testcorp.sandbox
DocuSign envelope created using correct template; internal signatory receives signing request first; envelope status=Sent in DocuSign developer account
DocuSign envelope ID returned; internal signatory email received in sandbox; sequential signing order confirmed (internal before external).
T13
Happy path: all parties sign, NDA filed
DocuSign webhook event: envelope_status=completed, all signatories signed
Completed PDF downloaded from DocuSign; saved to correct Google Drive test folder as NDA_Mutual_TestCorp_Executed_[date].pdf; Notion status=Executed; HubSpot sandbox contact updated with Drive link and execution date; Gmail confirmation sent to requester alias
Drive file present with correct naming convention; Notion status=Executed; HubSpot contact shows NDA Executed activity with Drive link; Gmail confirmation received.
T14
DocuSign envelope expires unsigned
DocuSign webhook event: envelope_status=voided or expired after configured expiry window
Notion status updated to Envelope Expired; alert sent to process owner alias via Gmail; no executed PDF filed; HubSpot not updated
No PDF in Drive; Notion status=Envelope Expired; Gmail alert received; HubSpot record unchanged.
Test and QA PlanPage 2 of 4
FS-DOC-06Quality

03Phase 2 — integration and edge case tests

Phase 2 tests verify that agents hand off correctly to each other across the full pipeline, and that the workflow handles abnormal inputs and tool-unavailability scenarios gracefully. All tests remain in the sandbox environment with sandbox credentials.

ID
Scenario
Input
Expected Output
Pass Criteria
T15
Handoff 1: Intake Agent to Approval Agent
Valid mutual NDA form submission processed by Intake Agent; Notion record and Drive file confirmed created (T01 state)
Drive file URL automatically triggers Approval Agent; Slack message posted within 30 seconds of Drive file creation; Notion status advances from Draft to Pending Approval without manual intervention
Slack message delivered; Notion status=Pending Approval; no manual step required between agents; trigger latency under 60 seconds.
T16
Handoff 2: Approval Agent to Signature Agent on approval
Approver clicks Approve in Slack (T08 state)
Signature and Completion Agent triggered automatically; DocuSign envelope created within 60 seconds; Notion status advances from Approved to Awaiting Signature
DocuSign envelope ID logged in Notion record; Notion status=Awaiting Signature; no manual trigger required.
T17
Handoff 3: DocuSign completion webhook to filing and CRM update
DocuSign sandbox webhook fires envelope_completed event
Signature Agent downloads PDF, files to Drive, updates HubSpot, sends Gmail confirmation; all four actions complete within 2 minutes of webhook receipt
All four downstream actions confirmed: Drive file present, HubSpot activity logged, Gmail sent, Notion status=Executed.
T18
Reject-and-resubmit loop: approval rejected then re-routed
Approver rejects in Slack; Legal Ops revises Drive file; revised file URL fed back into Approval Agent
New Slack approval message sent with revised document link; Notion record updated with revision timestamp; previous rejection noted in record history
Second Slack message references revised file URL not original; Notion record shows two approval events; no duplicate DocuSign envelope created.
T19
Full pipeline run: mutual NDA from form to executed filing
End-to-end sandbox run: form submission through classification, approval (approved first attempt), DocuSign sign-off by both parties, filing, HubSpot update, Gmail confirmation
All eight automated flow steps complete in correct sequence; Notion status progresses through Draft, Pending Approval, Approved, Awaiting Signature, Executed; Drive file, HubSpot, and Gmail all updated
All status transitions confirmed in Notion audit log; Drive file named correctly; HubSpot contact shows execution date; Gmail delivered to requester alias; zero manual interventions required.
T20
24-hour reminder followed by late approval
Approval message sent; reminder fires after configured offset; approver clicks Approve after reminder
Single DocuSign envelope created (not two); Notion status advances normally; no duplicate Slack messages posted after approval
Exactly one DocuSign envelope ID in Notion; no additional Slack messages after approval click; pipeline continues normally.
T21
Counterparty declines DocuSign envelope
DocuSign sandbox webhook fires recipient_declined event from counterparty
Notion status set to Signature Declined; alert sent to process owner alias; no executed PDF filed; workflow pauses pending human review
Notion status=Signature Declined; owner alert received; no PDF in Drive; HubSpot not updated; workflow does not auto-retry.

Edge case tests

ID
Edge Case
Input / Condition
Expected Fallback Behaviour
Pass Criteria
E01
Duplicate NDA submission: same party, same type, within 24 hours
Two form submissions for party_name=Vendor X, relationship_type=one-way within 30 minutes
Second submission creates a Notion record flagged status=Pending Review (Duplicate); no second Drive file or DocuSign envelope created; admin alerted
Only one Drive file exists; admin alert received; second Notion record shows duplicate flag; first pipeline unaffected.
E02
Missing required form field: governing_law absent
Form submission with relationship_type=mutual, party_name=Test Corp but governing_law field blank
Intake Agent halts; Notion record created with status=Incomplete; requester notified via Gmail listing the missing field; no Drive file created
No Drive file written; Gmail to requester received specifying governing_law as missing; Notion status=Incomplete.
E03
Notion API unavailable at record creation
Notion API returns 503 at the point of record write
Workflow retries up to three times with exponential backoff (30s, 60s, 120s); if all retries fail, error logged to automation platform log and admin alert sent via Gmail; Drive file not created
Three retry attempts logged with timestamps; admin Gmail alert received after final failure; no partial Notion record; Drive file absent.
E04
Google Drive API unavailable at template population
Drive API returns 503 when attempting to copy and populate template
Workflow retries three times; on final failure, Notion record status set to Error (Drive Unavailable); admin alert sent; Slack approval message not sent
Notion status=Error (Drive Unavailable); no Slack message delivered; admin alert received; error entry in platform log.
E05
Human approval timeout: no response after reminder
Approval message sent; 24-hour reminder fires; no button click received within a further 24 hours (simulated by second offset in sandbox)
Workflow escalates: second reminder sent to approver; Notion status set to Escalated; process owner alias notified via Gmail that approval is overdue
Second Slack reminder posted; Notion status=Escalated; Gmail escalation alert received by owner alias; workflow does not auto-approve or auto-reject.
E06
DocuSign API unavailable at envelope creation
DocuSign API returns 500 at envelope creation request
Workflow retries up to three times; on final failure, Notion status set to Error (DocuSign Unavailable); admin and process owner alerted; no envelope sent to signatories
No DocuSign envelope created; Notion status=Error (DocuSign Unavailable); admin and owner alerts received; error logged with envelope payload for manual retry.
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 (for example nda-test@[YourCompany.com]) as the requester and a designated internal alias as the counterparty signatory. Do not use a real prospect, partner, or vendor email. Every DocuSign envelope created during Phase 3 must be voided in the DocuSign admin console immediately after the test run. Every Notion record, Google Drive file, and HubSpot activity created during Phase 3 must be deleted or clearly tagged as TEST before the workflow goes live. FullSpec will confirm deletion of all test artefacts in the handover checklist.
ID
Scenario
Production Steps Traced
Expected Outcome
Pass Criteria
T22
Full production run: standard mutual NDA from intake to executed filing
1. Intake form submitted with live credentials. 2. Notion record created in live workspace. 3. Drive file created in live NDA folder with correct naming. 4. Slack message delivered to live approver account with functioning buttons. 5. Approver clicks Approve. 6. DocuSign envelope sent to internal signatory then counterparty alias. 7. Both parties sign in DocuSign. 8. Executed PDF filed in live Drive folder. 9. Live HubSpot contact updated. 10. Gmail confirmation sent to requester alias.
All ten production steps complete without manual intervention; Notion status progresses Draft to Executed; Drive file present with standardised name; HubSpot contact shows NDA Executed activity with Drive link; Gmail confirmation received at requester alias.
All ten actions confirmed via production system checks; Notion audit log shows all status transitions with timestamps; Drive file accessible at expected path; HubSpot activity log entry present; Gmail received. Zero manual steps taken by FullSpec or process owner during the run.
T23
Production approval rejection and re-route
1. Intake form submitted. 2. Notion record and Drive file created. 3. Slack approval sent to live approver. 4. Approver clicks Reject. 5. Requester Gmail notification delivered. 6. Drive file manually revised by FullSpec tester. 7. Revised URL fed back into Approval Agent. 8. Second Slack approval message delivered. 9. Approver approves on second attempt. 10. Pipeline continues to DocuSign dispatch.
Notion record reflects both Rejected and Approved events; only one DocuSign envelope created (on second approval); requester notified on rejection; no duplicate Slack messages after second approval.
Two Notion status events logged (Rejected then Approved); single DocuSign envelope ID in Notion; rejection Gmail received; second Slack message references revised file URL. Envelope voided in DocuSign admin after test.
T24
Error log verification
FullSpec tester reviews the automation platform execution log and Notion error records from T22 and T23 runs.
All execution steps present in platform log with timestamps, input payloads, and output payloads. No unexpected error states. Retry logic entries absent (confirming clean runs). DocuSign webhook receipts logged.
Platform log shows complete execution trace for both T22 and T23. No unhandled exceptions. DocuSign webhook event records present. Notion error records table is empty for the Phase 3 test runs.
T25
Process owner review and approval (final sign-off case)
Process owner (Rachel Osei, Legal Ops Manager) reviews: the executed test NDA in Google Drive, the Notion tracker record for the Phase 3 run, the HubSpot activity entry, the Gmail confirmation received at the requester alias, and the automation platform execution log summary provided by FullSpec.
Process owner confirms that all outputs match expected business outcomes: correct template used, correct naming convention applied, correct approver notified, executed copy accessible, CRM updated, requester informed. Process owner records approval in the FullSpec confirmation form.
FullSpec confirmation form submitted by process owner with status=Approved. All five review items confirmed satisfactory. Test artefacts (Notion record, Drive file, HubSpot activity, DocuSign envelope) voided or tagged as TEST by FullSpec within 24 hours of sign-off. Workflow cleared for go-live.
Once T25 is marked Approved in the FullSpec confirmation, the NDA Workflow automation is cleared for go-live. FullSpec will archive all Phase 1 through Phase 3 test logs and make them available at support@gofullspec.com for your records. Any defects discovered post-launch should be reported to support@gofullspec.com with the Notion record ID and the automation platform execution ID for the affected run.
Test and QA PlanPage 4 of 4

More documents for this process

Every document generated for NDA 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