Tuesday, November 2, 2010

#1 Testing Proposition: Our Opinion Counts

This is the first of a series of posts aiming at sharing some thoughts on testing with you that are inspired by the interviews during the Eclipse testing study. I formulate the thoughts as statements allowing you to express your opinion. Do you agree/disagree? Have you experienced otherwise? Please feel free to use also the comments to express your opinion in some more words and to foster a discussion on this topic.

These statements must not express opinions and experiences from individual participants.

The first proposition is concerned with the point in time when testing should take place and stands in contrast to test driven development that propagates a test first approach. The proposition is concerned with the overhead caused by writing test code very early in the development phase.

Questions raised are: “Does focusing too much on testing immature components hinder further code development because the tests will need to be changed whenever the component is refactored or adjusted? Therefore, should test code evolve over time and with the maturity of the component under test? Or should be writing test code the first priority when developing new functionality?”

Now it's your turn. Do you agree or disagree with the following proposition?

4 comments:

  1. if you are not testing how can you be sure it works? ok, for trivia it is not needed, but in the wilderness this is rare.

    ReplyDelete
  2. What do you mean with young? Hours, days, weeks?

    ReplyDelete
  3. This is a very good question. Still, I cannot give a concrete answer to your question, because the definition of young or the point in time when you should start testing is part of the subject under discussion.

    But to clarify a bit the term young: The youngest component would be one that is not written yet. The next point in time would be when there is already code. How much code (starting from none) should exist and how stable should that code be before you focus on testing, that is part of the discussion. Nevertheless, the proposition argues in contrast to a test first approach, thus against focusing on writing the tests before you write the code, and goes even further to argue that as long as the component is still changing a lot testing could be contra-productive. What do you think how “old”, or stable should the component be?

    ReplyDelete
  4. As long as you consider the young code sort of a spike, testing is optional. As soon as you are thinking of making production code, the test is not optional anymore because the test drives the design. No test -> no design.

    ReplyDelete