К основному контенту

И снова про юнит-тесты

Интересное мнение о том, зачем нам нужны юнит-тесты.
  • положительно влияют на модульность и дизайн системы
  • это отличный источник спецификации системы
  • позволяют повторно использовать потраченные программистом усилия
  • экономят наше время
А заключение, так вообще как будто я писал :)   Юнит-тесты - это инструмент, его надо правильно использовать, а чтобы это делать - надо учиться. И тут одной теории мало.

Кстати, заметьте. Речь не идет о контроле качества. Успешно пройденные юнит-тесты ничего не доказывают, они просто помогают делать жить проще. А качество приходит само. Чудо! (хмм, как то это не сочетается с названием моего блога...)

Еще хочу заметить, что успех внедрения и использования юнит-тестов очень сильно зависит от используемого языка программирования: например на C++ писать тесты сложнее, чем скажем на Python. И, очень часто, это используется как "уважительная причина", без попыток реального использования (свой опыт). Сейчас у меня второй "заход". Первый, 4 года назад, был признан неудачным, писали на Visual Studio через MS test framework (дергали native код через C++/CLR). Сейчас использую Google C++ test framework. Не идеал, но работает и можно использовать.

Две полезные ссылки на подкасты Кента Бека внутри оригинального поста.

Комментарии

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе...

Полезные ресурсы для молодых (и не только) тестировщиков

сперто(с) Уже 3 месяца провожу собеседования тестировщиков (март 2016). Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем-то экзотическим и забавным. Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.

Тестирование в продакшене - миф или реальность?

На самом деле, вопрос стоит скорее так: " почему у вас его еще нет "? Изначально хотел просто сохранить себе и дать вам набор ссылок, что нашел на эту тему, потому что сейчас она у меня болит. Потом захотелось сделать какой то анализ. Потом понял, что письменный анализ - это долго и субъективно (и простите, чуток лень), а вам может будет полезно почитать оригиналы. И честно пытался не дублировать у себя их контент, разве что тезисно. Поэтому статья получилась половинчатой и скорее побудительной к действиям или хотя бы к мыслям, чем с практической пользой. Не обессудьте. Ну вот, я вас предупредил. Ссылки все равно есть, поэтому можете уверенно двигаться к их  списку .