Задать вопрос
Mx21
@Mx21
Software engineer

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

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

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

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

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

Тесты имеет смысл делать:
1. Когда проект собирается жить долго и счастливо, и придет не одна порция изменений.
2. Над проектом работает не 1-2 человека, надо следить, чтоб кто-то другой не сломал то, что ты написал.
3. Во время разработки иногда удобнее написать тест на какой-то участок кода и запускать код для дебага через тест, чем каждый раз запускать тяжеловесный проект.
Ответ написан
Комментировать
Maksclub
@Maksclub
maksfedorov.ru
Добавлю к eRKa

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

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

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