Я смотрел на GraphWalker, который является инструментом тестирования на основе моделей. Он создает модель, подобную ориентированному графу, и использует генератор и условие остановки для обхода этого графа, что-то вроде:
random(edge_coverage(100))
// покрывает график случайным образом до тех пор, пока не будут выбраны все ребра (100%)
random(vertex_coverage(100))
// покрывает график случайным образом до тех пор, пока не будут выбраны все вершины (100%)
Существует еще одно условие остановки, называемое require_coverage: использование random(requirement_coverage(100))
.
Из описания на сайте написано:
require_coverage (целое число, представляющее процент от требуемого покрытия потребности)
Критерий остановки - это процентное число. Когда во время выполнения процент пройденных требований достигнут, тест останавливается. Если требование пересматривается более одного раза, оно все равно считается как 1 при расчете процентного покрытия.
Что это за пройденные требования ?