Skip to content

docs(test-policy): create formal test policy document #145

@WilliamBerryiii

Description

@WilliamBerryiii

Summary

The OSSF Best Practices Badge requires a formal, published test policy that states requirements for adding tests when new functionality is added. The repository has comprehensive testing infrastructure but no formal policy document.

Background

OSSF Passing Badge Criteria:

Current State:

  • docs/contributing/testing-validation.md (306 lines) is a how-to guide for running tests
  • No formal policy statements about when tests are required
  • No per-technology test requirements (Terraform, Rust, .NET, JavaScript)
  • CONTRIBUTING.md does not link to a test policy
  • PR template checkbox is not linked to policy

Acceptance Criteria

  • A "Test Policy" section exists in docs/contributing/testing-validation.md (or a dedicated policy document)
  • Policy states: new major functionality requires corresponding tests
  • Policy states: bug fixes require regression tests
  • Per-technology requirements documented (Terraform: plan-level .tftest.hcl, Rust: #[cfg(test)] modules, .NET: xUnit projects, JavaScript: vitest)
  • CONTRIBUTING.md links to the test policy

Implementation Guidance

Add a "Test Policy" section at the top of docs/contributing/testing-validation.md with:

  1. Policy statement: "All new major functionality requires corresponding automated tests. Bug fixes require regression tests that verify the fix."
  2. Technology requirements table:
    Technology Framework Minimum Requirement
    Terraform native terraform test One .tftest.hcl per component with command = plan
    Rust cargo test #[cfg(test)] module covering core logic
    .NET xUnit/NUnit Test project covering business logic
    JavaScript vitest Test file with 80% coverage threshold
  3. Cross-references: Update CONTRIBUTING.md to link to this section (PR template updates handled by IS007)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationsecuritySecurity-related changes or concerns

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions