CCL: W:Re:Test driven development/XP etc. in scientific software development



 Sent to CCL by: "Chas  Simpson" [csimpson_-_hydrogen.cem.uct.ac.za]
 Thanks to Geoff Hutchison for pointing out my fairly sweeping generalisation on
 the quality and number of development tools available for Fortran and C/C++.
 Apologies, I was referring to the testing tools and I'm not really in a position
 to comment on quality of these products for Fortran or C++.
 What Im interested in are the testing techniques employed by coders in the CCL.
 As far as I recall, the likes of Charmm, Gaussian, GAMES-US, Namd, and DL_Poly
 do not employ unit tests. I could be completely wrong. However, as Geoff pointed
 out, a lot of packages do provide test simulations to ensure the overall build
 is correct. None that I know of come with testing mechanisms for the individual
 critical components, nevermind at the individual function/procedure/method
 level.
 My questions stem from the fact that in business software development there is a
 growing enthusiasm and support for test driven development (see testdriven.com
 write unit test first, write code so that the unit test passes, refractor, write
 next test ). I was wondering if this is catching on in the scientific community?
 Secondly, does anyone actively employ testers, perhaps undergraduate students in
 academia and fully fledged QA departments in industry? Finally, are other modern
 software practices being investigated, such as the use of specific software
 patterns, Agile development (agilemanifesto.org) and Extreme Programming
 (www.extremeprogramming.org)?
 With regards to the non-testing related tools (IDEs/source control/code
 generation etc) I'm interested in which are the most popular and how widely
 these are employed. Personally, Ive found that some of the IDEs are glorified
 text editors and hamper development more than anything else. Source control,
 debugger and compiler integration is often poor or non-existent (another
 sweeping generalisation?).
 Apologies if my generalisations caused any offence - none was intended.
 Thanks,
 Chas