Hello Bill, Apache::Test is great.
What kind of testing are you looking to do? Apache::Test is for testing your code (unit tests) and JMeter is for load testing your application / infrastructure (in my organization we classify this under UAT which the developers don't do). I agree with Mark that with the technology we have today, manual testing causes more problems than it solves... while setting up times may be a bigger initial time investment, automated tests really do save time. Have you looked at any of the Perl Web Frameworks? Catalyst <http://www.catalystframework.org/>, Dancer <http://www.perldancer.org/>, and Mojolicious <http://mojolicio.us/> all use Plack middleware (which interfaces nicely with mod_perl or any webserver; Mojo can use Server::Hypnotoad <http://mojolicio.us/perldoc/Mojo/Server/Hypnotoad>, a non-blocking web server, then uses Apache as a reverse proxy to serve your web page. The advantages and disadvantages of which I think are outside the scope of this thread), and they come with their own testing suits, Catalyst::Test <http://search.cpan.org/~jjnapiork/Catalyst-Runtime-5.90075/lib/Catalyst/Test.pm> Dancer::Test <http://search.cpan.org/~yanick/Dancer-1.3129/lib/Dancer/Test.pm> and Test::Mojo <http://mojolicio.us/perldoc/Test/Mojo> which are great for unit testing. These days my testing stack is Test::More <http://search.cpan.org/~exodist/Test-Simple-1.001006/lib/Test/More.pm>, Test::Class <http://search.cpan.org/~ether/Test-Class-0.47/lib/Test/Class.pm> and Test::Mojo, I recommend Test::Class to anyone who's writing unit tests for more than a few hundred lines of code. I have been a long time user/fan of mod_perl, some of my longest running apps are running on mod_perl right now. But for new projects I've turned to using a web framework as it allows us to focus on the app and not worry about the boiler plate. But that's me, there are plenty of valid reasons NOT to use a web framework. Good luck! Best Regards, Jon A On Tue, Oct 7, 2014 at 11:42 AM, Mark Hedges <mark.hed...@ticketmaster.com> wrote: > > > -----Original Message----- > From: Patton, Billy [mailto:billy.pat...@h3net.com] > Sent: Tuesday, October 07, 2014 6:24 AM > To: modperl@perl.apache.org > Subject: beginning and testing > > I'm rewriting/moving an app that hasn't been touched in over 5 years. The > original developers have since left the company. > It's all written in CGI/OOPerl. > It seems as though the original developers applied the OOW-AHH , look at > what I can do, instead of KISS. > Simply put they needed a skateboard but built a space shuttle. > > So I'm task with taking this Hydra/Medusa cross and converting it to > KISS(Keep It Simple Stupid) > So I'm going to us mod_perl. I will be able to use some of their logic > and code. > > At my previous job we had a mantra "design for test" > > So from the very first file I create I want to be able to test each step > as I proceed. > I've used, very simply, the .t files for test my library and my apps that > run from the command line but never some thing from the web. > > In the past I've used an Oracle product that does web testing, but that's > rather expensive. > So have no doubts that Apache and mod_perl have an enormous testing suite > available for testing my perl and the web site it creates. > IE : Apache:TestRun, Apache::TestRunPerl > When I do > apropos Apache | grep -i test > I get 14 Apache::Test* modules and one Bundle::ApacheTest module. > > So I'm looking for a start point. > There is a lot of information, too much for me to digest. > My web app will consist of forms with h-links to another page and some > drop downs. > A few "enter text" widgets. > > I'm beginning to believe that testing in Apache is a completely difference > world than testing from the command line, as it should be. > > I'm just not sure where to start. > Any recommendations would help. > ------------------------------------- > > I have found Apache::Test extremely useful for testing web applications. > Don't let anyone tell you to run manual tests, that is a recipe for > confusion and error as you try to modify code later. > > A good place to start is the test structure for mod_perl itself, but all > the bells and whistles they use are probably more than you need. > > Also, I use Module::Build instead of ExtUtils::MakeMaker. Follow the > instructions for a Module::Build Build.PL file, but make your builder > object an Apache::TestMB or subclass of that. (It is a subclass of > Module::Build.) > > Then you want to start with the files t/conf/extra.last.conf.in and > t/conf/modperl_extra.pl. extra.last.conf.in contains Apache directives > and VirtualHost sections that you want to run. modperl_extra.pl will be > executed by Apache startup. > > When you do `./Build test`, it will generate t/TEST, start up Apache2 with > your settings on a localhost port, then you can use LWP and start > implementing tests. I sometimes add a testing environment variable which > causes my apache handlers to add extra results in an X- header to check in > the test script. > > You can also write t/TEST.PL, which gets added to the generated t/TEST > script. It has to run: > > use Apache::TestRunPerl (); > Apache::TestRunPerl->new->run(@ARGV); > > ... at the end, since this does not seem to get added to the generated > t/TEST script when t/TEST.PL is used. > > HTH. > > Mark >