heuristics testing
failure-directed testing