Gherkin – lekarstwo na problemy automatyzacji czy kosztowne placebo?

Prelegent: Paweł Maciejewski
Gherkin zdobywa coraz większą popularność, coraz więcej frameworków zawiera implementację gherkina. Wielu testerów uważa, że ‚używa BDD’ w swoich projektach, promując takie podejście. Dla wielu gherkin i BDD stały się wręcz synonimem i dla wielu oznaczają po prostu automatyzację testów interfejsów. W swojej prezentacji chciałbym dokonać jednoznacznego określenia i rozróznienia BDD oraz gherkina. Następnie chciałbym przedstawić, dlaczego w wielu projektach użycie gherkina jest reduntantne, kosztowne i nie wnosi żadnej wartości – bazując na przykładowych fragmentach kodu przekażę, jak wprowadzić do projektu zalety gherkina bez jego faktycznego użycia.

Na podstawie swojego doświadczenia chciałbym się zmierzyć z tym mitem i odnieść się do najpopularniejszych argumentów dotyczących użycia tej składni w testach automatycznych. Korzystając z przykładów ze swojej kariery, przedstawię i porównam, jak wyglądało tworzenie oraz cykl życia scenariuszy w przypadku użycia gherkina i bez tej warstwy, zaprezentuję również, jak podejście do gherkina zmienia się również w zależności od branży oraz aplikacji, do której tworzymy testy oraz przytoczę przykłady i wnioski z badań naukowych dotyczących użycia języków dziedzinowych (DSL) oraz ich wpływu na cykl życia oprogramowania.

Następnie przedstawię, jak za pomocą stosunkowo prostych technik programistycznych czy przy użyciu dodatkowych bibliotek, stworzyć kod testów, który będzie czytelny i łatwo zarządzalny. W ten sposób chciałbym również udowodnić, że gherkin nie jest niezbędny, aby tworzyć łatwe w projektowaniu, implementacji i zarządzaniu testy automatyczne. Przedstawię również pokrótce gotowe biblioteki, które posiadają ciekawą składnię, która może posłużyć jako inspiracja.

Nawiązując do tytułu prezentacji i zadanego w niej pytania – bardzo często gherkin jest wyciągany z całego procesu jakim jest BDD i staje się wtedy niepotrzebnym i kosztownym elementem naszych testów. Mimo że ma swoje zalety i znajduje w niektórych konfiguracjach zastosowanie, bardzo często jest nadużywany. Chciałbym zebrać i opisać sytuacje (aplikacje, zespoły, procesy), w których nie warto używać gherkina oraz jak go zastąpić, osiągając podobne rezultaty.

Tagged under:

Program konferencji

TwitterFacebookLinkedInGoogle+