Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Automated website testing tools

by Anonymous Monk
on Jun 14, 2001 at 20:08 UTC ( [id://88471]=perlquestion: print w/replies, xml ) Need Help??

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Note: The author of this node is petdance, who doesn't want to hear any squawking about karma whoring.

I'm looking for ways to automatically test a website. I'm a big fan of the idea of daily smoke testing one's software, and websites should be no different.

I've got a website that is entirely database-driven, and seems (to me) like it would be a giant pain to do any amount of real testing on it. Lord knows there are enough link checkers out there, but we're talking about a tool that would have to track sessions, make transactions, etc. I've thought about rolling my own, but I'm interested in what tools might be out there already. Any suggestions?

As an aside, the site is done in PHP, but that shouldn't affect things, because I want all tests to go thru the web server, and the testing tool shouldn't care.

Replies are listed 'Best First'.
Re: Automated website testing tools
by chromatic (Archbishop) on Jun 14, 2001 at 21:41 UTC
    I worked on something similar a couple of weeks ago, but I took a different approach. By breaking up the architecture into several layers, you can test individual pieces without having to write tests to submit and to parse HTML.

    For example, I had a handful of routines that had to validate, insert, and select data from a database. For my tests, I used a CSV file and passed in a DBI connection using DBD::CSV. Then all I had to do was write tests for the methods, and I could validate them there.

    If the highest architecture layer only ever presents the final interface, you can get by with very little testing there, and write simple automated tests for all of the other layers.

    Of course, with PHP it may be harder to separate things out, but the same principle should apply.

Re: Automated website testing tools
by koolade (Pilgrim) on Jun 14, 2001 at 22:21 UTC

    You might want to take a look at CGI::Test. It seems like it'll handle a lot of what you want.

    However, I couldn't see how it'd be easy to setup a thorough tests for a really complex site. There are just too many ambiguities to think about. Spot-checking the results of a page seems a lot easier, especially when you're dealing w/ HTML templates, dynamic content, etc. If anyone's found a good way of managing this I'd like to know.

Re: Automated website testing tools
by tinman (Curate) on Jun 14, 2001 at 20:25 UTC
    <shameless_plug> My node of repentance gives you quite a few good tools that you can try out.. </shameless_plug>
Re: Automated website testing tools
by gellor (Novice) on Jun 14, 2001 at 20:27 UTC
    The good news is I know of a few products that handle the kind of testing you are describing incredibly well.

    The bad news is all the ones *I* know of are generally pretty spendy.

    Some of the best names I've heard are:

    Mercury Interactive's Topaz

    BMC's Patrol for Internet Services

    Freshwater's SiteScope

    As far as rolling your own goes, I'd have to say I'd LOVE to see a perl based Open Sourced transaction based web monitoring tool, but *I* certainly am not going to attempt to write one.

Clarification on automated testing tools
by petdance (Parson) on Jun 14, 2001 at 20:32 UTC
    I may not have been clear. I'm not looking for load testing, but rather for testing to validate that the backend software works. Microsoft Test was a product a while ago, but I haven't heard of it recently.

    xoxo,
    Andy

    %_=split/;/,".;;n;u;e;ot;t;her;c; ".   #   Andy Lester
    'Perl ;@; a;a;j;m;er;y;t;p;n;d;s;o;'.  #   http://petdance.com
    "hack";print map delete$_{$_},split//,q<   andy@petdance.com   >
    

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://88471]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2024-04-18 20:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found