Тестирование программного обеспечения зачастую воспринимается клиентами как нечто усложняющее общий процесс, и как то, что имеет мало общего с настоящими потребностями обычных людей и удлиняет процесс разработки.
Программисты же обычно не пишут тесты, потому что нужно постоянно реализовывать новые функциональные возможности программы, а написание тестов требует дополнительного времени.
Из-за таких точек зрения возникает довольно типичная ситуация. Разработчики под давлением менеджмента, ругая управленцев, пишут код по 12 часов в сутки, и все же не успевают реализовать все потребности клиента, поскольку слишком часто все ломается. А заказчик давит на менеджмент со сроками конечного продукта и хочет, чтобы уже хоть что-нибудь было в нормальном работающем состоянии.
Конечно данная картина может быть представлена в различных оттенках негатива, но общая суть остается одинаковой - в любом подобном проекте накапливается отрицательные эмоции, у обеих сторон процесса неизбежно возникает конфликт. Некоторые опытные люди даже рассматривают это как нормальное течение проекта, - его жизненный цикл.
Однако для этой ситуации давно придумано решение. Это решение — написание тестов.