QA Test Automation using Perl (and integration with other languages)
Below you'll find the description of both the training
and consulting services offered to Perl developers and QA departments
by Gabor Szabo.
- Four days long training on how to use Perl in test automation.
- Kick-starting the test automation system by setting up the framework and
coaching the developers.
Training: QA Test Automation using Perl
Perl has been used for years in QA for various tasks such as
preparing configuration files before the tests run and parsing
log files after the test. In the past few years lots of extensions
have been added to Perl. Now, in addition to the above tasks Perl
can already be used in all parts of the automatic test environment.
Audience:
- Perl developers who need to write tests for their applications
- QA engineers with a background of Perl who need to write automated test to any application
Objectives:
- Be able to write unit, integration and system tests in Perl.
- Use the testing frameworks that come with Perl.
- Overview how Perl can be used in automating tests for Quality Assurance.
- Apply Perl in various fields of testing such as Web, Networking, Command line (CLI) and even desktop
applications (GUI).
Course format
The regular length of the course is 32 academic hours including about 50% time for hands-on exercises.
It is usually given in 4 days (9:00-17:00 or 10:00-18:00) but it can be spread to a longer period.
Prerequisites:
At least 6 month experience as a Perl programmer or taking an
introductory Perl course prior to this class.
(We can arrange to offer those classes as well, if needed.)
Content
- First we'll learn about the basic tools of testing and the test frameworks available
in Perl by looking at unit-tests of Perl modules.
- Then, we'll expand our set of tools in order to test other kind of applications.
- We'll look at testing of
- Web applications
- Command line applications (CLI)
- Network Appliances
- and even Desktop applications with a GUI.
- The test will cover unit, integration, system and even acceptance testing
with both white- and black-box testing in mind.
- Topics covered in the training include an introduction to the
unit testing framework of Perl using Test::Simple, Test::More
and the Test::Builder ecosystem.
After the training attendees will be able to setup their own
testing framework and start writing unit tests to their
applications. They will also be able to develop their own specific
test modules similar to those found in the Test:: name space on CPAN.
Those who already have unit testing in their application will be able
to extend it with the solid knowledge they get on how and why things
work the way they work in TAP.
Detailed Syllabus:
- Introduction to testing, why, when, who and how ?
- Understanding the basic tasks of the QA engineer
- Introduction to TAP - the Test Anything Protocol
- Testing tools in Perl for testing Perl Modules (Test::Simple, Test::More)
- Common reporting framework (Test::Harness, Smolder)
- Extending the testing framework (Test::Builder)
- Setting up continuous integration (smoke testing)
- Command Line Interface applications
- Testing network devices with CLI interface
- Testing Web application
- Web 2.0 application testing
- Database testing
- Testing file-systems
- Microsoft Windows GUI applications
- X-Windows testing
- A few words about XP - Extreme Programming
- Building random regression testing tool
- Integrating with PHP, Python and Ruby unit tests
- Integrating with JavaScript testing
Kick-starting test automation
Often the training alone will leave you with people
who already know what should be done but because of the lack of experience it will
take them a long time to setup and streamline the testing environment.
In addition four days of training is hard on the students.
It might be better for your organization to spread out the training to
8 days - 4 hours a day - in a period of two weeks and use the rest of
the time to setup the testing environment and help the students to
start writing their own tests.
While the details can be customized it would normally work like this:
- Day 1: Gabor meeting with several of the students and their managers to analyse the exact
needs of the company. Setting up the framework for writing tests.
- Day 2-5: 4 hours training in the morning, pair-development in the afternoon one student+Gabor
(one hour per student).
- Weekend
- Day 6-9: 4 hours training in the morning, pair-development in the afternoon.
- Day 10: pair-development and design of further work plans for the developers.
During the non-training time Gabor will help setting up the
testing environment both centrally and for the individual
developers. He will also help designing the test framework
and help writing tests.
About Gabor Szabo
Gabor - born in Hungary and living in Israel - has been programming
since high-school. He has been using Perl since 1995 and teaching
it both in Israel and overseas since 2000.
He is also providing consulting in Perl development with a focus on test
and build automation to companies such as Cisco and Checkpoint.
Gabor is a CPAN author and has contributed
tests to many other CPAN modules. He is the developer and maintainer of
CPAN::Forum and that of the
Perl Community AdServer
Gabor is the lead developer of Padre, the open source
Perl IDE written in Perl.
Gabor is the organizer of the Perl mongers in Israel
and he has been organizing the YAPC and OSDC
conferences in Israel since 2003.
He has been giving talks on YAPC::EU and YAPC::NA conferences since 2002.
For his work in the Perl community, Gabor has received the
White Camel award in 2008.
Course material
An old version of the slides can be found here:
Other Perl related pages.
|