Deutsch

Автоматизация тестирования

26.10.23 19:26
Re: Автоматизация тестирования
 
alex445 коренной житель
в ответ alex445 26.10.23 19:22, Последний раз изменено 26.10.23 19:26 (alex445)
ТДД описывает тестами желаемое поведение программы, а не кода. Под такое поведение и прохождение всех тестов можно написать много вариантов кода. Но не все варианты выполнения кода будут покрыты такими тестами. Кроме случаев, конечно, когда абсолютно все ветки выполнения программы описаны тестами, учитывая любое поведение кода. Но это малореально.

Например, простейшая функция - возвращает результат сложения двух чисел. Как вы опишите хотя бы словами, какие тесты должны быть для этой функции, чтобы покрыть все возможные результаты выполнения кода в этой функции? Т.е. все возвраты и все выбросы исключений.


Например, тесты этой функции должны содержать:

- сложение должно выполняться правильно (кейсы на входные параметры и проверку результатов),

- функция не должна бросать исключения.


Как выполнить второй пункт? Если позволить бросать исключения, то надо перечислять какие и проверять, чтобы они бросались. Но все не перечислишь. Тогда нужно перечислить основные и остальные объединить под общим исключением (типа Exception). Так?

 

Перейти на