Behavior Driven Development with JUnit 5. Part 2

From requirements analysis to acceptance criteria

  • Provide an interactive application to choose flights.
  • Provide an interactive application to change flights.
  • Provide an interactive application to calculate the shortest route between source and destination.

BDD benefits and challenges

  • Addresses user needs — Users care less about the implementation and are mainly interested in application functionality. Working BDD style, we get closer to addressing these needs.
  • Provides clarity — Scenarios clarify what software should do. They are described in simple language that is easy for technical and non-technical people to understand. Ambiguities can be clarified by analyzing the scenario or by adding another scenario.
  • Supports change — Scenarios represent part of the software documentation: it’s living documentation, as it evolves simultaneously with the application. It also helps locate incoming changes. Automated acceptance tests hinder the introduction of regressions when new changes are introduced.
  • Supports automation — Scenarios can be transformed into automated tests, as the steps of the scenario are already defined.
  • Focuses on adding business value — BDD prevents the introduction of features that are not useful to the project. We can also prioritize functionalities.
  • Reduces costs — Prioritizing the importance of functionalities and avoiding unnecessary ones will prevent wasting resources and concentrate these resources to do exactly what is needed

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Auto Insurance App Development: The Ultimate Guide

Inside the JVM — Part 03 (ClassLoader Cont…)

[Tutorial] How to use SSH tunnel to expose a local server to the internet

Never Miss A Birthday Again

Is BDD testing? Part 3 - Outside-in development and how testing fits

Some thoughts on a Philosophy of Software Design

Summary of Mod 2 Week 1

Ready Magento Certifycation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Luxoft Training

Luxoft Training

More from Medium

Replace Text in Word Documents in Java

Failover and Circuit Breaker with Resilience4j

How to better use multiple Spring boot profiles in testing

Sharing maven dependency between multiple Microservices — Version control way to go!