Когда в жизненном цикле ПО должно начинаться тестирование?
В методологии TDD (разработка через тестирование) СНАЧАЛА пишут тесты, а только потом начинают писать код, решающий задачу - проверяя работу кода этими тестами.
В целом же, существуют разные методологии разработки с разным отношением к тестам и тестированию. Например, в доказательном программировании тесты, как таковые, не имеют смысла, т.к. правильность работы кода доказывается как математическая теорема.
P.S. Проблема тестирования в том, что никакие тесты не являются доказательством отсутствия ошибок в коде. Они лишь проверяют работу кода в нескольких случаях, предусмотренных автором тестов.
В нормальном случае перед релизом. В эджайле - никогда не кончается
Всегда. Создание и есть тестирование
Я бы сказал так:
1. Разработка MVP - можно без тестов, достаточно QA (ручное тестирование)
2. Выпуск MVP и дальше - по тихоньку покрываем тестами
3. Приложение уже 1-2 года в релизе, желательно обеспечивать хорошее покрытие, можно переходить на TDD (зависит от множества других факторов)
Зависит от используемой методы.
Если есть автотесты, то они должны пройти все перед любым майлстоуном.
Если тестируется все вручную, то как только программеры выкладывают тестовый билд, а специально обученный человек делает из него тестовый релиз, так вся веселуха и начинается.