Как минимум, это убирает необходимость каждый раз вручную всё запускать + если общее время выполнения меньше суток, то даже результаты полного запуска можно получать чаще, чем раз в день, соответственно, вы раньше увидите, что недавние изменения могли негативно сказаться на всём наборе тестов. Пример: у меня есть набор тестов, который выполняется часа 4-5. Соответственно, за сутки я получу 5-6 результатов их выполнения. Если тесты работают стабильно, все recovery сценарии отрабатывают, то результаты будут примерно одинаковыми + будут четко выявлены систематические ошибки, так как из опыта могу сказать, что для этого нужно где-то 3-4 четких воспроизведения, что я получаю втечение дня.Вашими устами да мед пить:)Имеется ввиду, что можно весь этот конвеер настроить так, чтобы он выполнялся постоянно, 24 часа в сутки 7 дней в неделю. В результате, вы будете получать актуальные результаты регулярно и это дает возможность заранее среагировать на появление систематических ошибок. Оперативная реакция на результаты и методичное исправление практически всех, пусть даже мелких ошибок, связанных с реализацией тестов, через время (вопрос пары месяцев) приведет к тому, что % ложных ошибок сведется к показателям 2-3% от всего объема тестов. По-крайней мере у меня так произошло, когда я подправлял тесты, даже, если там приложение просто протормаживало. В результате, После прогона порядка 300 тестов (это только на моем направлении столько) общей длительностью 48 часов, мне надо было по сути просмотреть 4-5 тестов, которые упали по неизвестным мне причинам.
Я не вижу потребности гонять тесты круглыми сутками. Я не понимаю как это улучшит нашу ситуацию. Они и так гоняются регулярно, ежедневно.
А кто сказал, что это всё делается на одной и той же версии? То приложение, с которым я работаю, обновляется каждый день новыми билдами и релиз раз в месяц. Обычно, проблемы проявляются только сразу после релиза, так как могли возникнуть новые проблемы, с которыми до этого иметь дело не приходилось.Да и нет у нас этих пару месяцев, поскольку каждый релиз создает новые вызовы.
Посмотрите, как работают такие инструменты, как Hudson, Bamboo. Они обычно привязываются к версионке и каждая сборка автоматически начинается с того, что в рабочий каталог сливаются последние версии файлов. В случае SVN это последняя ревизия. Обычно, где-то в корне проекта сидит какой-то скрипт, который производит сборку всего, что нужно. Это может быть и батник, и ANT-скрипт. Всё, что угодно и что удобнее использовать в той или иной задаче.Но мысль Ваша понятна, мы стараемся. Возможно не хватает профессионализма, возможно что-то не совсем хорошо с архитектурой как самих тестов, так и самого приложения.
Учитывая, что Ваши тесты гоняются круглосуточно, вопрос как Вы получаете логи для анализа и изменения. Как Вам удается делать сборку тестовых проектов автоматом. Мы используем SVN, и почти при каждом обновлении возникают проблемы мерджа, которые требуют ручного вмешательства.
Логи - это просто файлы, содержащие информацию о результатах. По завершении прогона, как правило, идет нотификация, к которой прикрепляется лог или какая-то его часть. Если логи большие, что их можно копировать в некоторую рабочую папку (автоматически копировать, разумеется) и в нотификационном сообщении просто указывать ссылку на конкретные результаты.