Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Relationship Between BDD and API Design

DZone's Guide to

The Relationship Between BDD and API Design

With the increasing popularity of API driven applications along with BDD, how does the dance between these two complex concepts work?

· DevOps Zone
Free Resource

Download “The DevOps Journey - From Waterfall to Continuous Delivery” to learn learn about the importance of integrating automated testing into the DevOps workflow, brought to you in partnership with Sauce Labs.

Complexity across application creation teams has significantly increased in recent years, especially as organizations continue to leave legacy processes behind in favor of more responsive, faster practices. While everything in waterfall development was segmented into steps and kept separate from other parts in the workflow, 

What Are They?

In order to get a bigger picture of how these items are connected, we must first define each trend and what it entails. Under behavior-driven development, teams describe how a program should appear and design the app off of that feedback. TechTarget contributor Margaret Rouse noted that coding would focus on delivering the expected behaviors, and stakeholder demands would be made into acceptance criteria.

On the other side of this relationship, we have APIs, which are programming instructions used for accessing software on the Web. According to Scala and Java developer Chris Beach, without an API, the app may not be able to interact with the Web page if the website changes its look. The API is critical to ensuring that the program can read and interpret the content, and deliver a structured response regardless of adjustments that are made.

"Without an API, my app relies on the website never changing its look," Beach wrote. "If it does, my app may stop working because it can't parse (understand) the Web page anymore. Computers are only as smart as the software you write."

How They Fit Together

Now that we have a better idea of what BDD and APIs are on their own, we can start to gather a picture of how they interact and impact each other. Code Magazine contributor Scott Bellware noted that under BDD, the API's value can be proven by experiencing it first. As a subsection of test-driven development, BDD focuses on delivering the best user engagement and ensuring that their specifications will be met even as the website changes, making the API a critical aspect to include in BDD planning.

"If you design the API with TDD, you do so from the perspective of code that acts as a client to the API," Bellware wrote. "This way, the designer (developer) puts himself in a position to be a user of an API, and then designs the user experience of the API so that it reflect his needs and his ideas of a good and sensible experience."

Take Advantage of Both

The relationship between BDD and API design is one that all teams should be capitalizing on and it can be simplified with an enterprise test management software. These solutions not only keep your test cases in line, but they also put your BDD requirements as top priorities in the project. This focus will help developers build a capable API, track their progress and send out a product that meets user needs in the long run.

Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure, brought to you in partnership with Sauce Labs

Topics:
api ,bdd ,design

Published at DZone with permission of Kyle Nordeen. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}