Testing and Quality Assurance with CGI::Application projects
System Testing Modules
- Test::WWW::Mechanize - is WWW::Mechanize with some extra testing features built-in.
- Test::WWW::Mechanize::CGIApp allows you to test your project directly, without an extra web server. Useful for desktop and offline development.
- HTTP::Recorder is a proxy that is easy to setup which can capture your browsing activity (with some limitations) and output the result as a WWW::Mechanize script.
- WWW::Mechanize::Shell - converts a command line browsing session into a WWW::Mechanize script that you can further customize.
- Test::WWW::Selenium::CGIApp - Allows you to test your CGIApp project without an external web server.
- HTTP::WebTest - is reportedly easy to get started with and has several useful plug-ins which make testing websites easy. It also integrates with Test::Harness. On the other hand, it seems to require more effort to make simple tests than WWWW::Mechanize does.
- Canoo Web Test - Review wanted
- Apache::Test - This module was originally written to test mod_perl2 but can be used for testing any Apache server (v1 or v2 with or without mod_perl). It starts a server on a high port number and runs your tests against this server in a live environment. Not only is it testing the real performance of your application, you can do either client-side (request) or server-side (response) testing which allows you to perform both unit and system testing. William Mc Kee uses it. See Geoffrey Young's article at perl.com to get started then check the definitive references at http://perl.apache.org/docs/general/testing/testing.html.
Unit Testing Modules
Other Website Testing Resources