Friday, May 31, 2013
On testing
Software development is an empirical yet inexact science. It's empirical in that we never write code without exercising it to see if there bugs. It's inexact because exhaustive testing is infeasible except for the most trivial programs--and even then, one has to wonder. And even if we could exercise the code exhaustively there still no guarantee there are no bugs since the specs could be wrong, we misinterpreted the specs, etc. While there are very formal approaches to testing, I have no data on how often they are employed or whether they are effective. It's just that testing is inherently limited by its very nature as Dijkstra observed and therein lies the dilemma. Testing is at least as difficult and probably more so than writing the software being tested. In fact, I spend most of my time and effort, not in formal testing, but informal testing without a test plan. How does that work?
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment