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

Re: [XP] write customer tests first

Expand Messages
  • J. B. Rainsberger
    ... On my perfect project, some Customer Tests are available before we start building the feature in question. Presumably someone with programming skill who
    Message 1 of 35 , Nov 1, 2004
    • 0 Attachment
      maps@... wrote:
      >
      > I'd be interested in the advantages (and maybe disadvantages) you see in codinging the acceptance tests first. Coding unit tests first (TDD) is very good documented in the different XP-books but I can find nearly nothing about test first and acceptance tests.
      > regards,

      On my perfect project, some Customer Tests are available before we start
      building the feature in question. Presumably someone with programming
      skill who works closely with the Customer helps her build those tests.
      (Customer defines, programmer builds.) These are enough tests for us to
      get the basics of the feature done.

      In the meantime, on that same perfect project, Testers look at the
      Customer Tests and identify holes where business value can leak out.
      They work with the Customer to decide how best to plug those leaks,
      resulting in additional tests, either Customer Tests or Programmer
      Tests, depending on their nature.

      One strong downside to this approach is a tendency for some people to
      confuse the goals of Customer Tests with Programmer Tests. Programmer
      Tests are meant mostly to test individual objects against collaborating
      interfaces. Boundary conditions, exceptional conditions, these should
      all be covered with Programmer Tests. Customer Tests are meant to be
      examples of how the features will be used and should behave, and so
      perhaps are not the best vehicle for doing all kinds of testing
      (boundary conditions, exceptional conditions, load, performance,
      security). If one writes the Customer Tests first and stops there, one
      runs the risk of essentially writing highly-detailed end-to-end tests,
      which suffer from the combinatoric explosion problem that Programmer
      Testing techniques like interface richness and test isolation are
      designed to avoid.

      Aside from that, I haven't seen serious problems with writing Customer
      Tests first.
      --
      J. B. (Joe) Rainsberger
      Diaspar Software Services
      http://www.diasparsoftware.com :: +1 416 791-8603
      Predictable, repeatable, quality delivery
    • Amir Kolsky
      Yup Amir Kolsky XP& Software
      Message 35 of 35 , Nov 6, 2004
      • 0 Attachment
        Yup

        Amir Kolsky
        XP& Software


        >-----Original Message-----
        >From: Kent Beck [mailto:kentb@...]
        >Sent: Sunday, November 07, 2004 6:16 AM
        >To: extremeprogramming@yahoogroups.com
        >Subject: RE: [XP] write customer tests first
        >
        >
        >I misunderstood you. My mistake. What I hear you saying now is
        >that if people are unhappy on an XP team there are serious
        >consequences. Is that accurate?
        >
        >Kent Beck
        >Three Rivers Institute
        >
        >> -----Original Message-----
        >> From: Amir Kolsky [mailto:kolsky@...]
        >> Sent: Friday, November 05, 2004 11:32 AM
        >> To: extremeprogramming@yahoogroups.com
        >> Subject: RE: [XP] write customer tests first
        >>
        >>
        >>
        >> I said: "You cannot have members of your community unahppy in XP, at
        >> least not for long." It is a matter of fact that some people
        >might be
        >> unhappy as a result of someone's actions, be it you or someone else.
        >> For example, if some new guy gets hired and he happened to sit by a
        >> CRT screen when everyone else has LCD, he'll probably be
        >unhappy. But
        >> that's acceptable. The tradeoffs between reality and happiness are
        >> always there... However, you cannot have any single member of your
        >> community unhappy for a long time as this will cause your team to be
        >> inaffective, or that person to leave.
        >>
        >> One of the worse things you can do is alienate your customer.
        >> Especially if that customer is one of many (which is
        >something that we
        >> have ran across recently). If a customer is consistently ignored he
        >> will be unhappy. You have to indulge that customer in the planning
        >> game (as the lead customer, that is) or he might turn
        >against you. In
        >> our case a customer was trying to do things the XP way (from his
        >> perspective) which went against the wish of another major player. He
        >> lost every time. Eventually he started to voice concerns that the
        >> whole project is going to fail. We had a tough time (As
        >> coaches) to make people understand that even though what he
        >asked for
        >> might not be the *exact* right thing to do next, it was the
        >> politically correct thing to do, and since this calmed
        >things down in
        >> the group, it had business value.
        >
        >
        >
        >To Post a message, send it to: extremeprogramming@...
        >
        >To Unsubscribe, send a blank message to:
        >extremeprogramming-unsubscribe@...
        >
        >ad-free courtesy of objectmentor.com
        >Yahoo! Groups Links
        >
        >
        >
        >
        >
        >
        >
        >
      Your message has been successfully submitted and would be delivered to recipients shortly.