Тестирование программного обеспечения в наши дни стало неотъемлемой частью процесса разработки программного обеспечения во всем мире. Уже не найти ни одного серьезного проекта без покрытия, хотя-бы Unit-тестами. Существуют различные техники и подходы к тестированию. Кто-то покрывает тестами уже написанный код, кто-то использует тестирование как инструмент для добавления новой функциональности (разработка через тестирование). В обоих случаях время, затраченное на тестирование кода, включается в общие затраты по разработке. И чем больше и сложнее проект, тем большее время тратится для выполнения всех тестов. Как оптимизировать затраты на тестирование? Существует несколько путей оптимизации процесса тестирования продукта. От рефакторинга тестов и тестовых данных, до увеличения мощностей оборудования. Рефакторинг и оптимизированный запуск разных групп тестовых заданий действительно может сократить время общего прогона тестов, но в конечном итоге встает вопрос вертикального масштабирования, если ресурсов не хватае