https://github.com/accenture/bdd-for-all

Flexible and easy to use library to enable your behavorial driven development (BDD) teams to easily collaborate while promoting automation, transparency and reporting.

https://github.com/accenture/bdd-for-all

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

agile-development api bdd ci-cd cucumber ddd integration-testing microservices reactive restful soap tdd test-automation test-automation-framework test-driven-development testing
Last synced: 5 months ago · JSON representation

Repository

Flexible and easy to use library to enable your behavorial driven development (BDD) teams to easily collaborate while promoting automation, transparency and reporting.

Basic Info
  • Host: GitHub
  • Owner: Accenture
  • License: other
  • Language: Java
  • Default Branch: develop
  • Homepage:
  • Size: 22 MB
Statistics
  • Stars: 52
  • Watchers: 13
  • Forks: 22
  • Open Issues: 7
  • Releases: 4
Topics
agile-development api bdd ci-cd cucumber ddd integration-testing microservices reactive restful soap tdd test-automation test-automation-framework test-driven-development testing
Created about 7 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing License Code of conduct

README.md

Quick Links: User Guide | Running | Grammar

Builds Maven Central

Latest builds can be found on Sonatype

Logo

No longer do your business, development and testing teams need to translate each others requirements and reports into something else to do their job. This natural language, behavior-driven development (BDD) library exists to simplify the documenting of requirements and the testing of your API's.

Built on Cucumber and Rest Assured, this library provides a standard grammar (based on Gherkin) that all teams within your organization can use to relay requirements and test your applications.

Example

gherkin Given I am a JSON API consumer And I am executing test "RSJ2" When I request GET "/json/users" Then I should get a status code of 200 And the response value of "users[0].email" should equal "Sincere@april.biz" And the response value of "users[0].address.city" should not equal "Boston"

Although there are libraries like Karate and others that provide similar functionality, they are focused mainly on technical users, which means your Product/Solution Owners and SME's are still writing their own docs.

This library was born out of this frustration.

Why BDD For All?

Requirements, always being interpreted from one document format (user story, technical docs, test cases, etc...) to another, create an additional overhead. Even worse, things often get lost or misinterpreted in translation. We don't have time for that in one or two week sprints.

This library provides a lot of help out of the box to fix this...

  • Simplifies and streamlines your Test Driven Development (TDD) flows.
  • Simple integration with build tools (Maven, Gradle, & SBT) as well as your DevOps pipelines (Jenkins, Bamboo, CircleCI, etc...).
  • Test against any API's regardless of language or platform.
  • Standard, well tested step definitions that are easy to read/write for the entire business.
  • Create complex flows with request chaining (e.g. search for and then edit record).
  • Data generation, supporting over 40 locales out of the box
  • Run within your project or as a command line program
  • Option to log all requests as cURLs to import into your favorite tools (postman, soapUI and more)
  • Supports complex Groovy GPath expressions for those cases that require additional complexity
  • Easy to use with any test framework (JUnit, TestNG, etc...) and works as a standalone library.
  • Tests count towards your code coverage, reducing the need for unit tests.
  • Simple intuitive reporting out of the box.
  • Expressions that allow you easily choose what tests to run (e.g. smoke, regression, etc...).

How's it Work?

In most environments, contributors - which include Product Owners, Subject Matter Experts, Architects, Solution Owner/Architects, Tech/Team Leads, and more - create scenarios which are added to feature files. In most cases these are added to existing project repositories (or newly created ones).

The developer then reviews the requirements (or acceptance criteria) and creates functionality to support, while running those scnearios as as tests with every change to confirm that there's been no regressions and that the feature is functionally complete.

The BDD + TDD Workflow

Samples

The test directory has a variety of sample feature files that show how to use all the features of the library.

Using

For the definitive guide, checkout the User Guide.

Owner

  • Name: Accenture
  • Login: Accenture
  • Kind: organization

Accenture Github site

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 92
  • Total Committers: 3
  • Avg Commits per committer: 30.667
  • Development Distribution Score (DDS): 0.207
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Parcewski, Michael m****i@a****m 73
mikeparcewski 3****i 15
Mike Parcewski m****i@g****m 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 6
  • Total pull requests: 18
  • Average time to close issues: 20 days
  • Average time to close pull requests: 25 days
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 0.83
  • Average comments per pull request: 0.44
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 11
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mikeparcewski (3)
  • mbram13 (1)
  • pauloapf (1)
  • thomaswmanion (1)
Pull Request Authors
  • dependabot[bot] (11)
  • mikeparcewski (5)
  • hemanshuchauhan (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (11)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 12
repo1.maven.org: com.accenture.testing.bdd:bdd-for-all

A simple to use, easy to integrate, BDD library for API and microservices development.

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 2
Rankings
Dependent repos count: 16.1%
Forks count: 31.4%
Stargazers count: 32.2%
Average: 32.5%
Dependent packages count: 50.1%
Last synced: 6 months ago

Dependencies

pom.xml maven
  • org.projectlombok:lombok 1.18.16 provided
  • ch.qos.logback:logback-classic 1.2.3
  • com.fasterxml.jackson.core:jackson-annotations 2.9.10
  • com.fasterxml.jackson.core:jackson-core 2.9.10
  • com.fasterxml.jackson.core:jackson-databind 2.9.10.8
  • com.github.dzieciou.testing:curl-logger 2.0.0
  • com.github.javafaker:javafaker 1.0.2
  • com.google.guava:guava 28.1-jre
  • commons-logging:commons-logging 1.2
  • io.cucumber:cucumber-java8 6.10.2
  • io.cucumber:cucumber-picocontainer 6.10.2
  • io.rest-assured:rest-assured 4.3.3
  • junit:junit 4.13.1
  • org.apache.commons:commons-configuration2 2.7
  • org.apache.commons:commons-lang3 3.11
  • org.apache.httpcomponents:httpclient 4.5.13
  • org.apiguardian:apiguardian-api 1.1.1
  • org.assertj:assertj-core 3.19.0
  • org.slf4j:slf4j-api 1.7.25
  • org.yaml:snakeyaml 1.30
  • pl.jalokim.propertiestojson:java-properties-to-json 5.2.0
  • com.cybozu.labs:langdetect 1.1-20120112 test
  • com.github.stefanbirkner:system-rules 1.3.0 test
  • com.github.tomakehurst:wiremock 2.19.0 test
  • io.cucumber:cucumber-junit 6.10.2 test
.github/workflows/maven.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite