[PEPr] Comment on RFC::How the QA Team will work.
| From: | PEPr | Date: | Thu, 29 Apr 2004 03:03:47 +0000 |
| Subject: | [PEPr] Comment on RFC::How the QA Team will work. | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-28529@lists.php.net to get a copy of this message | ||
Greg Beaver (http://pear.php.net/user/cellog) has commented on the proposal for RFC::How the QA Team
will work..
Comment:
A serious omission from this RFC involves regression testing.
The QA team should actively enforce regression testing in a format that is both easy to use and easy
to set up.
This means that either PHPUnit, PHPUnit2, or Simpletest should be recommended for object-based code,
and run-tests should be recommended for code that can only be run from the global context. The only
example I can think of that requires global context is code that relies upon the output of
debug_backtrace(), although there may be other examples.
The QA team should also actively define standard ways to structure regression tests.
Regression tests should consist of 2 kinds of test suites
- API tests
- internal functionality tests.
The API test suites should consist of bounds checking for every public method of a class, and
testing expected output. These tests should work for every minor version without modification.
The internal functionality tests consist of bug-fixing tests, and other verification of
functionality that may break on a minor version release with the shifting of private functionality.
Any package that does NOT require external setup to function must have an API test suite to be
considered stable. Packages that require external setup, such as database or internet connections,
should be handled on a case-by-case basis.
The pear run-tests command shall be modified to work with PHPUnit/PHPUnit2 test suites in a future
version of PEAR to make it easy to run regression tests.
Proposal information:
http://pear.php.net/pepr/pepr-proposal-show.php?id=60
--
Sent by PEPr, the automatic proposal system at http://pear.php.net