Welcome to the Monastery | |
PerlMonks |
Re: RFC: Tutorial on Testingby BrowserUk (Patriarch) |
on Sep 18, 2004 at 12:42 UTC ( [id://391986]=note: print w/replies, xml ) | Need Help?? |
I skipped by this the first time around. I think your original title put me off. I'm very glad it was re-titled. I'm even more glad that I took the time to read it. This is a test tool worthy of occupying space in the rather lack lustre Test::* namespace--even if the name itself is somewhat mysterious :) I think that this could easily have been called Test::Smart. In keeping with a local advertising slogan that reads: "Work smarter, not harder". It's too early days yet in my understanding of Test::LectroTest (So good, it tests
Overall, The tutorial was extremely readable--which I consider very important in such material; methodical accuracy is of little good if noone reads it--, and a damn good advert for the both the module, but more importantly, the methodologyy it uses. I've expressed my doubts over the efficacy of the types of testing possible using most of the Test::* modules. Part of the problem is that this is another of those areas where "more" rarley equates to "better". It is also the case that when tests are coded by the same person that writes the code, they tend to concetrate the tests on those areas of the code that they spent most time thinking about. Often this works out to be the areas that they had most trouble coding. Inevitably, it's the areas that they spent least time thinking about that need most testing. In an ideal world, we would all have a test engineer to design/code our tests for us, but that is an increasingly rare situation. Using a test module that takes input in a generalised form and then randomly distributes the tests is a real step forward (IMO). If this methodology can be combined with DBC constraints, it would further lift the testing away from the assumptions of the coder. Allowing the designer (often as not, the coder wearing a different hat) to specify the function in terms of constraints applied to the inputs, and then allow a module such as this to take over the testing from there. Ultimately, if the actual test values could be accumulated and analysed, you would have the basis of a viable quality metric.
In Section
Meditations
|
|