[BioPython] Re: UnitTests

Jeffrey Chang jchang@SMI.Stanford.EDU
Mon, 17 Apr 2000 12:48:45 -0700 (PDT)


I've freely cut out bits and pieces of the original emails, and left the
parts that are most relevant (I hope).


On Mon, 17 Apr 2000, Andrew Dalke wrote:

> I had forgotten that when I've had QA support before, the
> QA tests were different than the developer tests.  Our QA people
> weren't coders, so weren't writing directly against the
> libraries, but instead did functional tests against what the
> user saw.  I had assumed that QA code testing directly against
> APIs would be the same as the way I write against, but that's
> a likely wrong assumption.

I think this is an important insight.  Testing code is written for
different purposes from various viewpoints.  For example, the testing
stuff that comes with Python is good for a quick pre-flight check to make
sure everything's working.  However, it's less useful for developers who
may want to isolate a portion of the tests that run against a part of a
module that they're working on, sacrificing (for the moment) completeness
for speed.

Testing from the end-user's expectations of the results is another story,
too.

But all this is obvious.


> And as she said,
> > We'll need all the testing we can get, however it's done.  
> 
> Combined with
> > I like the [test] coding decisions to be as automatic as possible
> 
> > PyUnit only claims to be a unit testing tool.
> and
> > I have no problems with others using a different approach.
> 
> means (to me) it should be easy for both QA and coders to add test
> codes, and if that isn't the same framework, so be it.  Working
> test code is better than less test code and a single framework.
> As I pointed out, it's even possible to wrap one unit test viewpoint
> inside the other, so how about I help work on a way to get the
> code I've got easily accessible to your UnitTest code?

Sounds like a good plan.  BTW, starship is still down, so I'm still unable
to get Andrew's code and integrate it with the CVS tree.  Do you both have
write-able CVS access, so that you can work on the main repository?


Jeff