ТЗ и тестирование
Тема планирования и контроля разработки очень серьезная, поэтому начну с пары известных анекдотов: один про программиста, другой про тестировщика...
Программист ставит себе на ночь на тумбочку стакан с водой и пустой стакан. Первый если захочет пить, второй, если не захочет.
Заходит однажды тестировщик в бар. Забегает в бар. Пролезает в бар. Танцуя, проникает в бар. Крадется в бар. Врывается в бар. Прыгает в бар. Заходит, выходит и снова заходит в бар. И заказывает кружку пива, 2 кружки пива, 0 кружек пива, 999999999 кружек пива, ящерицу в стакане, –1 кружку пива, qwertyuip кружек пива.
Даже на основании этих анекдотов, сами собой напрашиваются выводы:
- Запрограммировать необходимо больше, чем описать в ТЗ.
- Протестировать необходимо больше, чем запрограммировать.
- Запрограммировать для автоматического тестирования необходимо больше, чем просто запрограммировать и протестировать.
Все эти лозунги менеджеров от разработки типа: "Необходимо подробное техническое задание и делать нужно только по нему, а потом готовую реализацию на 100% покрыть тестами", все это просто лукавство. Так не бывает. ТЗ и тестирование конечно же нужны, они сильно помогают, но к сожалению решают проблемы планирования и контроля разработки далеко не полностью.
Полное подробное техническое задание - это и есть реализация. Полное качественное тестирование - это и есть эксплуатация.