Nos premiers pas autour du Behavior Driven Development

41
L A J O U R N É E A G I L E D U C R É D I T A G R I C O L E Nos premiers pas autour du Behavior Driven Development (BDD) Arnauld LOYER AROLLA

Transcript of Nos premiers pas autour du Behavior Driven Development

1. L A J O U R N E A G I L E D U C R D I T A G R I C O L E Nos premiers pas autour du Behavior Driven Development (BDD) Arnauld LOYER AROLLA 2. Mastering Software Developmentarolla.fr 3. @aloyer For You, what is BDD About? having conversation non-regression testing user-acceptance tests writing scenario given-when-then ? cucumber/spec-ow/FIT automation testing new functionalities a golden hammer 4. Exercise: Draw a 12 points Star @aloyer 5. Read the specication What is the most important information ? Interpolation is a mathematical process to estimate the value of a dependent variable based on the values of known surrounding dependent variables, where the dependent variable is a function of an independent variable. It's used to determine interest rates for periods of time that are not published or otherwise made available. In this case, the interest rate is the dependent variable, and the length of time is the independent variable. To interpolate an interest rate, you'll need the interest rate of a shorter period of time and a longer period of time. 1. Subtract the interest rate of a time period shorter than the time period of the desired interest rate from the interest rate of a time period longer than the time period of the desired interest rate. How to Interpolate Interest Rates 2. Divide the result from Step 1 by the difference between the lengths of the two time periods. 3. Multiply the result from Step 2 by the difference between the length of time for the desired interest rate and the length of time for the interest rate with shortest length of time 4. Add the result from Step 3 to the interest rate for the shortest known time period. The linear interpolation is an estimate for the interest rate of a specic time period, and it assumes that the interest rate changes on a straight line basis between each day. In reality, interest rates may follow a "yield curve" instead of a straight line. The estimate will be more accurate the shorter the period of time between the known interest rates you are interpolating from. 6. Interpolation is a mathematical process to estimate the value of a dependent variable based on the values of known surrounding dependent variables, where the dependent variable is a function of an independent variable. It's used to determine interest rates for periods of time that are not published or otherwise made available. In this case, the interest rate is the dependent variable, and the length of time is the independent variable. To interpolate an interest rate, you'll need the interest rate of a shorter period of time and a longer period of time. 1. Subtract the interest rate of a time period shorter than the time period of the desired interest rate from the interest rate of a time period longer than the time period of the desired interest rate. How to Interpolate Interest Rates 2. Divide the result from Step 1 by the difference between the lengths of the two time periods. 3. Multiply the result from Step 2 by the difference between the length of time for the desired interest rate and the length of time for the interest rate with shortest length of time 4. Add the result from Step 3 to the interest rate for the shortest known time period. The linear interpolation is an estimate for the interest rate of a specic time period, and it assumes that the interest rate changes on a straight line basis between each day. In reality, interest rates may follow a "yield curve" instead of a straight line. The estimate will be more accurate the shorter the period of time between the known interest rates you are interpolating from. http://www.ehow.com/how_8396129_interpolate-interest-rates.html 7. http://www.modernanalyst.com/Resources/BusinessAnalystHumor/tabid/218/ID/2548/ How_to_Get_Approval_from_the_Functional_Specification_Stakeholders.aspx 8. https://www.flickr.com/photos/ohhector/456611804 Who will read the specs? Do I write the specs for myself? 9. Chaos Report - Standish group Project Challenged Factors 1. Lack of User Input 12.8% 2. Incomplete Requirements & Specifications 12.3% 3. Changing Requirements & Specifications 11.8% 4. Lack of Executive Support 7.5% 5. Technology Incompetence 7.0% 6. Lack of Resources 6.4% 7. Unrealistic Expectations 5.9% 8. Unclear Objectives 5.3% 9. Unrealistic Time Frames 4.3% 10. New Technology 3.7% Project Impaired Factors % of 1. Incomplete Requirements 13.1% 2. Lack of User Involvement 12.4% 3. Lack of Resources 10.6% 4. Unrealistic Expectations 9.9% 5. Lack of Executive Support 9.3% 6. Changing Requirements & Specifications 8.7% 7. Lack of Planning 8.1% 8. Didn't Need It Any Longer 7.5% 9. Lack of IT Management 6.2% 10. Technology Illiteracy 4.3% 10. What about you? What do you see? Test de Rorschach - Planche n1 11. What about you? What do you see? The Art of Clean Up: Life Made Neat and Tidy by Ursus Wehrli 12. What about you? What do you see? The Art of Clean Up: Life Made Neat and Tidy by Ursus Wehrli 13. What about you? What do you see? The Art of Clean Up: Life Made Neat and Tidy by Ursus Wehrli 14. Why change? 15. @aloyer 16. Why did you come here today? 17. Shared documents arent shared understanding - @jeffpatton http://www.math.u-bordeaux1.fr/~abachelo/enseignement.html 18. http://defringe.com/article/kai-ziehl Build a Shared Understanding 19. Three Amigos 20. Back to Interpolation! 21. 23/06/2015 15:36:27 UTC 30/06/2015 23:59:60 UTC 29/06/2015 14:36:58 UTC 26/06/2015 15:36:27 UTC 24/06/2015 15:36:27 UTC 1.0 1.5 2.5 3.5 6.5 ? 22. 23/06/2015 15:36:27 UTC 30/06/2015 23:59:60 UTC 29/06/2015 14:36:58 UTC 26/06/2015 15:36:27 UTC 24/06/2015 15:36:27 UTC 1.0 1.5 2.5 3.5 5.5 5.5 - 1/3*(5.5-3.5) 4.83333333333333333 OK? 23. ! !! Developper Tester/QA Domain Expert BDD is the art of using examples in conversation to illustrate behavior 24. value cost Conversation Automatisation Living Documentation unit sub system end to end " # !!! $ % | '( 25. having conversations is more important than capturing conversations is more important than automating conversations - Liz Keogh https://www.flickr.com/photos/ironrodart/8678383872/ 26. Examples Tests Requirements clarify can become verify @aloyer 27. Show me some real examples! 28. @aloyer Examples of Horse Betting scenario 29. @aloyer Examples of Horse Betting scenario 30. @aloyer Scenario: Without an audit, I cannot cancel a deal with a passed value date Given I have inserted a standard OTC deal with a standard product and the following specific | price | trade date | value date | | 50 | 2014-JUL-01 | 2014-JUL-01 | When I try to cancel the deal Then I should have an error message indicating "The input is not intraday: you must provide a justification" Scenario: Volume OTC deals Given a standard option And a standard external OTC deal with the following specifics | way | quantity | | buy | 100 | When I create the option And I create the deal with the created product And I generate the report Volume OTC deals Then the deal should appear in the report Examples of CIB scenario 31. @aloyer Scenario: The portfolio position of an OTC option is properly impacted when a deal is created # # In financial trading, a position is a binding commitment to buy or sell a given amount # of financial instruments, such as securities, currencies or commodities, for a given price. # # The term "position" is also used in the context of finance for the amount of securities # or commodities held by a person, firm, or institution, and for the ownership status of # a person's or institution's investments. # # Note: strike is part of the unicity of the product; by using different strike value one # can ensure product is different among scenario Given a standard option with no specifics And a standard external OTC deal with the following specifics | portfolio | direction | quantity | | PR-GT-FR | buy | 100 | When I create the option And I check the position of the option in portfolio PR-GT-FR for TODAY And I create the deal with the created option Then the position of the option in portfolio PR-GT-FR for TODAY should be the checked position - 100 Examples of CIB scenario 32. https://mes-aides.gouv.fr/tests/ - 2015-MAR-16 33. https://mes-aides.gouv.fr/tests/ - 2015-MAR-16 34. https://mes-aides.gouv.fr/tests/ - 2015-MAR-16 35. What is the setup? 36. BDD = Shared understanding by discussing examples ! !! Developper Tester/QA Domain Expert + Collaboration Not Agile 37. + BDD = Shared understanding by discussing examples ! !! Developper Tester/QA Domain Expert Business Analyst [A]MOA ! Collaboration Not Agile 38. + BDD = Shared understanding by discussing examples ! ! ! Developper Tester/QA Domain Expert Business Analyst [A]MOA ! Collaboration Not Agile 39. + BDD = Shared understanding by discussing examples ! ! ! Developper Tester/QA Domain Expert Business Analyst [A]MOA ! Collaboration Not Agile erf 40. Mastering Software Developmentarolla.fr Questions?