EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++

Что означает DSL с точки зрения тестировщика-автоматизатора?

Сейчас почти в каждой вакансии тестировщика-автоматизатора указывается "Обязательно уметь и знать DSL". Если я правильно понимаю, то это ничто иное как проверка продуктов в терминах сценарив написаных спомощью Gherkin. Это так?

Если, да, то может быть кто-то подскажет какой-либо хороший пример Open-Source проекта, где уже это применяется?

UPD:
В виду того, что дискуссии не получилось. Всего-лишь один ответ. То попытаюсь оживить. Ведь вопрос-то важен!

DSL - Domain Specific Language.
Что это?
* Язык программирования;
* Предметно-ориентированный;
* Синтаксис языка проектируется не абы как, а с целью удобства чтения и сопровождения специалстов предметной области;

Для чего?
* Позволяет читать код специалистам предметной области у которых нет навыков программирования;
* Упрощает сопровождение;

Литература:
* Domain Specific Languages, теория и практика (семинар 2011-06-23, для студентов), lib.custis.ru/2011-06-23-dsl;
* Мартин Фаулер. Предметно-ориентированные языки программирования;
* Эванс. Предметно-ориентированное проектирование;

И таки, да, мое предположение с Gherkin не далеко от истины. Он позволяет создать некий словарь в виде конструкций для given, when, then и эти сценарии способны будут прочитать даже не технари. Пример:

given MyProgram.exe started
when I press menu 'help'
and press submenu 'about'
then I see dialog box with 'My program 2015 (c) Vasya Pupkin'


Подобные вещи от читающего требуют уже только двух навыков:
1. Чтение по-английски;
2. Знания какие именно given, when, then конструкции запрагроммировали программисты;
  • Вопрос задан
  • 493 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ashipovalov
Не совсем верно. DSL это domain-specific language. То есть уже спроектированный фреймворк в котором определены специфичные для данной программы (сервиса) определения и шаги. Вполне логично, что например система таргетированной рекламы используют один DSL, а туристическое агенство другой. Gherkin же - лишь один из представителей семейства инструментов - BDD (behaviour driven development). То есть Gherkin является инструментом, позволяющим выделить и писать DSL, оперируя языком близкому к простому английскому, но как правило при написании автотестов, при любом подходе формируется и выделяется DSL. В общем же случае понятия DSL и Gherkin связаны не больше чем DSL и TestNG
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы