Implementing Behavior Driven Development in an Open Source ERP

  • 267 views
Uploaded on

Rogerio Carvalho, Fernando Carvalho E Silva, Rodrigo Manhaes, Gabriel Oliveira, Implementing Behavior Driven Development in an Open Source ERP

Rogerio Carvalho, Fernando Carvalho E Silva, Rodrigo Manhaes, Gabriel Oliveira, Implementing Behavior Driven Development in an Open Source ERP

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
267
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Rogerio Carvalho, Fernando Carvalho e Silva, Rodrigo Manhães, Gabriel Oliveira Instituto Federal Fluminense Implementing Behavior DrivenDevelopment in an Open Source ERP
  • 2. Introduction● Requirements tracing is a typical problem – through all lifecycle● Using artefacts such as the Requirements Tracing Matrix is error prone and time comsuming● Behavior Driven Development is an specification technique that aims at keeping requirements and source code synchronous through the use of executable documentation
  • 3. Behavior Driven Development● Requirements are written as a set of Given- When-Then statements:Given a Context (Current State)When an Event happens (User Action)Then an Action is taken (New State)● Clearly, it defines a state machine that describes the behavior of the system● A Story Runner maps the textual statements to the underlying programming language equivalent skeleton calls
  • 4. Behavior Driven Development● BDD provides an automated and cost effective way of keeping requirements traceability: ● Cost: requirements are tied to tests, so that if tests return non-expected values or simply are not implemented, the story runner will automatically point out the problem ● Change Management: whenever a requirement changes, the tests will not run until the code is also changed accordingly – Effort estimation: by changing a requirement and immediately running a build, errors will pop-up in specific places where the system must be changed
  • 5. Behavior Driven Development● BDD provides an automated and cost effective way of keeping requirements traceability: ● Different stakeholder viewpoints: it is possible for any stakeholder to check system consistency, since it is based on executable documentation ● Organizational problems: it provides a proper policy for traceability, enforcing the connection between code and requirements● Shortcoming for EIS: use of text, instead of business process models
  • 6. BDD in ERP5● ERP5 is an Open Source ERP: ● Object oriented Zope platform - Python language ● State-based workflow engine ● Document oriented● ERP5 is in the market for 10 years: Aparell, Banks, Aeroespace, Automotive, Government, Academy...
  • 7. BDD in ERP5
  • 8. BDD in ERP5
  • 9. BDD in ERP5
  • 10. BDD in ERP5
  • 11. BDD in ERP5
  • 12. Conclusions● ERP5 BDD Module is a proof of concept!● Automated testing is at the core of any BDD related solution● Business Language Driven Development (BLDD): ● Seeks to use business process models directly, instead of only textual information ● Interactive testing by the user ● Proof of concept using the Yankidu platform