> > > When we say "correct" I think we're saying that the > > > program corresponds to the spec as defined by our > tests > > - > > > in this case "correct" is defined by our single test > T. > > > > This is off-topic, but I find the idea of consider unit > > tests to be a specification to be one of the most > > ridiculus propositions I've ever heard. > > Users of the popular next generation BDD frameworks like > rSpec probably disagree. > http://rspec.rubyforge.org/
Looking over the project has left me all the more convinced of what I said.
> While I haven't used rSpec (but will on my next project) I > like the whole idea thinking of tests as specifications. > Because tests describe if the software is correct based on > possible scenario's. > If you have a spec that isn't tested you can't be sure the > software is correct for that spec. > If you have untested code you cannot be sure it's doing > what's specified.
Absolutely. Rspec looks interesting. It, and others like it, may be very useful tools. But they in no way replace specifications, at least not specifications that are worthwhile to generate.
But this is probably one of those semantic arguments again.