Another potential downside of BDD is that the project could satisfy customers

Another potential downside of bdd is that the project

This preview shows page 295 - 297 out of 517 pages.

Another potential downside of BDD is that the project could satisfy customers but not result in a good software architecture, which is an important foundation for maintaining the code. Chapter 11 discusses design patterns, which should be part of your software development toolkit. Recognizing which pattern matches the circumstances and refactoring code when necessary (see Chapter 9 ) reduces the chances of BDD producing poor software architectures. All this being said, there is enormous momentum in the Ruby community (which places high value on testable, beautiful and self-documenting code) to document and promote best practices for specifying behavior both as a way to document the intent of the app’s developers and to provide executable acceptance tests. The Cucumber wiki is a good place to start. BDD may not seem initially the natural way to develop software; the strong temptation is to just start hacking code. However, once you have learned BDD and had success at it, for most developers there is no going back. Your authors remind you that good tools, while sometimes intimidating to learn, repay the effort many times over in the long run. Whenever possible in the future, we believe you’ll follow the BDD path to writing beautiful code. 7.13 To Learn More The Cucumber wiki has links to documentation, tutorials, examples, screencasts, best practices, and lots more on Cucumber. The Cucumber Book ( Wynne and Hellesøy 2012 ), co-authored by the tool’s creator and one of its earliest adopters, includes detailed information and examples using Cucumber, excellent
Image of page 295
discussions of best practices for BDD, and additional Cucumber uses such as testing RESTful service automation. Ben Mabey (a core Cucumber developer) and Jonas Nicklas , among others, have written eloquently about the benefits of declarative vs. imperative Cucumber scenarios. In fact, the main author of Cucumber, Aslak Hellesøy, deliberately removed web_steps.rb (which we met in Section 7.7 ) from Cucumber in October 2011, which is why we had to separately install the cucumber_rails_training_wheels gem to get it for our examples. ACM IEEE-Computer Society Joint Task Force. Computer science curricula 2013, Ironman Draft (version 1.0). Technical report, February 2013. URL http: // . B. W. Boehm and R. Valerdi. Achievements and challenges in COCOMO-based software resource estimation. IEEE Software , 25(5):74–83, Sept 2008. F. P. Brooks. The Mythical Man-Month . Addison-Wesley, Reading, MA, Anniversary edition, 1995. ISBN 0201835959. D. Burkes. Personal communication, December 2012. J. Johnson. The CHAOS report. Technical report, The Standish Group, Boston, Massachusetts, 1995. URL . J. Johnson. The CHAOS report. Technical report, The Standish Group, Boston, Massachusetts, 2009. URL .
Image of page 296
Image of page 297

You've reached the end of your free preview.

Want to read all 517 pages?

  • Spring '19
  • Dr.Marcos

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors