Mx21
@Mx21
Software engineer

Как у вас в компании организовано тестирование?

Здравствуйте!

Возник небольшой спор с коллегой, по поводу тестирования web-проектов. Стало интересно, как в других компаниях организовано тестирование и какие могут быть аргументы за тесты, для "бизнесменов", которые считают что тесты это невыгодно?

P. S. Сами используем codeception.
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 3
@kttotto
все, что .NET
Часто к тестам относятся как к религии, потому что все вокруг говорят, что они нужны и это полезно. И часто их делают "шоб было". Тесты дают прирост только в долгой перспективе, на больших долгоживущих проектах.

Против:
1. Тесты это такая же кодовая часть проекта, на нее тратятся ресурсы (человеко-часы), а их нужно поддерживать так же как и остальную часть кода. Часто думают, что тест один раз написал и о нем можно забыть, но намного чаще приходят изменения, которые могут менять логику ожидания какого то поведения, может происходить рефакторинг, который так же может ломать тесты или делать какие то тесты ненужными или требовать новые и т.д. Если будете бояться сломать тесты, то и код перестанет быть гибким к изменениям.
2. Часто по неопытности стараются покрыть чуть ли не все 100% кода, получается избыточность, тесты на очевидные вещи. А это все время, а значит деньги.
3. Есть проекты, у которых срок жизни небольшой, пишется под конкретную одноразовую порцию задач. На них, я считаю, вообще нет смысла писать тесты.

Тесты имеет смысл делать:
1. Когда проект собирается жить долго и счастливо, и придет не одна порция изменений.
2. Над проектом работает не 1-2 человека, надо следить, чтоб кто-то другой не сломал то, что ты написал.
3. Во время разработки иногда удобнее написать тест на какой-то участок кода и запускать код для дебага через тест, чем каждый раз запускать тяжеловесный проект.
Ответ написан
rishatsharafiev
@rishatsharafiev
React/Redux, Django
Как вариант, можно озвучить такую причину и привести картинку: "тестирование нужно для того, чтобы бы не было регрессии" 5a7d73b49d37a075277123.gif
Варианты тестирования:
Пишете юнит-тесты для отдельных модулей
Пишите smoke test для всех роутов проверяющих статус 200
Пишите более продуманные selenium тесты

И разработка через TDD сначала тесты, потом код выполняющий их. Также можно делать проверку покрытия кода тестами, чтобы знать какие участки кода еще не протестированы хоть один раз.
Ответ написан
Maksclub
@Maksclub
maksfedorov.ru
Добавлю к eRKa

Иногда вам необходимо сделать сложный функционал, с которым вам нужно как-то работать, но вы не знаете, как оно будет работать :)
То есть -- пишите тест с использованием функционала, и под это уже выстраиваете свой код...
#TDD
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы