Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. YAQRTDD

YAQRTDD

Scheduled Pinned Locked Moved The Lounge
questiontestingc++ai-testingbeta-testing
5 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    alex barylski
    wrote on last edited by
    #1

    Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!

    M A P 3 Replies Last reply
    0
    • A alex barylski

      Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #2

      Hockey wrote: What is the purpose of TDD? IMO, the purpose of TDD is six-fold (at least, the major points): 1. formalize testing 2. enforce testing as part of the implementation process 3. improve test repeatability 4. formally document test results 5. "document through code" usage/tests 6. automate testing in conjunction with a test engine If you want more elaboration/discussion, shoot! However, the above 6 points don't necessarily require a TDD approach--there are other ways to the skin the cat as well. But these are (or should be) the goals of TDD. Marc My website Traceract Understanding Simple Data Binding Diary Of A CEO - Preface

      1 Reply Last reply
      0
      • A alex barylski

        Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!

        A Offline
        A Offline
        Andy Brummer
        wrote on last edited by
        #3

        To restate Marc's #2 point, TDD makes it much more likely you will do more then just test the one little thing you changed when you change one little thing. It's all those 2 minute fixes that cause you to spend 3 days debugging a week later that TDD helps to eliminate. If you buy into the XP manifesto, then you accept that debugging and integrating changes into the system are where most development time ends up being spent. Agile methods try to reduce this wasted time as much as possible. 20 minutes time up front setting up tests means that 2 minute fix takes 10 minutes in reality once you fix the tests you broke rather then many hours later because you didn't discover what you broke until it is too late.


        I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon

        1 Reply Last reply
        0
        • A alex barylski

          Yet another question regarding TDD... I have read the few resources sent to me in an earlier message and now I have a more specific question. What is the purpose of TDD? I mean, where is this method any better than say... Recording return values from functions in a log file? Don't exceptions or ASSERTS in MFC basically do the same thing for you? I suppose that a framework for automated testing would make entering the test data alot easier (being automated and all). Is that the point behind TDD? It's frustrating being a genius and living the life of a moron!!!

          P Offline
          P Offline
          Paul Watson
          wrote on last edited by
          #4

          Marc and Brummer answered well. There is one last thing I want to cover. Agile development assimilates a lot of good practices that rabid anti-Agile developers have been doing for decades. A lot of it is common sense, but written down. A lot of it is things we already do, but formalised. A lot of it is stuff we know, but given a name. The same has happened with AJAX in the web-development world. A set of existing technologies have been wrapped up into a handy label and re-marketed. Most of us appreciate it because it drives forward understanding of it and spreads good practices and interesting technology. But there are a subset of web-developers who are just throwing scorn on the name because they have been using the technologies for many years already. So with TDD I'd take the new, remember the old and carry on. It is not revolutionary and you aren't missing anything if most of it seems familiar. regards, Paul Watson South Africa Colib and WebTwoZero. K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

          M 1 Reply Last reply
          0
          • P Paul Watson

            Marc and Brummer answered well. There is one last thing I want to cover. Agile development assimilates a lot of good practices that rabid anti-Agile developers have been doing for decades. A lot of it is common sense, but written down. A lot of it is things we already do, but formalised. A lot of it is stuff we know, but given a name. The same has happened with AJAX in the web-development world. A set of existing technologies have been wrapped up into a handy label and re-marketed. Most of us appreciate it because it drives forward understanding of it and spreads good practices and interesting technology. But there are a subset of web-developers who are just throwing scorn on the name because they have been using the technologies for many years already. So with TDD I'd take the new, remember the old and carry on. It is not revolutionary and you aren't missing anything if most of it seems familiar. regards, Paul Watson South Africa Colib and WebTwoZero. K(arl) wrote: oh, and BTW, CHRISTIAN ISN'T A PARADOX, HE IS A TASMANIAN!

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #5

            Paul Watson wrote: A set of existing technologies have been wrapped up into a handy label and re-marketed. hehe. Like XAML? Marc My website Traceract Understanding Simple Data Binding Diary Of A CEO - Preface

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups