Поставьте себя на место заказчика и смените область, к примеру, на создание автомобиля. Вы заказываете у мастера автомобиль ручной сборки. Он его собирает, проверяет заводится он или нет, и отдаём Вам в пользование. Вы садитесь в автомобиль, выезжаете на любимый автобан и даёте жару в 100 км/час. На 101 км/час у Вас отваливаются передние колёса. Приятная ситуация? А ведь мастер "просто собрал машину".
Если смотреть на бизнес по-взрослому, то всё просто:
- Есть Заказчик. У него стоит задача создать Продукт, с помощью которого он бы зарабатывал деньги (ну или другая цель, не суть).
- Есть Исполнитель (разработчик или команда разработчиков). Исполнитель обязуется за обусловленный Гонорар создать и поддерживать Продукт, который бы отвечал критериям качества Заказчика.
- Если Исполнитель делает Продукт не соответствующий критериям качества Заказчика, значит он не выполняет условия Договора.
- Если Заказчик не выплачивает Гонорар в должном объеме и вовремя, или требует чего-то не обусловленного в рамках Договора, значит он не выполняет условия Договора, а то и нарушает.
- И Исполнитель и Заказчик должны понимать, что они создают Продукт, и должным образом очертить в рамках Договора критерии к созданию/поддержке этого Продукта. Дабы однозначность этого вопроса была явная и юридическая.
Всё остальное - лирика.
Если Ваша команда (как Исполнитель) не обладает штатом тестировщиков, то соответствующие обязанности по обеспечению качества Продукта Вы должны осознанно брать на себя. Нет никаких "разработчик просто пишет код". Есть "разработчик создаёт Продукт". Команда разработки обязуется согласно Договору создать Продукт ожидаемого качества и всё. Как это качество обеспечивается - вопрос уже второстепенный и зависит от состава команды, существующих технических средств, да и самого Продукта как такового (много каверзных кейсов не поддаются вменяемой автоматизации). Соответственно, бюджет на обеспечение качество Продукта должен закладывать в любом случае, независимо от того есть ли тестировщик или нет.