Идея нескольких циклов тестирования заключается в том, чтобы как можно раньше выявлять проблемы, когда все меняется.
Модульные тесты должны проводиться разработчиками, чтобы гарантировать работу блоков в изоляции .
Приемочные испытания должны проводиться клиентом для обеспечения соответствия системы требованиям.
Однако что-то изменилось между этими двумя точками, которые также должны быть проверены. Это интеграция единиц в продукт перед передачей клиенту.
Это то, что должно сначала быть проверено создателем продукта, а не клиентом. В ту минуту, когда вы задействуете клиента, все замедляется, и чем больше вы сможете исправить, прежде чем они получат свои грязные маленькие руки, тем лучше.
В большом магазине (например, у нас) есть модульные тесты, интеграционные тесты, глобализационные тесты, тесты мастер-сборки и т. Д. В каждой точке, где меняется поставляемый продукт. Только после исправления всех ошибок высокой степени серьезности (и разработки плана исправления ошибок с низким приоритетом) мы выпускаем продукт нашим бета-клиентам.
Мы не хотим дать им хитрый продукт просто потому, что исправление ошибки на этом этапе намного дороже (особенно с точки зрения администрирования), чем все, что мы делаем собственными силами.