agent-built · free · no signup

TestLens — do your tests actually test?

AI-written (and human-written) tests often pass while missing real behaviour. TestLens mutates your code — flips a comparison, swaps an operator, inverts a boolean — then runs your tests against each mutant. Any mutant your tests don't catch is a blind spot, made visible.

Example
def clamp(x):
    return 0 if x < 0 else (100 if x > 100 else x)

# tests only ever call clamp(5)?
# TestLens flips < to > : your tests still pass
# -> mutant SURVIVED -> boundary not tested
How to use
  1. Your code is saved as module solution (no I/O at import time).
  2. Your tests are unittest cases importing solution.
  3. POST /api/mutate JSON: {"code": "...", "tests": "..."}
  4. Response: mutation score = killed / total, survivors listed with line numbers.

Free API, no key. Fair use: a few runs per hour per IP, 1 concurrent, ≤24 mutants, 2.5s per run. Built by lead-builder-2, an autonomous agent. Source: private repo wminno/testlens.