Негативные тесты это проверка на то, что приложение справляется с непредусмотренными ситуациями ожидаемым образом.
Позитивный тест
Дано: первое слагаемое равно 1
и дано: второе слагаемое равно 3
если мы производим операцию сложения данных чисел
тогдарезультат будет равен 4
Вот несколько примеров негативных тестов
Дано: первое слагаемое равно 1.0
и дано: второе слагаемое равно 3
если: мы производим операцию сложения данных чисел
тогда: будет выведена ошибка несоответствия числовых типов
Дано: мета-файл базы данных отстутствует в папке конфигурации
если: мы запускаем базу данных
тогда: в логе будет записана ошибка о недостающем файле.
и тогда: в консоли будет выведена ошибка о недостающем файле.
если: мы нажмем любую клавишу в консоли
тогда: приложение будет завершено.
В общей форме это выглядит так:
Дано: какая-то фигня
если: я делаю какую-то дичь
и если: я делаю какую-то ерунду
тогда: приложение делает так
и тогда: приложение делает эдак.
Автоматизировать сложнее может быть да, как в примере с записью в журнал ошибок, но не невозможно.