BT

InfoQ Homepage Presentations TDD: Where Did It All Go Wrong?

TDD: Where Did It All Go Wrong?

Bookmarks

Bio

Ian Cooper has over 20 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. During that time he has worked for the DTi, Reuters, Sungard, Misys, Beazley and Huddle delivering everything from enterprise solutions to 'shrink-wrapped' products. Ian is a passionate exponent of OO, SOA, EDA, CQRS and Agile. He is the founder of the London .NET user group.

About the conference

“BUILD STUFF” Conference is a Software Development Conference created for developers, team leaders, software architects and technical project managers. Our goal is to bring world class speakers to share innovations, latest developments, new trends and directions in software development world to the Baltics.

Recorded at:

Jun 22, 2014

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Slides Out of Sync

    by David Grant /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The slides are out of sync around 40m.

  • Re: Slides Out of Sync

    by Oskar Karlsson /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Would a unit test have catched it?

  • Re: Slides Out of Sync

    by Charles Humble /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi David,

    I've checked around the 40 minute mark but it seems fine to me. What am I missing?

    Charles Humble
    Head of Editorial

  • Re: Slides Out of Sync

    by Charles Humble /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi David,

    I've checked around the 40 minute mark but it seems fine to me. What am I missing?

    Charles Humble
    Head of Editorial

  • Re: Slides Out of Sync

    by David Grant /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The problem is demonstrated around 42:30. The slide on the video contains four visible lines of text but the accompanying slide fails to change, and continues to read "Acceptance Test-Driven Development".

    Dave

  • Re: Slides Out of Sync

    by Charles Humble /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi David,

    Thanks for taking the time to clarify this. We don't have a slide between the two that we're showing from the slide deck we got from the conference organisers. We'll see if we track down Ian Cooper and clarify.

    Thanks and regards,
    Charles Humble
    Head of Editorial

  • Pure gold

    by Noam Ben Ari /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Refreshed my frame of mind regarding testing.

  • This settled my thoughts about testing

    by Richard Richter /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I very much agree with most of it although I had some names mixed up (starting with understanding of unit test definition, but I aplied it like stated in the video). I prefer black-box testing - based on contract. I defiitely don't test every single class. And while I understand that mocks are useful, seeing how people use it made me avoid them nearly all the time. Most of the time when test breaks after refactoring the code - it has some mock inside that assumes too much. Without good reasons. Many people use mocks, because they can. I personally don't care about pure TDD or what TDD, but every sensible programmer should get to the stage where they know what to test and how. If they test. As anywhere else - no pain, no gain. You can learn something, but you have to go through some of your own dark paths.

    Very good presentation indeed.

  • Domain Model as a Rules Engine - don't make calls outside...

    by Neil Stevens /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The answer to the final question at 1:00:54 has confused me.
    He seems to be saying that the UI Port calls the Database Port, constructs the domain objects and sends them to the Domain Model, to get the result.
    Is that right?
    If the api was getTodaysInvoicesForChasing(), then surely it is the Domain that knows what invoices to retrieve from the Database Port and then maybe further reduces the list according to it's own rules?
    I looked at his blog codebetter.com/iancooper/2011/04/27/why-use-the... but didn't see anything there that helped me.

  • Mocks are a smell

    by Bill Turner /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Well, maybe that is a bit hyperbolic. Not all mocks are smelly. I have been frustrated with what I have seen of how mocks are used at most places I've consulted. Sadly, I have not been able to articulate this discomfort well. Now I feel better equipped. Yet, I know what I have to say will only be understood and adopted by a few while the remainder go on mocking all interactions and testing classes.
    FWIW - Gerard Meszaros has a decent presentation - www.infoq.com/presentations/tests-vocabulary - especially his insistence upon using domain language in the tests, and the examples he provides, that couples well with this presentation.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.