Hollo-Event-Notifier / Hollo-Event-Notifier-App

0 stars 0 forks source link

Setup of BDD testing task #44

Closed vbkristof closed 1 year ago

vbkristof commented 1 year ago

Requirements

You should make a research about possible BDD test solutions suited for our application. In order to fulfill this task, please take a look at the current project, which technologies are used, what is the basic architecture etc....

Please make a small summary, about what are the basic principles of BDD testing, and what is neccessary for us to implement. After that please create all neccessary tickets for the steps we need to make to fulfill this task.

In addition to that please create a documentation markdown file in the docs folder. This file will contain our documentation for this task for the IET homework.

You should also think about the following things:

Solution

Please make a research about this task and create all neccessary tickets, in addition to that please document your work here as a comment.

Acceptance criteria

Deadline

Please complete this task until 2023.05.13. in order to have enough time to complete the other tasks.

PeterH001 commented 1 year ago

BDD research

Behaviour Driven Development (BDD) is a synthesis and refinement of practices stemming from Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD)

BDD is a process designed to aid the management and the delivery of software development projects by improving communication between engineers and business professionals. In so doing, BDD ensures all development projects remain focused on delivering what the business actually needs while meeting all requirements of the user.

During a project there can be misunderstandings between different groups:

Properties of BDD

More at https://inviqa.com/blog/bdd-guide

Testing frameworks

Most of the frameworks use Gherkin, wich is a business-readable programming language, which describes business behavior without going into detail of how it is implemented.

Gherkin is broken down into a Given-When-Then language construct:

Cucumber

Quantum

JBehave

I recommend using Cucumber, we used it 2 years ago and it seems to be the most popular and versatile solution.

Creating tickets