NAME

Bundle::Test - A set of modules for software testing in Perl

SYNOPSIS

perl -MCPAN -e 'install Bundle::Test'

DESCRIPTION

This bundle installs a set of modules you can use to build all kinds of tests for your perl modules and applications.

As a first attempt you should read the documentation of the respective modules. Probably you should start by reading Test::Tutorial which is a good introduction to testing in general, to Test::Simple and to Test::More.

Test::Simple

Test::Simple - can be used as a first attempt to write simple test for your perl module. Don't worry, the work you invest here can be transfered when you move using Test::More without loss and without hassel.

Test::More

Test::More is an extension of Test::Simple. It provides a number of tools to compare various data structures of Perl.

Test::Harness

With Test::Harness you are lucky. In most of the cases you won't need to learn it as it contains a framework to execute the various test scripts created using the other modules. At some point later in your test development you might need this though in order to execute all your tests nicely.

Test

Test is a simple way to write tests. It is mostly obsolete. You should use Test::Simple instead.

Test::MockObject

Test::MockObject One of the biggest problems in testing is that you have to control your environment. This module lets you do just that.

Test::Pod

Test::Pod provides a way to test the syntax of your PODs.

Test::Builder

Test::Builder is used by most of the modern test modules to have a common back-end. When you need to implement your own domain specific test functions using Test::Builder will ensure your functions fit in the general framework and play well with the other Test modules.

Test::Warn

Your application will have to print warnings on certain occassions that are considerd partially as failor. It is always a good idea to make sure when the conditions are met you indeed print out the correct warning. Test::Warn provides tool for this.

Test::Inline

Some people like to add their tests right next to their code. This module let's you do just that. Add some POD documentation to your code and embed your tests in your documentation next to your code.

OTHER

Other modules that are not included in this Bundle bit that might be useful for you

Win32::GuiTest

This is a Windows specific module for testing the GUI part of the application. It can be used at simple tasks such as automating the installation of an application up till full testing of the application.

X11::GUITest

Being able to click on windows and type in texts in the X-Windows environment on Unix/Linux/etc.

CONTENTS

Test

Test::Builder

Test::Simple

Test::More

Test::Harness

Test::MockObject

Test::Pod

Test::Warn

Test::Exception

Test::Inline

QUALITY ASSURANCE

You write test in order make your software of higher quality. An important requirement for this is that your testing tools should be of high quality.

TODO

Add more modules and descriptions. Categorise according to areas of testing.

Testing Framework

L<Devel::Cover>

Web

L<HTML::Lint>

L<Test::HTML::Lint>

L<WWW::Mechanize>

L<Win32::IE::Mechanize>

L<HTTP::Proxy>

Samie  L<http://samie.sourceforge.net/>

Database

L<Class::DBI>

Command line applications

L<Expect>

other

L<File::Compare>

L<Text::Diff>

REFERENCES

CPAN Test Results: http://testers.cpan.org/
QA and kwality for Perl: http://qa.perl.org/
CPANS http://www.pobox.com/~schwern/talks/CPANTS/
Article by Chromatic http://www.perl.com/pub/a/2001/12/04/testing.html

AUTHOR

Gabor Szabo E<lt>gabor@pti.co.ilE<gt>
http://www.pti.co.il/

COPYRIGHT

Copyright 2002-2004 by Gabor Szabo L<http://www.pti.co.il>.

This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

See L<http://www.perl.com/perl/misc/Artistic.html>