Автотесты для разных edition одного продукта - как разбить и организовать?

Подскажите пожалуйста, как лучше организовать автотесты для разных edition продукта — например, есть visual studio community edition, есть professional.

Сейчас думаю над вариантами:

  1. все делать в одном проекте, но размечать тесты с помощью xunit тегов / категорий.

  2. Делать три проекта в одном solution, 1 общие тесты, 2 - тесты только для простой версии, 3 проект - тесты для премиум версии.

Ваши варианты?

Примечание: наш продукт software+hardware, тестовые стенды изолированы. То есть, есть скажем 10 hardware только с простой версией софта (и там ну никак не может стоять премиум версия), и есть 5 hardware девайсов, куда ставится премиум версия софта (и туда ну никак не может быть поставлена простоя версия по предусловию).

А software, который тестируете, у вас два разных проекта или один с разными конфигурациями сборки?

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

Я бы использовал ваш первый вариант. Позволяет запускать в CI сервере только нужные тесты для определенной версии. И сделал бы билды для каждой версии свои. Чтобы запускать их независимо друг от друга.

1 лайк

билды имеется в виду CI pipelines?

Не могу точно сказать. У меня в ТимСити под билдом имеется в виду сущность, в которой ранятся тесты.

1 лайк