October 28, 2008 at 8:57 pm #2360
A recent poll on unit testing found that despite the fact that the number of TDD adopters has grown nicely since the previous survey, unit testing is still widely conducted in a informal manner, when it is not simply ignored by developers. This poll examined how organizations perform unit testing. Is it an informal activity that is done before integration if there is some time left after programming or is it the key element of the development effort? The question was: How is unit testing performed at your location?
Answers 2008 (2006)
Unit testing is not performed: 17% (13%)
Unit testing is informal: 40% (46%)
Unit tests cases are documented: 9% (11%)
Unit tests cases and their executions are documented: 14% (16%)
We use a Test Driven Development approach: 20% (14%)
Participants: 384 (2006:460)
Ending date: October 2008 (February 2006)
Source: Methods & Tools ([url:2ng3th4e]http://www.methodsandtools.com/[/url:2ng3th4e])
Despite the fact that the number of TDD adopters has grown nicely since the previous survey, you can notice that unit testing is still widely conducted in a informal manner, when it is not simply ignored by developers. This could sound weird when many people announced a general adoption of the agile approaches, but the results of our survey are similar to many other polls on the same topic.
Comparing the two surveys, it seems that people that were already doing unit testing formally have switched towards a TDD approach. People that dont do unit testing have different reasons. Some will consider simply that they dont add value to their development process, which is sometimes difficult to believe. For others, it is the lack of time, a reason more easier to understand ;o) Many complains that unit test are hard to write, but creating a good unit test is a proof that you understand what your code should do. I agree however, that it could be difficult to maintain large libraries of unit testing scripts if requirements are changing constantly. In the “good” reasons not to perform unit testing, some thinks for instance that the client side of Web application is not suited for this kind of tests. There are also some organizations that have separate testing teams. Their developers will rely entirely on the QA guys to test their application. You can also consider that when the software has a very limited life expectancy, it is not worth making unit tests.May 30, 2009 at 12:05 am #2361
Thanks for the the topic.
[url=http://softwareqatestings.com:1509en08]Software testing tutorial[/url:1509en08]October 13, 2009 at 12:08 pm #2362
TDD is one of the best practices of Agile – XP, which helps reduce / detect defects early in the project life cycle, thus reducing the cost of rework.
Benefits of Test Driven Design / Development would be derived if the implementation is effective with the use of Automated Unit testing tools.
Automated Unit testing tools helps to reduce the cycle time for every refactoring / changes to requirements.
Best Practices suggest that Automated scripts for unit testing are written for requirements that are quite anticipated to change and manual testing is suggested for requirements that are stable. It is only a recommended practice, but a cautious judgement needs to be taken based on the situational occurences
You must be logged in to reply to this topic.