[DevoxxPL2019] Revitalizing Behavior-Driven Development for Web Testing with Gauge and Taiko
Lecturer
Dmitry Vinnik functions as an Engineering Manager at Meta, specializing in AI/ML, where he leads teams on cutting-edge solutions. As a Lead Developer Advocate for Open Source and Business Messaging, he promotes tools enhancing productivity, with a passion for software quality and international speaking engagements.
Abstract
This review revitalizes Behavior-Driven Development for web testing, contrasting traditional frameworks with Gauge and Taiko. It explores BDD principles, Gauge’s markdown-based specifications versus Cucumber’s Gherkin, and Taiko’s scriptless automation. Through demonstrations on a todo app, it assesses methodologies for cross-team communication, test maintenance, and browser interactions, while contemplating impacts on adoption and organizational dynamics.
BDD Fundamentals: Communication Over Automation
Behavior-Driven Development bridges stakeholders by expressing behaviors in natural language, yet adoption falters from tool complexities. Dmitry contextualizes this: BDD aims for shared understanding, but frameworks like Cucumber introduce regex-heavy steps, alienating non-technical participants.
Gauge counters with markdown specs, free from rigid syntax, allowing plain English descriptions. Steps implement in languages like Java or JavaScript, fostering flexibility.
Analytically, this decouples narratives from executions, easing maintenance. Implications: enhances collaboration, though requires discipline to avoid verbosity.
Gauge Versus Cucumber: Simplifying Specifications
Cucumber’s Gherkin mandates “Given-When-Then,” parsed via regex, complicating updates. Gauge uses markdown, supporting tables and parameters natively.
For a login scenario:
“`