Окончательное тестирование - это артефакт водопадных процессов разработки. Если у вас такой процесс, то, наверное, да, неплохая стратегия получилась. Только в таком процессе других проблем с качеством хватает. Вообще "тестирование только по окончании разработки" обозначает очень болшую длину обратной связи между тестировщиком и разработчиком. Обычно это выглядит так: разработка функциональности завершена, она уходит тестировщику, разработчик переключается (и погружается) в другую здачу, и тут внезапно! пачка ошибок на ту область, которую он только что выбросил из головы.
Кроме того, 60-70% покрытия исходного кода юнит-тестами - это относительно много, и если юнит-тестирования не было до этого вообще или оно было слабеньким, то достигать этого показатели придется очень долго. Кстати, тестировщики вполне могут помогать при разработке юнит-тестов.
Пункты, в которых печечилсяются виды тестирования, я бы как-то увязал с рисками конкретного приложения. Есть такие проекты, где по объективным причинам тестирование производительности не нужно вовсе, где-то можно вообще обойтись только автотестами (серверные-сервисные приложения), и так далее и тому подобное. По большому счету, весь этот список можно записать одной инструкцией: "Тестировщик вместе с разработчиком разрабатывают стратегию тестирования конкретного проекта и перепроверяют её с заинтересованными лицами".
Верно, у нас водопадный процесс - самый оптимальный. по моему мнению, для разработки мелких и средних проектов, в которых задействованы 1-2 программиста.
Что касается начала тестирования по окончании разработки? Т.е. лучше её делать параллельно разработки? Т.е. написали модуль "договора по клиентам ААА" и его тут же отдаём тестеру на функциональное тестирование?
Как тогда оптимально выстроить процесс тестирования, при этом выдерживать установленные сроки и качество.
Что касается юнит-тестирования - ну для начала сделаем покрытие им в 40%. Пущай тренеруются :)