zBit
@zBit
Full stack web developer

Кто должен писать юнит-тесты?

Возник спор с коллегой. Есть 2 варианта: "их должен писать тестировщик" и "их должен писать тот кто пишет код, который нужно тестировать".
Разрешите спор, пожалуйста :)
  • Вопрос задан
  • 9578 просмотров
Пригласить эксперта
Ответы на вопрос 3
dizballanze
@dizballanze
Software developer at Yandex
Именно ЮНИТ тесты должен писать разработчик, тестировщик просто не сможет грамотно написать тесты для какого-то класса, написать моки и тд.
Функциональные тесты может и тестировщик писать и разработчик.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Есть много разных автоматизированных тестов.

Юнит-тесты пишет разработчик (в идеале — тот же самый, который пишет код, покрытый этими тестами, и ДО написания кода). Юнит-тесты помогают удостовериться, что каждый отдельный кусок (поэтому — unit) в программе по отдельности работает корректно. Имея на руках рабочие юнит-тесты, можно спокойно делать рефакторинг.

Интеграционные тесты помогают удостовериться, что и в совокупности все эти куски выдают осмысленные результаты. Из этих тестов становится понятно, что на сайт можно залогиниться, а софтина пишет в файл в корректном формате. Их тоже часто пишут программисты.

Приемочные тесты помогают удостовериться, что программа соответстует требованиям, заложенным в ТЗ/диздок.
Регрессионные тесты — что после последнего обновления ничего не сломалось. Эти два последних делают тестеры, с помощью различных тулзов — для веба, например, это Selenium.

Все эти тесты, в идеале, запускаются на каждый коммит на специальном Continuos Integration сервере, и если программист «опять накодил в углу», ему приходит письмо, что его код не прошел такой-то тест и это надо починить.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
,Юнит тесты это автоматизированные тесты , причем тут как бы тестировщик , программист написал код и тесты, система сама их гоняет при каждом коммите и сыпет разработчику письмо ты балбес твой юнит тест не проходит, и в этой цепочке нет тестировщика, есть вариант конечно с очень крупными проектами, но мне кажется это не ваш вариант.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы