Применяется для абстрактной природы вопроса, но хотя я думаю о реализации в чем-то вроде java или C#, это понятие в целом меня слегка раздражает.Каскадная логическая логика
С большинством языков при использовании логической логики для целей тестирования будет принят только один ответ.
if (fridgeDoorClosed !=true)
closeFridge();
else
eatSandwich();
Но как насчет того, когда несколько путей могут быть правильными? Предположим, что форма на веб-странице, где пользователь использует флажки для выбора того, что он/она хочет видеть. Чудовищно безвкусный способ сделать это было бы:
if ((checkbox1==true)&&(checkbox2==true)&&(checkbox3==true))
blah
else if
((checkbox1==true)&&(checkbox2==true)&&(checkbox3==false))
blah
и так далее, будучи осторожным с тем, конечно.
В таких языках, как операторы switch java и C# case, можно использовать обычные инструкции break для принудительного каскада. Но можно ли использовать такой метод на практике?
Я думаю, что ваш перерыв с случаями, охватывающий все возможные комбинации, скорее всего, сработает. Вложенные операторы if могут быть сложными, чтобы получить 100% правильную. К сожалению, это все еще требует довольно много случаев (10 возможных случаев для 3 вариантов 17 для 4 и т. Д.), – Stumbler