Yadda 3.0.0: BDD in the Age of AI Agents

(stephen-cresswell.com)

38 points | by scresswell 4 hours ago

6 comments

  • jesol 1 hour ago
    I also think BDD is a really powerful tool for UI acceptance tests! I've now worked on adding it to two AI codebases (one engineered, another vibecoded), and so far it has been mostly positive. Having non-engineers be able to see what effects their code changes have in the UI is nice; and I find having high level API and UI tests is forcing the first layer of cleanup (standardize access to DB through models/services, and a single API SDK).

    I am also really interested in standardizing the REST interface with typespec, and the database schema with DBML. I think creating these closed-loops with high-level specs is one of the best ways to make an AI project ownable by a team.

    • stevefan1999 24 minutes ago
      Yep, I've been experimenting Playwright with CucumberJS and Deno for the last 3 months and it's super effective
  • lifeisstillgood 2 hours ago
    The example of “transcibe the initial project discussion, turn that into BDD and that makes the rails to guide the AI is … either brilliant and insightful or a snake eating it’s own tail.

    I think it has to be worth a try though…

    • jaggederest 7 minutes ago
      I've been doing that for almost a year and I feel like I'm taking crazy pills when I talk about it, because it works so well.

      I transcribe most product meetings, turn them into a transcript, run that through an accuracy pass with a bunch of context (mostly vocabulary definitions etc), and use that as a starting doc for generating issues and tests. There are apps that do it fully end to end now I think.

  • blfr 1 hour ago
    Very impressive that it was done with Opus 4.8.

    My experiences with Opus have been such that I always max out my Fable allotment but rarely exceed 40% of the remaining limit on Claude.

  • scresswell 4 hours ago
    Yadda 3.0.0 is out. The release modernises the JavaScript BDD library, but more interestingly, it was largely built by Claude Code and points to why executable specifications may become even more valuable in an agentic development world.
    • ur-whale 2 hours ago
      One suggestion: my bet is that close to no one knows what the acronym BDD stands for. The first comment on this post is in fact exactly about that.

      I'd consider explaining what BBD is at the start of the front page of your project.

      • davepeck 1 hour ago
        It may be an age thing. 15-ish years ago, TDD, BDD, Red/Green Testing, and a whole bunch of others were hot topics. They’re still useful approaches to know about, even if some (like, IMO, BDD) didn’t really stand the test of time.
      • cbsmith 2 hours ago
        "my bet is that close to no one knows what the acronym BDD stands for".

        That's disconcerting. Software engineers ought to know.

      • ashleyn 1 hour ago
        As a woman my first thought was Body Dysmorphic Disorder.
      • citizenkeen 2 hours ago
        I’ll take that bet, since we ask about it in our interview questions.
        • jaggederest 6 minutes ago
          What's the hit rate? Give us some data, if you can :)
  • krautsauer 3 hours ago
    "Behaviour Driven Development"

    I was expecting something on Binary Decision Diagrams. SAOD is worst with TLAs.

    • bossyTeacher 2 hours ago
      This is probably HN's tech background speaking. In the enterprise dev world, everyone knows what BDD means just like every dev out there knows what OOP means.
    • WalterGR 3 hours ago
      What is SAOD? Do you mean SOAD?
      • contradictioned 3 hours ago
        Severe Acronym Overload Disorder.

        Funny enough, Google's overview box also suggests soad: "SAOD (or SOAD) most commonly refers to the rock band System of a Down"

        • WalterGR 2 hours ago
          Thanks. (That’s what it suggested for me as well. Clarifying that I meant in the context of software, it suggested a misspelling of SOAD - Service-Oriented Analysis and Design.)
  • Amekedl 2 hours ago
    Being hard here, though: Purely dismissing it as not being worth of my time due to the example alone.