Честно, не владею этим в совершенстве, но поняла простую штуку как по аналогии применять к чему угодно.
Представим 10 раз повторений списка от 1 до 10:
- 12345678910
- 12345678910 и вот так 10 строчек.
Допустим под номером 1 у меня скрывается нечто, что вызывает ошибку, но я не уверена в этом. Как это проверить? Мне надо локализовать проверку моего нечто именно под номером 1 и чтобы не затрагивались варианты сочетаний, пар и прочего.
Должно получится что-то такое:
- 1234567810
- ~1~234567810
А потом делаем так:
- 1~2~345678910
Потребуется первое значение вернуть к тому, что было в первой строчке и чтобы не получалось такого:
- ~12~345678910
Иначе невозможно будет ответить точно ли ошибка под номером 1, или ошибка от сочетания 1 и 2, или скрывается где-то ещё. Понимание этого метода проверки поможет написать достаточно атомарные, полные, исчерпывающие функциональные требования, чтобы они были понятные и проверяемые. Естественно, это не все методы и парадигмы проверки, но рассуждая хотя бы в таком ключе это поможет повысить качество документации.