Rogerio Carvalho, Fernando Carvalho e      Silva, Rodrigo Manhães, Gabriel Oliveira                  Instituto Federal Flu...
Introduction●    Requirements tracing is a typical problem –    through all lifecycle●    Using artefacts such as the Requ...
Behavior Driven Development●    Requirements are written as a set of Given-    When-Then statements:Given a Context (Curre...
Behavior Driven Development●    BDD provides an automated and cost effective    way of keeping requirements traceability: ...
Behavior Driven Development●    BDD provides an automated and cost effective    way of keeping requirements traceability: ...
BDD in ERP5●    ERP5 is an Open Source ERP:    ●        Object oriented Zope platform - Python        language    ●       ...
BDD in ERP5
BDD in ERP5
BDD in ERP5
BDD in ERP5
BDD in ERP5
Conclusions●    ERP5 BDD Module is a proof of concept!●    Automated testing is at the core of any BDD    related solution...
Upcoming SlideShare
Loading in...5
×

Implementing Behavior Driven Development in an Open Source ERP

325

Published on

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

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
325
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Implementing Behavior Driven Development in an Open Source ERP"

  1. 1. Rogerio Carvalho, Fernando Carvalho e Silva, Rodrigo Manhães, Gabriel Oliveira Instituto Federal Fluminense Implementing Behavior DrivenDevelopment in an Open Source ERP
  2. 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. 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. 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. 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. 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. 7. BDD in ERP5
  8. 8. BDD in ERP5
  9. 9. BDD in ERP5
  10. 10. BDD in ERP5
  11. 11. BDD in ERP5
  12. 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

×