# Software Testing

Write and run tests to ensure code correctness across unit, integration, and system levels.

## Tools

- `terminal` — Execute test suites and inspect test output.
- `code_exec` — Run code snippets in a sandbox for quick validation.
- `read_file` — Inspect source and test files to understand behavior under test.

## Instructions

- Aim for layered coverage: unit tests for logic, integration tests for interactions, and e2e for flows.
- Always test edge cases — empty inputs, boundary values, concurrent access, and error paths.
- Keep tests isolated; each test should set up and tear down its own state independently.
- Treat test code with the same quality standards as production code.
