Перейти к содержимому

Фотография

Тестирование многих бранчей


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 24 ноября 2011 - 13:54

Доброго времени суток!

Не подскажите информацию по организации автотестирования для процесса, когда существует транк, от которого идут достаточно много бранчей?

Сейчас занимаюсь автотестированием транка, но хотелось бы проверять параллельно и работоспособность остальных веток, но идей по реализации что-то никаких не возникает(
  • 0

#2 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 24 ноября 2011 - 14:55

А что конкретно вас интересует?
Именно автотесты или тестирование в условиях нескольких веток кода?
  • 0

#3 Misha_NSK

Misha_NSK

    Новый участник

  • Members
  • Pip
  • 58 сообщений


Отправлено 25 ноября 2011 - 02:58

А в чем суть проблемы? Отвязать какие-то настройки тестов и тестовые данные или в чем?
  • 0

#4 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 25 ноября 2011 - 06:23

Интересует именно автотестирование.

У меня на данный момент все сценарии к автотестам находятся в главной ветке.
Помимо нее есть бранчи, которые тоже хотелось бы протестировать.

Отвязать тесты было бы идеально, но они написаны непосредственно в коде проекта, без использования посторонних средств.

Постоянно мержить кусок, отвечающий за тестирование из транка в различные бранчи мне кажется не очень полезным методом.
А другого что-то в голову не идет.
  • 0

#5 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 28 ноября 2011 - 07:58

В смысле мержить? Зачем?
А отбранчевать его сразу с кодом и вести в этом бранче считаете неудобным?
  • 0

#6 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 28 ноября 2011 - 11:39

Вы имеете ввиду вести автотесты в отдельной ветке? А что это даст?

Сейчас бранчей уже много и в некоторых из них нет кода автотестов, в некоторых он безнадежно устарел.
Плюс код постоянно меняется, как в автотестах, так и в разных бранчах.

Единственная работоспособная версия автотестов сейчас - это транк.
И вот как их перенести на все ветки?
  • 0

#7 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 28 ноября 2011 - 15:31

А функционал каждого нового бранча у вас требует переделок в тестах? Или как?
  • 0

#8 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 28 ноября 2011 - 22:00

А на чем написаны тесты?
И какого рода эти тесты? (юнит, модульные, функциональные, тесты на апи?)

Если изменения в коде отдельных бранчей приводят к необходимости изменения тестов, то придется обновлять тесты в каждом бранче. В этом случае можно попробовать отвязать некую общую часть типа генераторов данных, логирования, общих проверок в отдельный проект, чтоб этот код не таскать по бранчам и чтобы иметь возможность измененные общие вещи использовать сразу во всех бранчах. А сами тесты и вещи, зависящие от кода, который будет меняться оставить в бранчах и менять их при изменении кода таким образом, чтобы тесты оставались работоспособными. В этом случае хорошо помогает Continious Integration
  • 0

#9 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 30 ноября 2011 - 09:28

Тесты под каждый бранч переделывать не нужно, они едины для всех веток, так как регрессионные.
Написаны на с++
Тесты функциональные и направленные на апи.

Хотелось бы писать тесты в одном месте, чтобы изменения легко переносились на другие ветки.
То есть написал кейс, залил в транк и проверил для всех веток. Это вообще возможно?)

Или придется все равно менять каждый раз для каждого бранча код тестов? Это, конечно, я не потяну..
и еще, можно по-подробнее, какие мобразом может помочь CI? Ежедневные сборки (для транка) уже имеются
  • 0

#10 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 30 ноября 2011 - 09:47

Я не очень понимаю.
Вы пишите:

Тесты под каждый бранч переделывать не нужно, они едины для всех веток, так как регрессионные.

Прекрасно, храните их в транке и все.

Далее:

Или придется все равно менять каждый раз для каждого бранча код тестов? Это, конечно, я не потяну..


Что вы хотите менять, если выше указали, что тесты под отдельные бранчи переделывать не нужно?


Хотелось бы писать тесты в одном месте, чтобы изменения легко переносились на другие ветки.
То есть написал кейс, залил в транк и проверил для всех веток. Это вообще возможно?)

У вас возникает сложность как тестом из транка проверить код из бранча? Или что?
  • 0

#11 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 30 ноября 2011 - 12:27

Неправильно выразилась.

Код в транке хотелось бы таким как он есть применять на разные бранчи.

У вас возникает сложность как тестом из транка проверить код из бранча? Или что?


Да, именно так.
  • 0

#12 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 30 ноября 2011 - 12:42

Ага, уже легче.

А как у вас происходит выкачка проекта из хранилища? Укажите, что тесты всегда должны выкачиваться из транка, независимо от того из какого бранча берется код.
  • 0

#13 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 01 декабря 2011 - 11:43

А это возможно? Выкачать кусок кода из транка и применить его на все ветки?

Подумала, наверное правильнее будет тестировать один транк. Рано или поздно все бранчи все равно с ним мержатся - именно после этого, думаю, и имеет место быть регрессионное тестирование.
А поддерживать отдельные бранчи, наверное, дело разработчиков.

Просто в сети маловато ресурсов про все это дело, поэтому приходится задавать такого рода вопросы, параллельно размышлять тут)
  • 0

#14 Kohan

Kohan

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 26 августа 2023 - 08:54

Добрый день!
У меня тогда возник вопрос, у вас не происходит постоянной синхронизации транка с бранчами? 
Ну то есть я имею ввиду, что в транк постоянно мержаться бранчи, но без синхронизации всегда есть риск, что бранч сломает транк и чтоб этого не происходило они должны быть максимально идентичными. Поэтому после очередного мержа или коммита, должна происходить синхронизация с другими пока живущими так скажем отдельно бранчами. Таким образом у вас будут не только срезаться автотесты, но и обновляться в бранчах, а так же во время мержа будет меньше вероятности поломки транка.


  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных