TGViewer
Геннадий Чурсов | QA++ Геннадий Чурсов | QA++ @chursovqa · 4.14K subscribers
Post #123 1.24K
🔧 Дополнение к предыдущему посту про feature-flag

Понятие "feature flag" (или "feature toggle") используется в разработке программного обеспечения и может применяться в различных контекстах, включая тестовые фреймворки. Feature flag — это техника, которая позволяет включать или отключать функции приложения без необходимости изменения кода и перезапуска приложения, то есть в runtime.

📈 В контексте тестирования и тестовых фреймворков feature flags могут быть полезны для:

1️⃣ Инкрементального развертывания
Постепенное введение новых тестов или изменений в тестовых фреймворках, чтобы проверить их влияние и убедиться в их стабильности перед полным развертыванием.

2️⃣ А/Б тестирования
Включение или отключение определенных функций тестового фреймворка для разных групп тестов или тестируемых компонентов для оценки их влияния на качество и стабильность.

3️⃣ Обратной совместимости
Позволяет разработчикам и тестировщикам легко откатить изменения, если они вызывают проблемы, что особенно важно при внесении значительных изменений в тестовый фреймворк.

💡 Пример использования FeatureFlag в виде системной переменной на Java проекте с использованием библиотеки Owner (также можно использовать property файлы):

import org.aeonbits.owner.Config;
import org.aeonbits.owner.ConfigFactory;

public class FeatureToggleExample {

public interface FeatureConfig extends Config {
@Key("feature.test.data.generation.enabled")
@DefaultValue("false")
boolean isTestDataGenerationEnabled();
}

public static void main(String[] args) {
FeatureConfig config = ConfigFactory.create(FeatureConfig.class);

if (config.isTestDataGenerationEnabled()) {
System.out.println("Test data generation is enabled.");
// Код для генерации тестовых данных
} else {
System.out.println("Test data generation is disabled.");
// Обычный код без генерации тестовых данных
}
}
}

🔹 Шаг 1: Добавьте библиотеку Owner в ваш проект.

<dependency>
<groupId>org.aeonbits.owner</groupId>
<artifactId>owner</artifactId>
<version>1.0.12</version>
</dependency>

🔹 Шаг 2: Настройте системную переменную.
Запустите автотесты с системной переменной
-Dfeature.test.data.generation.enabled=true

Чтобы включить фичу, или без нее, чтобы оставить фичу выключенной.

📝 Итог:
Feature flags позволяют гибко управлять функциями вашего приложения или тестового фреймворка, снижая риски и упрощая процесс развертывания новых функций.
  • 👍 4
  • 🔥 2
More from @chursovqa
  1. Sep 29, 2026Heisenbug 2026 Autumn: тестирование, практика и живое общение 16–17 октября в Санкт-Петерб…
  2. Sep 23, 2026Собеседование для QA на английском Проведу бесплатную тренировку интервью для тестировщико…
  3. Sep 17, 2026Баг нашли за пару минут. А потом ещё минут десять вспоминаем шаги, открываем Network, соби…
  4. Sep 8, 2026У тестировщиков редко бывает одинаковая работа. 😺 Один меняет IT на стройку и заново соби…
  5. Sep 7, 2026Наконец-то на работе поставили задачу с которой я легко справлюсь! 😁
  6. Sep 1, 2026Как прокачать LinkedIn так, чтобы не только самому искать работу, но и получать хорошие вх…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →