EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

BEHAVIOR DRIVEN DEVELOPMENT – CUCUMBER TRAINING

Course outline

4 days

Duration

4 days

OVERVIEW

Behavior-driven development, or BDD, is another agile software development process that encourages collaboration in a software project between developers, QA, project managers, and the business team.

BDD with Cucumber training course explains what behavior-driven design is all about, describes why it's a beneficial approach to application development and testing, and shows how to do BDD using Cucumber. Cucumber is the leading framework for BDD in Java, and it ties in well with a host of application types and Java technology APIs. You'll learn all about these integrations during the course.

BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters. It enables the technical team and the business team to reach their end goals. In fact, it helps when it comes to defining the desired business outcomes, to communicating what needs to be built by the developer and to understanding what are the technical challenges they might encounter.

BENEFITS

  • Strong collaboration. With BDD, all the involved parties have a strong understanding of the project and they can all have a role in communication and actually have constructive discussions. BDD increases and improves collaboration. It enables everyone involved in the project to easily engage with the product development cycle. And by using plain language, all are able to write behavior scenarios.
  • High visibility. By using a language understood by all, everyone gets strong visibility into the project’s progression.
  • The software design follows business value. In fact, BDD puts great importance on the business value and needs. By setting priorities with the client, based on the value it provides, developers are able to provide a better result because they have a strong understanding of how the client thinks.
  • The ubiquitous language. As mentioned earlier, the ubiquitous language is understandable by all the members of the team, which reduces misconceptions and misunderstanding and makes it easier for new members to join the working process.
  • Software development meets user need. By focusing on the business’s needs, you get satisfied users, and that implies a happy business, of course. With BDD, as its name says, you focus on the behavior, which has a stronger impact than the implementation itself.
  • More confidence from the developers' side. Teams using BDD are in general much more confident that they won’t break the code, and have better predictability when it comes to their work.

DAY 1 Module 1 – INTRODUCTION TO BDD AND CUCUMBER

  • Getting started with behavior-driven development
  • Overview of Cucumber
  • How Cucumber works
  • Tooling up

Module 2 – GETTING STARTED WITH CUCUMBER

  • Creating features
  • Creating step definitions
  • Implementing step definitions
  • Testing our classes
  • Making assertions
  • Making the tests work

Module 3 – GETTING STARTED WITH GHERKIN

  • Overview of Gerkhin
  • Features
  • Scenarios
  • Comments
  • Spoken languages

Module 4 – STEP DEFINITIONS EXTERNAL PERSPECTIVE

  • Steps and step definitions
  • Capturing arguments
  • Multiple captures
  • Achieving more flexibility
  • Returning results

Module 5 – CUCUMBER BEST PRACTICES

  • Issues
  • Collaboration
  • Writing maintainable tests
  • Guidelines for preventing defects

Module 6 – STEP DEFINITIONS INTERNAL PERSPECTIVE

  • Domain model
  • Transforms
  • Custom helper methods
  • Dependency injection

DAY 3Module 7 – ENTERPRISE DEVELOPMENT

  • Asynchronous architecture
  • Message queues
  • Asynchronous components

Module 8 – DATABASES

  • Interactive database development
  • Refactoring to use a database
  • Writing and writing to the database
  • Cleaning the database

Module 9 – DEPENDENCY INJECTION

  • Overview of DI
  • DI in Cucumber
  • PicoContainer
  • Guice
  • Weld CDI

Module 10 – WEB APPLICATIONS

  • Overview of Selenium WebDriver
  • Interacting with the DOM
  • Handling failures
  • Ajax

Module 11 – REST WEB SERVICES

  • Overview of REST
  • REST and Cucumber
  • Guidelines and best practice

Programme scope, delivery arrangements and suitability are confirmed during enquiry.