DeveloperGuidelines = Testing = "A bug is a test case you haven't written yet" [[BR]] "Unit Tests allow merciless refactoring": http://diveintopython.org/refactoring/refactoring.html * http://diveintopython.org/unit_testing/index.html * http://vallista.idyll.org/~grig/articles/ == Unit Tests (must do) == Should we use doctests? * http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-2-doctest.html These should be written by the developers * Rspec is an equivalent for Ruby: http://rspec.info/ == Continuous Integration == Whenever a commit is made it should be checked to see that it doesn't break anything * [https://launchpad.net/pqm Patch Queue Manager] Continuous Integration tools help here, such as: * http://cruisecontrol.sourceforge.net/ == Regression Testing == Fired by dev after certain number of changes or whenever they like. == Boundary Testing (should do) == Checks functionality of modules against spec. This is done by the Testers who accept the Code as a result. == Integration Testing (good thing) == == Usability Tests == === Accessibility === * Are we XHTML 1.0 compliant? * Are we usable without !JavaScript? == Performance Tests == Whilst the Web2Py framework is fast, we should check that we're not doing anything stupid to slow it down: * http://groups.google.com/group/web2py/browse_thread/thread/cf5c5bd53bc42d49 == Security Tests == Whilst the Web2Py framework is secure by design, we should validate this: * http://mdp.cti.depaul.edu/examples/default/features ---- DeveloperGuidelines