liveBook · Manning

Test

As explained in BDD in Action, Second Edition

An automated test is a software-based check that runs without manual execution to determine whether behavior meets specified expectations.

Testing is an automated software-based check that runs without manual execution to determine whether behavior meets specified expectations. Effective tests protect existing features while teams change and extend the system. section 1.2.1 section 14.2

A practical testing workflow connects shared acceptance criteria to automation. Tests should express meaningful behavior rather than imitate a sequence of low-level interactions; otherwise they can become slow, flaky, difficult to understand, and expensive to maintain. section 3.5 section 14.2

Useful testing practices include:

  • Automate acceptance criteria in a structured form such as Given, When, Then so product owners and testers can understand the checks. section 3.5
  • Treat test code as production code: design it for reliability, meaningfulness, and maintainability rather than as disposable scripts. section 8.2
  • Prioritize automation around critical user journeys, business priorities, risks, and the interfaces through which the system is used. section 14.1
  • Build a test automation system around scenarios, frameworks, libraries, and integration code instead of placing low-level interactions directly in step definitions. section 14.2

Acceptance testing for frequent-flyer points

A team can turn a requirement about accumulating and managing frequent-flyer points into structured acceptance scenarios, then automate those scenarios using a suitable BDD tool and implementation language. The resulting suite checks that the system continues to meet its acceptance criteria as new functionality is added. section 3.5 section 8.2 section 14.2

Figure 14.1 The overall approach to creating Journey Maps for existing systems requires us to shift focus from discovering what features need to be built to discovering how the existing features are used.

Use Journey Mapping to shift from guessing which features to test toward identifying how existing features are used and which workflows are critical to user goals. section 14.1

How BDD in Action, Second Edition covers it

How deep it goes
Explains automation design, prioritization, and maintainability, while stopping short of detailed implementation code.
Examples
Uses Given-When-Then acceptance criteria, frequent-flyer points, critical user journeys, and BDD automation tools.
What it assumes
Assumes shared acceptance criteria and system context, while teaching how to make requirements executable and prioritize existing workflows.
What you can do after
Build reliable acceptance-test suites that verify behavior, document scenarios, and detect regressions during change.
How it connects
Connects automated testing with acceptance criteria, behavior-driven development, test-driven development, continuous integration, and Journey Mapping.

Also explained in

Compare how 53 books explain test →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of BDD in Action, Second Edition. The section links point to the parts of the book it draws on.