Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

12
  • 10
    I like your first statement, to test just the relevant things. Regarding the efficiency of manual vs unit testing, I don't believe my statement is entirely false, nor your's is entirely true. Seems there's a balance to be found between automatic and manual testing to achieve maximum efficiency. Commented Apr 8, 2011 at 16:38
  • 11
    @Ken Pespisa: Sorry. I drank the TDD Kool-Aid about two years ago (after 30 years of test-last). Now I'm stuck on test-first. It made me much, much more productive because I have less thinking to do when building. Commented Apr 8, 2011 at 16:42
  • 26
    Consider unit testing the interface not the implementation details. Test the limits and border cases. Test the risky code. Lots of code is simple enough to verify by inspection, although inspecting your code is more error prone than inspecting someone else's code. The first time manual tests may be more efficient, by the tenth time automated tests are way ahead. Commented Apr 8, 2011 at 17:21
  • 15
    "The code's not done until the tests pass" - Not really, IMO. Code starts when it passes the tests. Code is not done until it's been live for a year or two and been subject to stress tests and integration tests with large, active and impatient user base. That is the only testing that really counts. Commented Jun 16, 2013 at 5:15
  • 7
    @Vector - This might be true for web applications, but not in general. I don't want to be the user who finds a bug in a flight control software 20,000ft above ground. Commented Aug 2, 2017 at 8:38