KYOSS / kyoss-topic-manager

A web application to allow members of KYOSS to vote on topics for meetings.
Apache License 2.0
3 stars 5 forks source link

Choosing Our Testing Methodologies #9

Open InfoSec812 opened 10 years ago

InfoSec812 commented 10 years ago

There are several methodologies for doing testing these days... They each have their relative merits and we should start thinking about which of these methodologies we might like to use or a combination of them:

TDD - http://en.wikipedia.org/wiki/Test-driven_development BDD - http://en.wikipedia.org/wiki/Behavior-driven_development ATDD - http://en.wikipedia.org/wiki/ATDD DDD - http://en.wikipedia.org/wiki/Domain-driven_design FDD - http://en.wikipedia.org/wiki/Feature_Driven_Development

And here's a link to a slide deck which I found enlightening:

http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

InfoSec812 commented 10 years ago

Also, this site is chock full of agile methodology articles:

http://dzone.com/mz/agile

ghost commented 10 years ago

I've been reading a bit on Test Driven Development recently. It seems like something I could have benefited from greatly in past development gigs. I really like that idea that the writing of the tests actually can become part of the design process starting out. The tests are being written before the actual code is developed, and are used to help define precisely what you want the code to do.

InfoSec812 commented 10 years ago

Unfortunately, TDD is an "ideal" situation whereas in the real world it is not always possible to write the tests beforehand. For instance, in Java, you would at least have to write stubbed interfaces to write the tests against, otherwise the tests will not compile... For dynamic languages it usually works really well. And for languages like Java, you can do Behavior Driven Development or Acceptance Test Driven Development where you design tests of end-to-end functionality which does not require access to the source code/classes under test.

ghost commented 10 years ago

I'm still a bit new to TDD and BDD and acceptance tests and the related terminology. The book I'm reading (Growing Object-Oriented Software, Guided by Tests) seems to lump it all under the umbrella of TDD. I'd be grateful to work with someone on this who has actually applied the methods in the real world. :)