Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

А как сейчас с работой?

16.07.21 21:59
Re: А как сейчас с работой?
 
alex445 местный житель
в ответ Программист 16.07.21 14:09, Последний раз изменено 16.07.21 22:08 (alex445)
Единожды написанный тест не должен меняться без веской причины. Причин таких может быть всего 2: 1) изменились требования и 2) изменились интерфейсы. Никаких других причин для изменения тестов нет.

Только при устойчивых спецификациях. Я работал над прогой, в которой алгоритмы постоянно менялись, постоянно придумывали что-то новое и удаляли старое, корректировали. Тут едва код успеваешь писать, а ещё и тесты, которые постоянно тоже меняться должны... Вобщем, я там написал несколько тестов лишь для формул и на этом оставил это дело. Потому что работа представляла собой по сути непрерывное прототипирование. Сесть и написать всё по уму просто не было времени и возможности. В таких случаях, я думаю, юнит-тесты не подходят.


Вообще, как я понимаю, использовать юнит-тесты в качестве спецификации не совсем правильно. Хотя бы потому, что юнит-тесты не настолько вербально выразительны, как спецификация, которая пишется на обычном человеческом языке. Поэтому, чтобы понять, что делает тестируемая функция, например, лучше написать об этом в комментарии к этой функции, а не пытаться "зашифровать" это в написанных для неё юнит-тестах.


А ещё, насколько я знаю, во многих, если не в большинстве компаний юнит-тестами пренебрегают или используют их лишь по-минимому. В основном их используют для продуктов с долгой поддержкой и длительной историей версионностей. Для разового софта юниттесты просто удорожают его разработку и почти никак не помогают.

 

Перейти на