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

Re: [scrumdevelopment] Pointers to ATDD applied in a Legacy environment

Expand Messages
  • George Dinwiddie
    Jussi, ... Automating the tests in /parallel/ still counts as ATDD, in my opinion, if * The acceptance criteria examples are chosen ahead of time and known to
    Message 1 of 11 , Sep 1, 2010
    • 0 Attachment
      Jussi,

      On 9/2/10 3:34 AM, Jussi Mononen wrote:
      > Hi George,
      >
      > On 08/31/2010 02:33 AM, George Dinwiddie wrote:
      >>
      >> My experience is that it depends greatly on the particular legacy code,
      >> but my usual strategy is to
      >> * Do ATDD for new work
      >
      > We do have automated tests in our DoD for everything we do. But 99% of
      > them are done in parallel or afterwards and thus do not count as ATDD.

      Automating the tests in /parallel/ still counts as ATDD, in my opinion, if
      * The acceptance criteria examples are chosen ahead of time and known
      to the PO, the programmer, and the tester.
      * The story is not considered done until both the code and tests are
      done and passing.

      > Our (huge) system contains quite much legacy, in M.Feathers sense, as in
      > code without tests
      >
      >> * Cover existing functionality with characterization tests
      >
      > I gues we /could/ rely on our regression test suites and put more effort
      > in them when brand new features need to be developed. Much work ahead,
      > that is :)

      But incremental work. You can do characterization tests that cover
      large amounts of code with minimal testing. It won't necessarily detect
      small changes, but will alert you to major breakage. It /is/ a long
      road, but consists of simply putting one foot in front of the other, and
      doing that every day.

      > (Hm, I'm thinking I could write an experience report if we manage to
      > start doing ATDD.)

      Please do! In fact, write an experience report of your attempts even if
      you don't get all the way there. Others will find it valuable, and I
      think you'll learn lessons for the future, also.

      - George

      --
      ----------------------------------------------------------------------
      * George Dinwiddie * http://blog.gdinwiddie.com
      Software Development http://www.idiacomputing.com
      Consultant and Coach http://www.agilemaryland.org
      ----------------------------------------------------------------------
    • Jussi Mononen
      ... Mental note already made :-) -- - Agile Poodle - http://www.jussimononen.info/ - http://www.twitter.com/agilepoodle
      Message 2 of 11 , Sep 2, 2010
      • 0 Attachment
        On 09/02/2010 03:14 AM, George Dinwiddie wrote:
        >
        >> (Hm, I'm thinking I could write an experience report if we manage to
        >> start doing ATDD.)
        >
        > Please do! In fact, write an experience report of your attempts even if
        > you don't get all the way there. Others will find it valuable, and I
        > think you'll learn lessons for the future, also.

        Mental note already made :-)

        --
        - Agile Poodle
        - http://www.jussimononen.info/
        - http://www.twitter.com/agilepoodle
      • markus_hjort
        ... From test automation point of view the question is whether the current architecture allows you to write tests through some API instead of GUI. ATDD works
        Message 3 of 11 , Sep 7, 2010
        • 0 Attachment
          --- In scrumdevelopment@yahoogroups.com, Jussi Mononen <jussi.mononen@...> wrote:
          >
          > On 08/31/2010 03:44 PM, alexis.hui@... wrote:
          > >
          > > How legacy is "legacy"? I have successfully done ATDD in three
          > > environments that can be considered legacy depending on your definition:
          >
          > Hmm, ~2-300 000 LoC without unit tests, mixed platform and UI written in
          > C/C++/Java/PHP/Perl ...

          From test automation point of view the question is whether the current architecture allows you to write tests through some API instead of GUI. ATDD works best if you can write most of tests agains some API and only write some tests through UI.

          However, in many legacy systems UI and domain code is so badly mixed together that you end up writing all your tests through fragile UI. I have seen this path too many times. It usually does not work. The solution is to eventually refactor the architecture in a way it allows you to write more and more tests without UI.

          -Markus
        Your message has been successfully submitted and would be delivered to recipients shortly.