Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/omergulen/awesome-bdd

A collection of awesome things regarding the behavior-driven development ecosystem. A curated list of courses, tutorials, libraries, tips and tricks, books, videos, and awesome resources about BDD.
https://github.com/omergulen/awesome-bdd

List: awesome-bdd

awesome awesome-list bdd bdd-framework

Last synced: about 1 month ago
JSON representation

A collection of awesome things regarding the behavior-driven development ecosystem. A curated list of courses, tutorials, libraries, tips and tricks, books, videos, and awesome resources about BDD.

Awesome Lists containing this project

README

        

# **Awesome BDD** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A collection of awesome things regarding the behavior driven development ecosystem.
A curated list of courses, tutorials, libraries, tips and tricks, books, videos and awesome resources about TDD.

*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. You might also like [awesome-tdd](https://github.com/omergulen/awesome-tdd).*

*Please read the [contribution guidelines](#guidelines) before contributing.*

**Say *hi* on [Twitter](https://twitter.com/omergulenn).**

## Table of Contents
- [Resources](#resources)
- [Articles](#articles)
- [Books](#books)
- [Case Studies](#case-studies)
- [Guides](#guides)
- [Related Awesome Lists](#related-awesome-lists)
- [Videos](#videos)
- [Tools](#tools)
- [.NET](#net)
- [C#](#c-sharp)
- [Go](#go)
- [Java](#java)
- [JavaScript](#javascript)
- [Objective-C](#objective-c)
- [Perl](#perl)
- [PHP](#php)
- [Python](#python)
- [Ruby](#Ruby)
- [Contribution](#contribution)

---

## Resources

### Articles
- [What is BDD?](https://cucumber.io/docs/bdd/) - by Cucumber.
- [Introducing BDD](https://dannorth.net/introducing-bdd/) - by Dan North.
- [Making the shift to behavior driven development](https://www.atlassian.com/blog/software-teams/making-the-shift-to-behavior-driven-development) - by Heather Krebsbach (Atlassian).
- [Where should you use Behaviour-Driven Development?](https://cucumber.io/blog/bdd/where_should_you_use_bdd/) - by Thomas Sundberg.
- [BDD in DevOps: An Example of BDD in Continuous Integration | Whiteboard Friday](https://www.qasymphony.com/blog/bdd-devops-example-bdd-continuous-integration/) - by Tricentis Team.
- [Be Da Developer, Cucumber on Android](https://proandroiddev.com/be-da-developer-cucumber-on-android-cfd07773e59d) - by Emma Suzuki.
- [Cucumber.io - Official Documentation for Cucumber](https://cucumber.io/docs) - by Cucumber.
- [Cucumber BDD (Part 1): Starting with Feature Mapping](https://medium.com/agile-vision/starting-with-bdd-for-collaborative-development-in-agile-environments-5fb034078b3c) - by Thilina Ashen Gamage.
- [E2E Testing with Protractor , Cucumber using TypeScript!](https://medium.com/@igniteram/e2e-testing-with-protractor-cucumber-using-typescript-564575814e4a) - by Ram Pasala.
- [End-to-end testing Single Page Apps and Node.js APIs with Cucumber.js and Puppeteer](https://medium.com/@anephenix/end-to-end-testing-single-page-apps-and-node-js-apis-with-cucumber-js-and-puppeteer-ad5a519ace0) - by Anephenix.
- [Shift Left with Behavior Driven Development](https://smartbear.com/product/testleft/features/behavior-driven-development/) - by Smartbear.

### Books
- [BDD in Action, Second Edition: Behavior-driven development for the whole software lifecycle](https://a.co/d/937gPhn) - by John Ferguson Smart and Jan Molak.
- [The Cucumber Book: Behaviour-Driven Development for Testers and Developers (Pragmatic Programmers)](https://www.amazon.com/Cucumber-Book-Behaviour-Driven-Development-Programmers/dp/1934356808/httpwwwtuto0a-20) - by Matt Wynne, Aslak Hellesoy.
- [Learning Behavior-driven Development with JavaScript](https://www.amazon.com/Learning-Behavior-driven-Development-JavaScript-Enrique/dp/1784392642/httpwwwtuto0a-20) - by Enrique Amodeo.
- [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530/httpwwwtuto0a-20) - by Kent Beck.
- [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/httpwwwtuto0a-20) - by Robert C. Martin.
- [The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers](https://www.amazon.com/Cucumber-Java-Book-Behaviour-Driven-Development/dp/1941222293/httpwwwtuto0a-20) - by Seb Rose, Matt Wynne, Aslak Hellesoy.

### Case Studies
- [Behaviour Driven Development - Case study in Nordea](https://prezi.com/ke8eiqlb_1x9/behaviour-driven-development-case-study-in-nordea/) - by Sami Luoma.

### Guides
- [The beginner's guide to BDD](https://inviqa.com/blog/bdd-guide) - by Konstantin Kudryashov, Alistair Stead, Dan North.
- [Protractor-Cucumber-TypeScript Setup Guide](https://github.com/igniteram/protractor-cucumber-typescript) - by Ram Pasala.

## Related Awesome Lists

- [Awesome TDD](https://github.com/omergulen/awesome-tdd) - A collection of awesome things regarding the test-driven development ecosystem.
- [The Original](https://github.com/sindresorhus/awesome) - The awesome list of awesome lists.
- [Awesome Cucumber](https://github.com/virajkulkarni14/Awesome-Cucumber) - A collection of awesome Cucumber and Gherkin-related resources.
- [Awesome Software Quality](https://github.com/ligurio/awesome-software-quality) - A list of free software testing and verification resources.
- [Awesome Selenium](https://github.com/christian-bromann/awesome-selenium) - A curated list of delightful Selenium resources.
- [Awesome Testing](https://github.com/TheJambo/awesome-testing) - A curated list of testing software, extensions and resources.

## Videos
- [An Introduction to Behavior-Driven Development (BDD) with Cucumber for Java](https://www.youtube.com/watch?v=MCaXumfckmQ) - by Oracle Developers.
- [An Introduction to BDD from Konstantin Kudryashov](https://www.youtube.com/watch?v=njcHzGYv7nI) - by Inviqa.

## Tools

### .NET
- [Bard](https://github.com/sjclark76/Bard) - Bard is a test library written by Developers for Developers. It is as much a development tool as it is a test library. Although Bard is a .NET library it can be used to test any API if you want.
- [Specflow](https://specflow.org/) -
SpecFlow makes test automation easier by turning it into a team effort and allowing every role to better use their skills.

### C-Sharp
- [Concordion](https://concordion.org/coding/csharp/html/) - Concordion fixtures find commands in the instrumented specification and use them to verify the system under test. Concordion is a test runner that can invoke your application code directly.

### Go
- [GoConvey](https://github.com/smartystreets/goconvey) - A yummy BDD tool for gophers. Use it in the browser or in the terminal. Either way you choose, the output is a pleasure to read and work with.
- [testcase](https://github.com/adamluzsi/testcase) - testcase is an opinionated behavior-driven-testing library

### Java
- [Cucable Maven Plugin](https://github.com/trivago/cucable-plugin) - Cucable is a Maven plugin for Cucumber scenarios that simplifies fine-grained and efficient parallel test runs.
- [cucumber](https://github.com/cucumber/cucumber) - Cucumber helps in writing the tests which are easy to understand by anyone
- [Chorus](https://github.com/Chorus-bdd/Chorus) - The Chorus BDD interpreter - Executable specifications for distributed systems.
- [Cluecumber Report Maven Plugin](https://github.com/trivago/cluecumber-report-plugin) - This plugin creates aggregated test reports from Cucumber compatible JSON files that are generated by Cucumber BDD, Karate and other frameworks.
- [Concordion](https://concordion.org/coding/java/html/) - Concordion fixtures find commands in the instrumented specification and use them to verify the system under test. Concordion is a test runner that can invoke your application code directly.
- [Easy B](https://easyb.io/v1/index.html) - easyb is a behavior driven development framework for the Java platform.
- [HTML reports for Cucumber](https://github.com/damianszczepanik/cucumber-reporting) - This is a Java report publisher primarily created to publish cucumber reports on the Jenkins build server. It publishes pretty html reports with charts showing the results of cucumber runs.
- [JBehave](https://jbehave.org/) - JBehave is a framework for Behaviour-Driven Development (BDD).
- [JBehave Web](https://jbehave.org/reference/web/stable/) - JBehave Web is an extension of JBehave Core, providing support for web-related access or functionality.
- [Karate](https://github.com/intuit/karate) - Web services testing framework based on Cucumber-JVM.
- [SeleniumCucumber](https://github.com/rahulrathore44/SeleniumCucumber) - BDD framework for automation using Selenium Cucumber and TestNg.
- [Spock](https://github.com/spockframework/spock) - The Enterprise-ready testing and specification framework.

### JavaScript
- [apickli](https://github.com/apickli/apickli) - REST API integration testing framework based on cucumber.js.
- [Courgette](https://github.com/canvaspixels/courgette) - Beautifully simple UI testing for all the team. Test your Web and Native Mobile Apps.
- [Cucumber.js](https://github.com/cucumber/cucumber-js) - Cucumber.js is the JavaScript implementation of Cucumber and runs on the maintained Node.js versions and modern web browsers.
- [Cucumber Reports Plugin](https://github.com/jenkinsci/cucumber-reports-plugin) - This is a Java Jenkins plugin which publishes pretty html reports showing the results of cucumber runs.
- [DaSpec](https://github.com/daspec) - JavaScript framework.
- [Jasmine](https://github.com/jasmine/jasmine) - Simple JavaScript testing framework for browsers and node.js.
- [react-hot-loader](https://github.com/gaearon/react-hot-loader) - Tweak React components in real time.
- [RestQA](https://github.com/restqa/restqa) - All-in-one API test automation framework with a great developer experience. Based on Cucumber.
- [Yadda](https://github.com/acuminous/yadda) - A BDD javascript library.

### Objective-C
- [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C.

### Perl
- [test-bdd-cucumber-perl](https://github.com/pherkin/test-bdd-cucumber-perl) - Test::BDD::Cucumber - Feature-complete Cucumber-style testing in Perl

### PHP
- [Behat](https://github.com/Behat/Behat) - Behat is a BDD framework for PHP to help you test business expectations.
- [Kahlan](https://github.com/kahlan/kahlan) - PHP Test Framework for Freedom, Truth, and Justice.

### Python
- [behave](https://github.com/behave/behave) - behave is behavior-driven development, Python style.
- [lettuce](https://github.com/gabrielfalcao/lettuce) - Behavior-driven-development tool for python, inspired by Cucumber for Ruby ⛺.
- [pyspecs](https://github.com/mdwhatcott/pyspecs) - Minimalistic BDD in Python (ah, my first forray into the wonderful world of test runners!).

### Ruby
- [CukeLinter](https://github.com/enkessler/cuke_linter) - This gem provides linting functionality for Feature files.
- [ReportBuilder](https://github.com/rajatthareja/ReportBuilder) - Ruby gem to merge Cucumber JSON reports and build mobile-friendly HTML Test Report, JSON report and retry file.
- [Spinach](https://github.com/codegram/spinach) - BDD framework on top of Gherkin.

---

## Contributing

Found an awesome blog, video, talk, tutorial etc that's not on this list?. Notify me or send a PR.

### Guidelines

* Please make an individual pull request for each suggestion
* Make sure what you are adding is not already on the list
* Use the following format: `* [Name](Link)`
* Add it to the bottom of the section, not top or middle
* Check your spelling and grammar
* Make sure there is no trailing whitespace
* If you are adding resources for a new language or framework, make sure it has a reference in the Table of Contents.
* Last, Make sure it is awesome!

## How can I thank you?

Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!

Don't forget to [follow me on twitter](https://twitter.com/omergulenn)!

Thanks!
[Omer Gulen](https://github.com/omergulen) & [Cemal Kilic](https://github.com/cemalkilic).