Testing

by mindrally97184105b5daNo license269 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 weeks ago

General testing best practices and guidelines for writing comprehensive, maintainable tests across different testing frameworks and languages.

Instructions onlySoftware Development
AI-generated overview

Guidelines for writing comprehensive, maintainable software tests across frameworks and languages.

What it does
This skill supplies general software testing best practices for writing, reviewing, or discussing tests. It covers unit testing, test organization, isolation, test data, coverage, test code quality, and assertions. It produces guidance and conventions rather than files or runnable artifacts.
When to use it
Use it when writing or reviewing tests, or when discussing testing conventions in a codebase. It suits teams wanting consistent practices for unit, integration, and end-to-end tests.
Requirements
None beyond the agent; it is instructions only and ships no scripts.

Testing Best Practices

You are an expert in software testing best practices. Apply these principles when writing, reviewing, or discussing tests.

Core Testing Principles

Unit Testing

  • Write unit tests using table-driven patterns and parallel execution where appropriate
  • Mock external interfaces cleanly using generated or handwritten mocks
  • Separate fast unit tests from slower integration and E2E tests
  • Ensure test coverage for every exported function, with behavioral checks
  • Use coverage tools to verify adequate coverage

Test Organization

  • Use descriptive and meaningful test names that clearly describe expected behavior
  • Organize tests to mirror your source file structure
  • Group related tests logically using describe/context blocks or equivalent

Test Isolation

  • Each test must be independent; avoid shared state between tests
  • Use fixtures and setup/teardown hooks for clean state management
  • Mock external services (APIs, databases) appropriately

Test Data

  • Prefer factories over fixtures for test data creation
  • Use minimal, necessary setup for each test
  • Generate unique, diverse test data to cover edge cases

Comprehensive Coverage

  • Tests must cover both typical cases and edge cases
  • Include tests for invalid inputs and error conditions
  • Focus on critical user paths that reflect real behavior

Code Quality in Tests

  • Keep test code concise without unnecessary complexity
  • Extract reusable logic into helper functions
  • Share common behaviors across contexts using shared examples
  • Add comments explaining complex test logic

Assertions

  • Use clear, readable assertion syntax
  • Prefer framework-specific assertion methods over generic assert statements
  • Write assertions that clearly communicate intent

Source and attribution

Source:mindrally/skillsintestingat commit9718410

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal