DZone
DevOps Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > DevOps Zone > The Relationship Between BDD and API Design

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?

Kyle Nordeen user avatar by
Kyle Nordeen
·
Apr. 24, 16 · DevOps Zone · Opinion
Like (3)
Save
Tweet
6.60K Views

Join the DZone community and get the full member experience.

Join For Free

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.

API Design

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

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • What Is Cloud-Native Architecture?
  • How Database B-Tree Indexing Works
  • Modernizing Testing With Data Pipelines
  • Implementing RBAC Configuration for Kubernetes Applications

Comments

DevOps Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo