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

Re: [XP] Examples of good acceptance test criteria

Expand Messages
  • George Dinwiddie
    Adam, ... I would. Sometimes I need to facilitate the conversation with myself. I find that expressing the business problem in english is often better for
    Message 1 of 17 , Jul 23 7:55 AM
      Adam,

      On 7/22/13 9:21 PM, Adam Sroka wrote:
      > I'm not sure how this is a response to what I wrote. If your point is that
      > the customer needs to be the one driving the scenarios then you are
      > preaching to the choir. Although, I would never email them the scenarios. I
      > would insist on a face-to-face conversation.
      >
      > I would never use Cucumber to write tests for myself or my fellow
      > programmers. I would use something like RSpec or xUnit for that. Cucumber
      > is for facilitating conversations with customers. If the customer is not
      > involved then it is the wrong tool (And quite likely the wrong project.)

      I would. Sometimes I need to facilitate the conversation with myself. I
      find that expressing the business problem in "english" is often better
      for that than expressing it in code.

      If the Customer is not involved, that's a different problem. Getting the
      Customer involved may take more than just a BDD/ATDD tool. ;-)

      - George

      P.S. Nice examples, Phlip.

      >
      >
      > On Mon, Jul 22, 2013 at 8:44 PM, Phlip <phlip2005@...> wrote:
      >
      >> **
      >>
      >>
      >>> Note that while Cucumber is an excellent tool compatible with many
      >>> different programming languages you don't need to be using Cucumber to
      >>> benefit from writing your scenarios this way. There are also alternative
      >>> tools that use similar syntax.
      >>
      >> When I wrote Morelia viridis (a Python clone for Cucumber, in like 5%
      >> of the lines of code), I was not working with an XP team. But the only
      >> point of Cucumber notation ("Gherkin") is to let an onsite customer
      >> read and write the scenarios as business rules, without the extra
      >> clutter that a real programming language drags in.
      >>
      >> But one of my assignments went something like this: "If the customer
      >> orders up to 4 tee-shirts and one speed-suit, stick them all in a
      >> one-wet-suit box. But if they order two speed-suits, put these into a
      >> wet-suit box. If they order two speed-suits and a wet-suit, put them
      >> in a two-wet-suit box." And so on.
      >>
      >> I wrote all that up as Cucumber scenarios, passed them, and e-mailed them
      >> out.
      >>
      >> Our client emailed back one of the scenarios emended (4 tee-shirts & 1
      >> wet-suit in a single wet-suit box), and I entered that and passed it.
      >>
      >> _that_ is what Cucumber is for. And that's why DHH wrote a post
      >> flaming Cucumber, because he's tired of seeing everyone use it wrong.

      --
      Want to speak at AgileDC October 8, 2013? http://agiledc.org/speak/
      ----------------------------------------------------------------------
      * George Dinwiddie * http://blog.gdinwiddie.com
      Software Development http://www.idiacomputing.com
      Consultant and Coach http://www.agilemaryland.org
      ----------------------------------------------------------------------
    • Adam Sroka
      On Tue, Jul 23, 2013 at 10:55 AM, George Dinwiddie ... Both are valid choices, and I have a lot of other friends who would do that too. I am a bit weary of
      Message 2 of 17 , Jul 23 8:37 AM
        On Tue, Jul 23, 2013 at 10:55 AM, George Dinwiddie
        <lists@...>wrote:

        > **
        >
        >
        > Adam,
        >
        >
        > On 7/22/13 9:21 PM, Adam Sroka wrote:
        > > I'm not sure how this is a response to what I wrote. If your point is
        > that
        > > the customer needs to be the one driving the scenarios then you are
        > > preaching to the choir. Although, I would never email them the
        > scenarios. I
        > > would insist on a face-to-face conversation.
        > >
        > > I would never use Cucumber to write tests for myself or my fellow
        > > programmers. I would use something like RSpec or xUnit for that. Cucumber
        > > is for facilitating conversations with customers. If the customer is not
        > > involved then it is the wrong tool (And quite likely the wrong project.)
        >
        > I would. Sometimes I need to facilitate the conversation with myself. I
        > find that expressing the business problem in "english" is often better
        > for that than expressing it in code.
        >
        >
        Both are valid choices, and I have a lot of other friends who would do that
        too. I am a bit weary of Cucumber for at least three reasons: 1) it adds
        additional complexity to my test suite, 2) as the system grows in
        complexity step definitions can collide and this takes additional effort to
        resolve, 3) there is no guarantee that step definitions actually mean what
        the english they are matching to suggests they mean and this takes
        additional effort to ensure.

        I am willing to accept the extra work implied by those issues if my
        customer is willing to invest effort helping to write and maintain the
        Gherkin. If they aren't then I will just avoid them by using a tool that is
        closer to the code. RSpec is pretty darn close to english, and I can get
        pretty close with xUnit as well (with a few exceptions, depending on the
        specific tool.)


        > If the Customer is not involved, that's a different problem. Getting the
        > Customer involved may take more than just a BDD/ATDD tool. ;-)
        >
        >
        Absolutely, and regardless of whether I am using Cucumber or not I am not
        going to take money from a customer who isn't willing to be engaged in the
        development of their product. Some customers need their hands held just to
        write stories, others are willing to learn and maintain Gherkin, and there
        are several levels in between.


        [Non-text portions of this message have been removed]
      • Steven Gordon
        ... And there are many customers who will delegate the details of writing and maintaining Gherkin to non-programmer intermediaries like BAs or Testers. As long
        Message 3 of 17 , Jul 23 9:14 AM
          On Tue, Jul 23, 2013 at 8:37 AM, Adam Sroka <adam.sroka@...> wrote:

          > **
          >
          >
          > On Tue, Jul 23, 2013 at 10:55 AM, George Dinwiddie
          > <lists@...>wrote:
          >
          > > **
          >
          > >
          > >
          > > Adam,
          > >
          > >
          > > On 7/22/13 9:21 PM, Adam Sroka wrote:
          > > > I'm not sure how this is a response to what I wrote. If your point is
          > > that
          > > > the customer needs to be the one driving the scenarios then you are
          > > > preaching to the choir. Although, I would never email them the
          > > scenarios. I
          > > > would insist on a face-to-face conversation.
          > > >
          > > > I would never use Cucumber to write tests for myself or my fellow
          > > > programmers. I would use something like RSpec or xUnit for that.
          > Cucumber
          > > > is for facilitating conversations with customers. If the customer is
          > not
          > > > involved then it is the wrong tool (And quite likely the wrong
          > project.)
          > >
          > > I would. Sometimes I need to facilitate the conversation with myself. I
          > > find that expressing the business problem in "english" is often better
          > > for that than expressing it in code.
          > >
          > >
          > Both are valid choices, and I have a lot of other friends who would do that
          > too. I am a bit weary of Cucumber for at least three reasons: 1) it adds
          > additional complexity to my test suite, 2) as the system grows in
          > complexity step definitions can collide and this takes additional effort to
          > resolve, 3) there is no guarantee that step definitions actually mean what
          > the english they are matching to suggests they mean and this takes
          > additional effort to ensure.
          >
          > I am willing to accept the extra work implied by those issues if my
          > customer is willing to invest effort helping to write and maintain the
          > Gherkin. If they aren't then I will just avoid them by using a tool that is
          > closer to the code. RSpec is pretty darn close to english, and I can get
          > pretty close with xUnit as well (with a few exceptions, depending on the
          > specific tool.)
          >
          >
          > > If the Customer is not involved, that's a different problem. Getting the
          > > Customer involved may take more than just a BDD/ATDD tool. ;-)
          > >
          > >
          > Absolutely, and regardless of whether I am using Cucumber or not I am not
          > going to take money from a customer who isn't willing to be engaged in the
          > development of their product. Some customers need their hands held just to
          > write stories, others are willing to learn and maintain Gherkin, and there
          > are several levels in between.
          >
          >
          And there are many customers who will delegate the details of writing and
          maintaining Gherkin to non-programmer intermediaries like BAs or Testers.
          As long as the customer and those intermediaries are active participants in
          the project, especially in the conversation about each story, that can work
          fine. Leveraging a language that non-programmers can read helps align
          everybody's understanding.

          SteveG


          [Non-text portions of this message have been removed]
        • Adam Sroka
          ... Sure, as long as the BAs and/or testers are part of a whole team and not a distinct group that is physically separate. It is possible to teach testers to
          Message 4 of 17 , Jul 23 9:29 AM
            On Tue, Jul 23, 2013 at 12:14 PM, Steven Gordon <sgordonphd@...>wrote:

            > **
            >
            >
            > On Tue, Jul 23, 2013 at 8:37 AM, Adam Sroka <adam.sroka@...> wrote:
            > >
            > >
            > > On Tue, Jul 23, 2013 at 10:55 AM, George Dinwiddie
            > > <lists@...>wrote:
            > >
            > >
            > > > If the Customer is not involved, that's a different problem. Getting
            > the
            > > > Customer involved may take more than just a BDD/ATDD tool. ;-)
            > > >
            > > >
            > > Absolutely, and regardless of whether I am using Cucumber or not I am not
            > > going to take money from a customer who isn't willing to be engaged in
            > the
            > > development of their product. Some customers need their hands held just
            > to
            > > write stories, others are willing to learn and maintain Gherkin, and
            > there
            > > are several levels in between.
            > >
            > >
            > And there are many customers who will delegate the details of writing and
            > maintaining Gherkin to non-programmer intermediaries like BAs or Testers.
            > As long as the customer and those intermediaries are active participants in
            > the project, especially in the conversation about each story, that can work
            > fine. Leveraging a language that non-programmers can read helps align
            > everybody's understanding.
            >
            >
            Sure, as long as the BAs and/or testers are part of a whole team and not a
            distinct group that is physically separate.

            It is possible to teach testers to write and maintain Gherkin. I have done
            it. It is also possible to train BAs to act as effective customer proxies.
            Neither is as good as the active participation of an actual onsite
            customer, though.


            [Non-text portions of this message have been removed]
          • Adam Sroka
            P.S. and, as you suggest, if both the BA/tester and the customer are active participants then that is even better, because BAs and testers bring skills to
            Message 5 of 17 , Jul 23 9:32 AM
              P.S. and, as you suggest, if both the BA/tester and the customer are active
              participants then that is even better, because BAs and testers bring skills
              to writing the Gherkin that the customer may not have


              On Tue, Jul 23, 2013 at 12:29 PM, Adam Sroka <adam.sroka@...> wrote:

              >
              >
              >
              > On Tue, Jul 23, 2013 at 12:14 PM, Steven Gordon <sgordonphd@...>wrote:
              >
              >> **
              >>
              >>
              >> On Tue, Jul 23, 2013 at 8:37 AM, Adam Sroka <adam.sroka@...> wrote:
              >> >
              >> >
              >> > On Tue, Jul 23, 2013 at 10:55 AM, George Dinwiddie
              >> > <lists@...>wrote:
              >> >
              >> >
              >>
              >> > > If the Customer is not involved, that's a different problem. Getting
              >> the
              >> > > Customer involved may take more than just a BDD/ATDD tool. ;-)
              >> > >
              >> > >
              >> > Absolutely, and regardless of whether I am using Cucumber or not I am
              >> not
              >> > going to take money from a customer who isn't willing to be engaged in
              >> the
              >> > development of their product. Some customers need their hands held just
              >> to
              >> > write stories, others are willing to learn and maintain Gherkin, and
              >> there
              >> > are several levels in between.
              >> >
              >> >
              >> And there are many customers who will delegate the details of writing and
              >> maintaining Gherkin to non-programmer intermediaries like BAs or Testers.
              >> As long as the customer and those intermediaries are active participants
              >> in
              >> the project, especially in the conversation about each story, that can
              >> work
              >> fine. Leveraging a language that non-programmers can read helps align
              >> everybody's understanding.
              >>
              >>
              > Sure, as long as the BAs and/or testers are part of a whole team and not a
              > distinct group that is physically separate.
              >
              > It is possible to teach testers to write and maintain Gherkin. I have done
              > it. It is also possible to train BAs to act as effective customer proxies.
              > Neither is as good as the active participation of an actual onsite
              > customer, though.
              >


              [Non-text portions of this message have been removed]
            • JackM
              Thanks Ron, I ll see what I can pull together. Jack
              Message 6 of 17 , Jul 26 10:44 AM
                Thanks Ron,

                I'll see what I can pull together.

                Jack

                --- In extremeprogramming@yahoogroups.com, Ron Jeffries <ronjeffries@...> wrote:
                >
                > Hi Jack,
                >
                > On Jul 22, 2013, at 3:16 PM, "JackM" <jack@...> wrote:
                >
                > > I am looking for really good examples of acceptance test criteria so that I can help the PO's and Teams to understand what makes really good acceptance test criteria.
                >
                >
                > In addition to the reading suggested already, how about you tell us some of your user stories and we'll brainstorm some tests.
                >
                > Ron Jeffries
                > www.XProgramming.com
                > If it is more than you need, it is waste. -- Andy Seidl
                >
                >
                >
                > [Non-text portions of this message have been removed]
                >
              Your message has been successfully submitted and would be delivered to recipients shortly.