Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC IEEE 29119-5 defines the framework for keyword-driven testing (KDT), an approach that separates test automation design from implementation details by using action words — keywords — to describe test procedures. This standard enables non-programming domain experts to create and maintain automated test scripts, dramatically reducing the automation bottleneck that plagues many software projects. Keywords represent actions such as “login,” “enterField,” “verifyResult,” or domain-specific operations like “placeTrade” or “activateAlarm.”
The standard defines a three-layer architecture: the test layer (test cases composed of keyword sequences), the keyword layer (library of reusable keyword definitions), and the implementation layer (code that executes keywords against the system under test). This separation of concerns allows organizations to build a reusable keyword library that accumulates over time, growing more valuable with each project. Keywords can range from low-level actions (mouse clicks, keyboard input) to high-level business processes (complete order-to-cash workflows).
ISO/IEC IEEE 29119-5 specifies the structure of keyword definitions, which include a unique name, parameters, preconditions, postconditions, and the implementation binding. The standard also defines the keyword test specification document, which records the sequence of keywords for each test case, along with associated data sets. Supporting components include the test data specification (data tables referenced by keyword parameters), the test environment specification (system configuration), and the test automation architecture documentation.
| Component | Description | Example |
|---|---|---|
| Keyword Library | Reusable collection of keyword definitions | login, searchProduct, addToCart, checkout |
| Test Case | Sequence of keywords with parameter values | login(“tester1″,”pass”), searchProduct(“widget”), verifyCartCount(1) |
| Data Table | External data sets driving keyword parameters | Excel/CSV/JSON files with test data rows |
| Implementation Layer | Code that maps keywords to automation actions | Selenium WebDriver, Appium, or custom API calls |
| Test Report | Keyword execution results with timestamps and status | Pass/Fail for each keyword step with screenshots |
Implementing 29119-5 requires upfront investment in framework design, but the long-term returns are substantial. Engineering teams should start by defining the keyword taxonomy: a hierarchical classification of keywords organized by functional domain (user management, order processing, reporting) and abstraction level (atomic, compound, business-process). The most critical design decision is keyword granularity — too fine-grained and test cases become verbose; too coarse-grained and keyword reuse diminishes.
Integration with CI/CD pipelines is essential for modern DevOps workflows. Keyword-driven tests should be triggered by code commits, with results published to the team dashboard. The keyword library itself should be version-controlled alongside application code, with peer reviews required for keyword modifications. Advanced implementations incorporate data-driven capabilities where keyword tests are executed against multiple data sets from external sources, enabling extensive combinatorial testing without multiplying test case definitions.