Jeff Garzik [ARCHIVE] on Nostr: 📅 Original date posted:2012-09-26 📝 Original message:On Wed, Sep 26, 2012 at ...
📅 Original date posted:2012-09-26
📝 Original message:On Wed, Sep 26, 2012 at 12:06 PM, Mark Friedenbach <mark at monetize.io> wrote:
> Certainly developers should be responsible for making sure that regression
> tests for bugs they fix make it either into the unit tests or Matt's
> functional test repository. QA should hold them accountable for that
> (re-opening tickets for bugs that have been fixed but without regression
> tests).
As a goal or general principle, this is agreeable.
But slavish attention to this will only get ignored. There is finite
developer resources, and regression tests for certain types of bugs,
like prickly P2P network interaction bugs or RPC API bugs, could
potentially involve many days or weeks of coding, to sufficiently
simulate the environment. The ability to easily, automatically and
programmatically reproduce certain classes of bugs is simply out of
reach right now, and nobody is going to shut down development to fix
that problem.
We should move towards this direction, yes, but bitcoin test cases are
not always going to be as easy as writing (say) a compiler testcase.
We can always use the help of a few good QA coders: simulating a P2P
environment and checking the RPC API are two examples of very
complicated problems that -can- be automated for testing... with a lot
of work.
--
Jeff Garzik
exMULTI, Inc.
jgarzik at exmulti.com
📝 Original message:On Wed, Sep 26, 2012 at 12:06 PM, Mark Friedenbach <mark at monetize.io> wrote:
> Certainly developers should be responsible for making sure that regression
> tests for bugs they fix make it either into the unit tests or Matt's
> functional test repository. QA should hold them accountable for that
> (re-opening tickets for bugs that have been fixed but without regression
> tests).
As a goal or general principle, this is agreeable.
But slavish attention to this will only get ignored. There is finite
developer resources, and regression tests for certain types of bugs,
like prickly P2P network interaction bugs or RPC API bugs, could
potentially involve many days or weeks of coding, to sufficiently
simulate the environment. The ability to easily, automatically and
programmatically reproduce certain classes of bugs is simply out of
reach right now, and nobody is going to shut down development to fix
that problem.
We should move towards this direction, yes, but bitcoin test cases are
not always going to be as easy as writing (say) a compiler testcase.
We can always use the help of a few good QA coders: simulating a P2P
environment and checking the RPC API are two examples of very
complicated problems that -can- be automated for testing... with a lot
of work.
--
Jeff Garzik
exMULTI, Inc.
jgarzik at exmulti.com