tag:blogger.com,1999:blog-36118108.post8156873345218886742..comments2023-12-06T00:17:28.519-08:00Comments on Creative Chaos: Why I /like/ Behavior Driven DevelopmentMatthewhttp://www.blogger.com/profile/05956714498778698672noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-36118108.post-87150957964008194652009-09-04T13:16:19.277-07:002009-09-04T13:16:19.277-07:00I discovered RSpec as part of a Selenium-Ruby fram...I discovered RSpec as part of a Selenium-Ruby framework I got to work on and from there started to learn more about BDD.<br /><br />The BDD perspective blew me away and I'm convinced it's a real step forward in joined up development thinking.<br /><br />As I belong to a test consultancy that does just testing it's confusing for us to talk about BDD ("...but we mean testing as we don't do dev")to clients. However, we adopted the BDD perspective over the last year to our UI centric / Web based testing.<br /><br />Howver, when we talk about what BDD looks like as we engage with it and mirror the thinking and practice for testing we call it BDT, Behaviour Driven Testing.<br /><br />My colleagues and I have used it as the main approach on four engagements now and what a difference.<br /><br />There's a presentation on my site and I've blogged a number of times about it.<br /><br />The approach uses Cucumber, RSpec, Selenium, Ruby and the companies test management tool.<br /><br />Michael - "I'm tired of hearing programmers telling testers how to do <i>their</i> work." It was actually that thought and the way BDD literature was developer centric in it's presentation that prompted the writing of the BDT material.Mark Crowtherhttps://www.blogger.com/profile/11540303029361604504noreply@blogger.comtag:blogger.com,1999:blog-36118108.post-55758609742574617572009-08-30T11:03:50.390-07:002009-08-30T11:03:50.390-07:00Alistair Cockburn talked in his keynote at Agile 2...Alistair Cockburn talked in his keynote at Agile 2009 about testers making decisions around system correctness. Interestingly, this happens _after_ the program has already been written, meaning that the only way in which those decisions can play into the code is through rework (we call them bugs).<br /><br />Chris Matts also addressed this in the Real Options comic he handed out. He moves the testers' input to sit before the developers', so that the maximum amount of information can be found before commitment. The question I asked Alistair was really Chris's: is there any way to get those decisions about system correctness into the system before implementation?<br /><br />Alistair reckons there are only 10 companies he's heard of who have managed to put the acceptance tests first as "fine-grained requirements". I suspect he doesn't know about several companies out there using BDD with Fitnesse, JBehave, Cucumber, Concordion, or just plain old XUnit. It's getting better.<br /><br />To Michael: I'm happy for you to do your work in any way that suits you. I'd like to redefine what your work is, rather than how you do it. Instead of giving feedback on the developer's understanding of the system _after_ they start coding, would you be able to do it _before_? The developers, after all, are the most immediate consumers and customers of your work.<br /><br />BDD is one way to shift the focus of these decisions. Good old fashioned Acceptance Test Driven Development is another; the only real difference is the language used (Given / When / Then over Setup / Exercise / Verify, etc) which I've found makes conversation with the stakeholders of the system much easier.<br /><br />To Matthew: If you want to know how it works at high levels, please give it a try and share your problems on the newbie-friendly BDD dev list:<br /><br />http://groups.google.com/group/behaviordrivendevelopmentLiz Keoghhttps://www.blogger.com/profile/13900986681541683192noreply@blogger.comtag:blogger.com,1999:blog-36118108.post-51654028206958072252009-08-24T09:25:50.553-07:002009-08-24T09:25:50.553-07:00Michael -
To speak to Michael's point, Please...Michael -<br /><br />To speak to Michael's point, Please remember, in the 2005/06 timeframe, I /was/ a programmer who loved to test. Or, at least, my business card said "developer" on it. <br /><br />So I went to GTAC to talk about developer-facing tests that might be of some interest to some testers, something I was skilled and qualified to do.<br /><br />Some who test, also program. Not all, and I don't think it's required. I hope my post came off in the right spirit ...Matthewhttps://www.blogger.com/profile/05956714498778698672noreply@blogger.comtag:blogger.com,1999:blog-36118108.post-2129496207616216762009-08-24T09:01:42.101-07:002009-08-24T09:01:42.101-07:00Supposing we testers worked from the premise that ...Supposing we testers worked from the premise that how programmers do their work was none of our business? That <i>knowing</i> how they do their work might be interesting and informative as to how we test, but that we testers might choose to observe the outcomes rather than having overly strong opinions about the methods that produce those outcomes?<br /><br />What often gets left out of these discussions, for me, is this: I've seen programmers do great work test-first, and without test-first; using TDD or using unit tests; using BDD or writing the code from scratch. Unless I'm managing a programmer, I <i>try</i> (Lord, I try, though it's hard sometimes) not to be presumptuous about How Programmers Should Do Their Work. Apart from the principled stances of asserting No Best Practices and allowing other people to drive by their own headlights, there's another reason: I'm tired of hearing programmers telling testers how to do <i>their</i> work.<br /><br />---Michael B.Michael Bolton http://www.developsense.comhttps://www.blogger.com/profile/09027725699187903416noreply@blogger.comtag:blogger.com,1999:blog-36118108.post-87473537943970326602009-08-24T08:47:16.877-07:002009-08-24T08:47:16.877-07:00For my Rails projects, I got infected with BDD and...For my Rails projects, I got infected with BDD and RSpec because it allowed (forced?) me to separate so many concerns, and I could focus much better on the design of the code. When I finally got around to doing RSpec seriously, Cucumber was mature enough to work at the higher level, to make sure that things were plugged together properly. I know of several Rails shops that use the RSpec-Cucumber combo.<br /><br />I've also used higher-level testing on Java code. For some reason, I can't give up JUnit (so I remain TDD, not BDD, in Java), but I've taken up mock objects, so higher-level tests are necessary. I've used FitNesse for these in the past, but it doesn't work well for my domain (interpreters and compilers), so I wrote my own tool <a href="http://www.github.com/jdfrens/ciat/" rel="nofollow">CIAT</a>.Jeremy Frenshttps://www.blogger.com/profile/13179698525098485533noreply@blogger.comtag:blogger.com,1999:blog-36118108.post-40780568855604504592009-08-24T08:33:41.212-07:002009-08-24T08:33:41.212-07:00For one of our simpler components I started with s...For one of our simpler components I started with some BDD style Slim tests lately. The resulting test suite looks fine for me, though I'm not overly too ambitious for dealing with a more complex component/application in that mood.Markus Gärtnerhttps://www.blogger.com/profile/15728306418553053255noreply@blogger.com