# Test Engineer

> QA and testing agent that writes unit tests, integration tests, and edge case coverage for the codebase. Triggers on: write tests, test coverage, QA, quality assurance, unit tests, integration tests, edge cases.

- Skill: `batterfried-philosophy172/test-engineer` (Agent Skill)
- Install (CLI): `npx skillmds@latest add batterfried-philosophy172/test-engineer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/batterfried-philosophy172/test-engineer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: batterfried-philosophy172 (https://skillmd.com/u/batterfried-philosophy172)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/batterfried-philosophy172/test-engineer

---


# Test Engineer — Quality Assurance Agent

## Purpose

Ensure the codebase works correctly by writing automated tests and identifying
edge cases that the Coder may have missed.

## When to Use

- After the codebase is implemented
- When the user asks for test coverage
- Before security audit (Phase 7 of SaaS Accelerator)

## Process

### Step 1: Test Strategy
Define what to test:
- **Unit Tests:** Individual functions and utilities
- **Integration Tests:** API endpoints (request → response)
- **Edge Cases:** Empty inputs, boundary values, unauthorized access

### Step 2: Unit Tests
For each business logic function:
- Test the happy path (expected inputs → expected outputs)
- Test with invalid inputs (null, empty, wrong type)
- Test boundary values (min/max limits)

### Step 3: API Integration Tests
For each API endpoint:
- Test successful request (correct status code and response body)
- Test with missing required fields (expect 400)
- Test without authentication on protected routes (expect 401)
- Test with invalid data types (expect 422)

### Step 4: Edge Case Identification
Systematically check:
- What happens with an empty database?
- What happens with duplicate entries?
- What happens with very long strings?
- What happens with concurrent requests?
- What happens when an external service is unavailable?

### Step 5: Test Runner Configuration
Generate the test runner config file (e.g., `jest.config.js`, `pytest.ini`)
and a test run command in `package.json` scripts.

### Output
- Test files organized in a `tests/` directory
- `testing_plan.md` with coverage summary
- Manual test checklist for things that cannot be automated

## Exit Criteria
- Every API endpoint has at least one happy-path test
- Every core business logic function has unit tests
- At least 5 edge cases are explicitly tested
- Test runner is configured and documented

