In Mental notes to myself the question was asked, if unit testing is enough. Of course not. Unit testing, especially unit testing with PHP tackles a single problem domain. This problem domain is PHP code quality. So once you have good tests for you PHP code you could assume that is works halfway fine. That’s everything. Between good PHP code and a working application there is a huge gap. There we go: JavaScript, user interface and the services your application consumes. If you have connection problems with your payment provider, a unit test does not solve that problem. But the daily execution of unit tests will eventually help you to tackle it. The JavaScript part can be addressed with a JavaScript unit testing framework, such as JsUnit. Testing the user interface and the backend through the user interface, that’s what was called “black box testing”, can be done with Selenium, which is also integrated with PHPUnit.
To write high-quality software, you have to do all of this. There are a lot of excuses, why not to do this, but they are all just excuses. To make you feel worse, this test strategy is even not sufficient, because you also need human testers. They must be really good, they do blackbox testing, find strange wording, unintuitive interfaces, page-as-cage situations, improper avocation at important conversion points, etc. pp. But a good tester is never as cheap as software, also a tester could not be controlled per command (which is good), so the hard problems need to be tackled before.
Filed under JsUnit, PHPUnit, QA, Selenium & three comments & no trackbacks
Trackback specific URI for this entry
christian answers:
published on November 25th 2007, 07:17:05 pm»But a good tester is never as cheep […]« You don’t really mean »cheep«?
Reply
Lars Strojny answers:
published on November 25th 2007, 11:04:18 pmThanks, it is fixed now.
Reply
christian returns:
published on November 25th 2007, 11:30:59 pmAlso »piepsig«/»fiepsig« would have been a great comparison (think of the old beepers on motherboards) ;)
Reply