У меня есть несколько вопросов о MC/DC и piarwise тестировании
Недавно я начал работать над тестированием программного обеспечения, и у меня возникли вопросы.
Парное тестирование - это комбинация всех значений, которые может иметь этот параметр, и применимо ли оно также к логическому выражению?
Например,
логическое выражение (A || B) && C (предполагается, что каждый параметр имеет только 0 и 1.)
Здесь, это применимо к Булеву Exp?
Второй вопрос о MC/DC.
Я научился делать тестовые кейсы через MC / DC
Но мне было интересно, как MC / DC может покрыть почти 90% покрытия кода?
В (A || B) && C, я думаю, есть 4 комбинированных теста.
Но вся комбинация - 8. Как MC / DC может уменьшить количество случаев?
1 ответ
- Это применимо в булевых выражениях?
Да. Это применимо к логическим выражениям.
Получив все возможные комбинации вашего логического выражения, мы можем иметь таблицу истинности выше.
- Как MC/DC может покрыть почти 90% покрытия кода?
MC/DC не может обеспечить покрытие кода более 90%. Однако он может обеспечить покрытие решений, ветвлений и условий, которые являются неотъемлемыми частями кода.
Но как это могло доказать?
Ответ будет лежать в свойствах критерия MC/DC:
- Каждое условие в логическом выражении должно принимать все возможные результаты.
- Каждое решение принимает все возможные результаты.
- Показано, что каждое условие независимо влияет на результат решения.
Таким образом, логический результат каждого условия был рассмотрен (ИСТИНА / ЛОЖЬ), а комбинация логического результата (решения) этого условия приведет к каждому возможному значению (ИСТИНА / ЛОЖЬ).
- Как MC/DC может уменьшить количество случаев?
Когда вы определите пары MC/DC, вы получите следующую таблицу:
Некоторые из этих пар похожи. Зачем? Потому что когда вы вычисляете логическое выражение, вы можете закорачивать некоторые условия. Это означает, что ваше выражение может иметь решение, даже если хотя бы одно из условий не оценивается.
Это будет окончательный результат. Обратите внимание, что некоторые строки имеют (-) пустые значения. Это означает, что это не было оценено, но решение может быть выведено.
Хотя это и актуально, но не имеет отношения, я написал здесь статью: Как MC/DC может ускорить создание тестового модуля
Надеюсь, что это помогает, несмотря на опоздание.:D