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

Re: [XP] Re: Ten Years of Test Driven Development

Expand Messages
  • 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 1 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 2 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 3 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 4 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.