Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8919229
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T05:57:59+00:00 2026-06-15T05:57:59+00:00

I have no experience neither in TDD nor in BDD. Yes I’ve created unit

  • 0

I have no experience neither in TDD nor in BDD. Yes I’ve created unit tests for existing code a lot, but it’s not relevant here. Also I cann’t use TDD/BDD at my job but want to try in some hobby project.

I am not sure if I currently grasped the difference between TDD and BDD correctly. For now I just see BDD as evolved TDD with the most destinctive feature being the ability to work on higher level of abstraction (user stories) then TDD. In TDD you basically get same user stories but they are not as explicit as in BDD. Is it correct?

In terms of tools, assuming that statements above are correct, for TDD I should use something like TestNG or JUnit, and for BDD I’ll benefit from tools like JBehave.

Now the question is should I first start with TestNG and TDD and only after some succesfull experience with it migrate to JBehave and BDD? Or this is just waste of time and there are no reasons at all preventing me from trying to use Jbehave and BDD from the very beginning?

UPDATE:

After receiving two great answers on my question, and spending some time on additional reading on the topic, I couldn’t help myself not to add link to a great article I found. It just repeats same ideas as in two answers to this question below, but maybe with more details. My favorite part of the article:

The best way to do that is to leverage BDD and TDD. Here is an approach:

 1. Write requirements as user stories using the BDD grammar/structure.
    Do this collaboratively with the key stakeholders. 

 2. Enter the User
        Stories (feature + scenarios) in a BDD tool. 
 3. Write code to map the
            User Stories to tests.
 4. Write production code using TDD to make the
            tests pass.

As you can see, BDD is not just TDD done right. You could use just
the vocabulary of BDD to improve TDD but that would be like using
only some of the benefits that BDD has to offer us. When we use the
the strengths of both these techniques we will have “Software that
matters” along with “Software that works”.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T05:58:00+00:00Added an answer on June 15, 2026 at 5:58 am

    BDD concentrates on testing the functionality of the app, and ensuring that it meets the stated acceptance criteria of the application as described in the user story.

    TDD tends to concentrate on the lower-level code, testing on a per-class basis rather than on a per-functional-unit basis.

    If you have a good idea of what you want to achieve in the user story – enough to enumerate a list of things the feature should & shouldn’t do – you’re in a good position to start BDD. You can write a BDD feature file from that list, and doing this before writing a scrap of code will allow you think about the feature and crystallise your thinking on it. This will help you write more concise correct code.

    I would suggest looking at Cucumber-JVM as your tool for implementing the BDD tests, but I’m told JBehave is functionally similar.

    Finally, to me BDD and TDD are techniques that compliment each other, not compete – doing the BDD beforehand makes it easier to think about what is required, which makes it easier to think of what low-level functionality is required, which in turn makes it easier to write your unit tests up front. Once the code is written, you then have a suite of tests allowing you to prove the app meets the acceptance criteria.

    The way I do BDD is this:

    1) Examine the user story for User-Acceptance Criteria
    2) Write a feature file (English) containing test scenarios to test each of these conditions.
    3) Implement the feature
    4) Use Cucumber/JBehave to programmatically implement the tests from the feature file
    5) Ensure all the tests pass

    We then maintain a library of these tests, and run them as part of our Continuous Integration

    A feature file contains instructions in a specific wording, such as:

    Given a user goes to our app
    When the user clicks on the search link
    Then the search window opens
    And the user enters XXX in the search box
    And the user presses enter
    The search results are displayed

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have experience developing in android and using REST services, but now I'd like
Anyone have experience with this plugin? I have it installed but I have no
I don't have any experience building software for Windows but I have experience with
I have not had much experience with VBA, but I sometimes use it at
I have experience with RelativeLayout but I've never run across a way to solve
I have zero experience in Javascript and JQuery but I have used both in
I have some very rusty C++ and lots of C experience, but have done
I'm new to HTML; however I have programming experience with Objective-C, here's my code:
I have experience with MySQL as a web developer. I also have some experience
I have experience with OCaml. You had to write a stub for every function

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.