Что такое Keyword-Driven Testing (KDT)?

«Что такое Keyword-Driven Testing (KDT)?» — вопрос из категории Автоматизация тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Keyword-Driven Testing (KDT) — это подход к автоматизации тестирования, основанный на абстракции. Логика теста описывается с помощью ключевых слов (keywords), которые представляют собой высокоуровневые действия, скрывающие детали реализации.

Как это работает?

  1. Ключевые слова (например, Open Browser, Enter Text, Click Button) определяются как переиспользуемые функции.
  2. Тестовые сценарии пишутся в виде таблиц (например, в Excel/CSV) или скриптов, последовательно перечисляющих эти ключевые слова и их аргументы.
  3. Драйвер тестов (Test Driver) или фреймворк читает сценарий, интерпретирует ключевые слова и вызывает соответствующие функции-реализации.
Пример структуры теста в табличном виде: Keyword Argument 1 Argument 2
Open Browser Chrome
Navigate To https://example.com/login
Enter Text id=username testuser
Enter Text id=password secret123
Click Button id=submit
Verify Text Welcome, testuser

Преимущества KDT:

  • Отделение логики от реализации: Тест-дизайнеры/аналитики могут писать сценарии, не зная кода.
  • Высокая переиспользуемость: Ключевые слова используются в множестве тестов.
  • Упрощённая поддержка: Изменения в приложении часто требуют правки только реализации ключевых слов, а не всех тестовых сценариев.

Недостатки KDT:

  • Сложность начальной настройки: Требуется разработать фреймворк и библиотеку ключевых слов.
  • Накладные расходы: Дополнительный слой абстракции может замедлить выполнение.
  • Ограниченная гибкость: Для сложных, нестандартных проверок может потребоваться расширение фреймворка.

Инструменты: Robot Framework, Cucumber (в некоторой степени).