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

Ten Years of Test Driven Development

Expand Messages
  • Steve Freeman
    Michael Feathers and I are working up a talk that will be a review of effectively 10 years of TDD. The idea is partly just to look at the history, but mainly
    Message 1 of 9 , Jan 2, 2009
    • 0 Attachment
      Michael Feathers and I are working up a talk that will be a review of
      effectively 10 years of TDD. The idea is partly just to look at the
      history, but mainly to consider what we've learned over all this time.

      We'd like all of you to do our work for us by helping to construct a
      time line. I've started a page on the C2 wiki with some strawman
      entries to get people riled up so that they'll contribute.

      http://c2.com/cgi/wiki?TenYearsOfTestDrivenDevelopment

      Please join in.

      Thanks

      S.


      Steve Freeman
      http://www.mockobjects.com

      Winner of the Agile Alliance Gordon Pask award 2006
    • David H.
      ... Might I suggest http://www.dipity.com/ for that? It will help you create a visual representation and you can link in third party content. -d -- Sent from
      Message 2 of 9 , Jan 2, 2009
      • 0 Attachment
        2009/1/2 Steve Freeman <smgfreeman@...>:
        > Michael Feathers and I are working up a talk that will be a review of
        > effectively 10 years of TDD. The idea is partly just to look at the
        > history, but mainly to consider what we've learned over all this time.
        >

        Might I suggest http://www.dipity.com/ for that? It will help you
        create a visual representation and you can link in third party
        content.

        -d


        --
        Sent from gmail so do not trust this communication.
        Do not send me sensitive information here, ask for my none-gmail accounts.

        "Therefore the considerations of the intelligent always include both
        benefit and harm." - Sun Tzu
      • Phlip
        ... When was Rails launched? It s a first for a GUI platform invented _via_ TDD, without it strapped on as an afterthought...
        Message 3 of 9 , Jan 2, 2009
        • 0 Attachment
          > Michael Feathers and I are working up a talk that will be a review of
          > effectively 10 years of TDD. The idea is partly just to look at the
          > history, but mainly to consider what we've learned over all this time.

          When was Rails launched? It's a "first" for a GUI platform invented _via_ TDD,
          without it strapped on as an afterthought...
        • Adam Sroka
          ... July 2004. It s a first for a GUI platform invented _via_ ... Although I agree Rails is notable for being one of the first to have a unit test framework
          Message 4 of 9 , Jan 2, 2009
          • 0 Attachment
            On Fri, Jan 2, 2009 at 8:26 AM, Phlip <phlip2005@...> wrote:
            >> Michael Feathers and I are working up a talk that will be a review of
            >> effectively 10 years of TDD. The idea is partly just to look at the
            >> history, but mainly to consider what we've learned over all this time.
            >
            > When was Rails launched?

            July 2004.

            It's a "first" for a GUI platform invented _via_
            > TDD,
            > without it strapped on as an afterthought...

            Although I agree Rails is notable for being one of the first to have a
            unit test framework baked in, I'm not sure that it's the first example
            of a test-driven GUI. Either way, it does belong on the timeline.
          • Phlip
            ... The ideal would be TDD used to invent the entire stack - the display drivers, the GUI toolkit widgets, the presentation system, the scripting language, and
            Message 5 of 9 , Jan 2, 2009
            • 0 Attachment
              Adam Sroka wrote:

              > Although I agree Rails is notable for being one of the first to have a
              > unit test framework baked in, I'm not sure that it's the first example
              > of a test-driven GUI. Either way, it does belong on the timeline.

              The ideal would be TDD used to invent the entire stack - the display drivers,
              the GUI toolkit widgets, the presentation system, the scripting language, and
              the high-end frameworks.

              What Rails did was apply TDD on top of klutzy, TDD-hostile systems - HTML, HTTP,
              and JavaScript. You don't have to build your own mock servers and stuff. If you
              don't waste time baking your own bricks on-site, the entry barriers to TDD are
              much lower.

              So Rails has converted one of the hardest TDD situations into one of the easiest.

              --
              Phlip
            • Adam Sroka
              ... I don t know about display drivers. Those are so tied to the hardware. It s hard enough to get vendors to open source that code, let alone asking them to
              Message 6 of 9 , Jan 2, 2009
              • 0 Attachment
                On Fri, Jan 2, 2009 at 8:50 AM, Phlip <phlip2005@...> wrote:
                > Adam Sroka wrote:
                >
                >> Although I agree Rails is notable for being one of the first to have a
                >> unit test framework baked in, I'm not sure that it's the first example
                >> of a test-driven GUI. Either way, it does belong on the timeline.
                >
                > The ideal would be TDD used to invent the entire stack - the display
                > drivers,
                > the GUI toolkit widgets, the presentation system, the scripting language,
                > and
                > the high-end frameworks.
                >

                I don't know about display drivers. Those are so tied to the hardware.
                It's hard enough to get vendors to open source that code, let alone
                asking them to test-drive it. It might be nice, but I'm not holding my
                breath. Plus, I'm fairly confident that I, personally, will never have
                to write those ;-) Otherwise, I'm right with you.

                > What Rails did was apply TDD on top of klutzy, TDD-hostile systems - HTML,
                > HTTP,
                > and JavaScript. You don't have to build your own mock servers and stuff. If
                > you
                > don't waste time baking your own bricks on-site, the entry barriers to TDD
                > are
                > much lower.
                >
                > So Rails has converted one of the hardest TDD situations into one of the
                > easiest.
                >

                Okay. I see what you mean now.

                Actually, testing HTML and HTTP was always quite easy in Ruby (and
                before it, Perl) even before Rails came along. It is a pain in the ass
                in some other languages - Java for instance, but that is because they
                insist on using heavy-handed XML techniques to parse/generate HTML and
                the servlet API to handle HTTP.

                The crappy thing about testing web GUIs is that the output is just
                text. What we really care about is how the browser interprets that
                text, and Rails doesn't really solve that problem (Though if you
                combine it with something like Selenium or Firewatir you can get
                there. And, now there is FireUnit which *rules*.)

                Rails makes a lot of things easy, and TDD is certainly one of them. On
                the other hand, Rails also makes it easy for those who don't like to
                test to get away with saying, "We have unit tests." Even though the
                only tests they have are the stubs that the framework generates, which
                they never touch. I have found this amusing, but also annoying.
              • Phlip
                ... I believe that s just vendor lock-in . They don t want you to rip a page but then send it out some other vendor s web server. So they play games with the
                Message 7 of 9 , Jan 2, 2009
                • 0 Attachment
                  Adam Sroka wrote:

                  > Actually, testing HTML and HTTP was always quite easy in Ruby (and
                  > before it, Perl) even before Rails came along. It is a pain in the ass
                  > in some other languages - Java for instance, but that is because they
                  > insist on using heavy-handed XML techniques to parse/generate HTML and
                  > the servlet API to handle HTTP.

                  I believe that's just "vendor lock-in". They don't want you to rip a page but
                  then send it out some other vendor's web server. So they play games with the
                  libraries that render a page - all at incredible expense to TDD.

                  > The crappy thing about testing web GUIs is that the output is just
                  > text. What we really care about is how the browser interprets that
                  > text, and Rails doesn't really solve that problem (Though if you
                  > combine it with something like Selenium or Firewatir you can get
                  > there. And, now there is FireUnit which *rules*.)

                  The crappy thing about unit tests on text is they can fail when the wind blows.

                  To put two weaknesses together to make a strength, you just make sure your tests
                  fail more often than your browser would have failed. That's not accurate, but it
                  provides enough resistance that you can still go very fast.

                  --
                  Phlip
                • Doug Swartz
                  ... I added Kent s creation of SUnit in 1994 to the prehistory section. -- Doug Swartz
                  Message 8 of 9 , Jan 2, 2009
                  • 0 Attachment
                    Friday, January 02, 2009, 9:29:30 AM, Steve Freeman wrote:

                    > Michael Feathers and I are working up a talk that will be a review of
                    > effectively 10 years of TDD. The idea is partly just to look at the
                    > history, but mainly to consider what we've learned over all this time.

                    > We'd like all of you to do our work for us by helping to construct a
                    > time line. I've started a page on the C2 wiki with some strawman
                    > entries to get people riled up so that they'll contribute.

                    > http://c2.com/cgi/wiki?TenYearsOfTestDrivenDevelopment

                    > Please join in.

                    I added Kent's creation of SUnit in 1994 to the prehistory
                    section.

                    --

                    Doug Swartz
                  • Brad Appleton
                    I would think that the creation/release of Ward s FIT framework (and of ObjectMentor s FitNesse) should be part of the time-line. When were those? What about
                    Message 9 of 9 , Jan 3, 2009
                    • 0 Attachment
                      I would think that the creation/release of Ward's FIT framework (and of
                      ObjectMentor's FitNesse) should be part of the time-line. When were those?

                      What about the creation of testdriven.com? (was that the first website
                      devoted exclusively to all things TDD?)

                      --
                      Brad Appleton <brad {AT} bradapp.net>
                      Agile CM Environments (http://blog.bradapp.net/)
                      & Software CM Patterns (www.scmpatterns.com)
                      "And miles to go before I sleep" -- Robert Frost
                    Your message has been successfully submitted and would be delivered to recipients shortly.