Loading ...
Sorry, an error occurred while loading the content.

Re: [XP] Re: Unit vs Integration TDD

Expand Messages
  • J. B. Rainsberger
    On Sat, Nov 1, 2008 at 5:42 PM, Ron Jeffries ... Full agreement. Maybe you misinterpreted my words. Not /all/ complexity is accidental. Eventually, no matter
    Message 1 of 36 , Nov 1, 2008
    • 0 Attachment
      On Sat, Nov 1, 2008 at 5:42 PM, Ron Jeffries
      <ronjeffries@...> wrote:
      > Hello, J.. On Saturday, November 1, 2008, at 5:16:36 PM, you
      > wrote:
      >
      >>> Perhaps the problem is having the permutations.
      >
      >> Not all complexity is accidental. Much, maybe most, but not all.
      >
      > I think most complexity is created by poor design.

      Full agreement. Maybe you misinterpreted my words.

      Not /all/ complexity is accidental. Eventually, no matter how well you
      improve the design, there will remain some (meaning more than say 4)
      permutations to test. If not, maybe the problem we're solving is too
      boring.

      Take care.
      --
      J. B. (Joe) Rainsberger :: http://www.jbrains.ca
      Your guide to software craftsmanship
      JUnit Recipes: Practical Methods for Programmer Testing
      2005 Gordon Pask Award for contribution Agile Software Practice
    • Rick Mugridge
      ... I believe that it s not the scale of the test that should determine who writes it. It s instead whether the tests expresses stuff that s part of the
      Message 36 of 36 , Nov 8, 2008
      • 0 Attachment
        J. B. Rainsberger wrote:
        > I suggest programmers focus on isolated object tests and testers focus
        > on integration and end-to-end tests. If they do that, then they'll
        > come together pretty well at some point.
        > ----

        I believe that it's not the scale of the test that should determine who
        writes it.

        It's instead whether the tests expresses stuff that's part of the
        problem space or part of the solution space. Of course, where that
        boundary sits is critically dependent on the project and who is
        involved. And it changes as the problem, and solution, are better
        understood.

        And there can be several layers, with a solution space at one level
        being a problem space at another. So, for example, I'm happy to use
        storytests for specifying the technical details of communication with
        another system that is managed by another team. And I'm happy to have
        some storytests that mock out that other system so that we can use
        additive "specification"/testing rather than multiplicative across the
        systems. As always, we still need some end-to-end to ensure it's all
        wired together correctly and that failure modes across them are managed
        correctly.

        So I find the usual distinctions between unit tests and end-to-end tests
        and X, Y, Z tests to be unhelpful. As it's too late and too hard to
        refactor the terminology, I try (unsuccessfully) to avoid it.

        I prefer Brian Marick's distinction between customer-facing and
        programmer-facing tests.

        Cheers, Rick
      Your message has been successfully submitted and would be delivered to recipients shortly.