Perl Training Logo: Praying Mantis
QA Day - Test Automation Seminar


On the QA day we show concepts and tools supporting them. They are for test automation without relation to platform and they can be good for software and hardware.
These techniques are used by Analog/Digital/VLSI Engineers as well as for standalone, web related and networking software products.

Major Subjects of the QA Day

TAP - Test Anything Protocol

TAP - The Test Anything Protocol. emerging from Perl has been implemented in many languages. Using this protocol for both unit tests, integration tests and acceptance tests enables unification and simplification of the automated test environments of an organization. In turn this provides a large suit of regression tests that will help you make sure you can ship your software with the highest quality.

The protocol was actually already available back when Perl 1 came out in 1987 but it went through many improvements - it also got its name only a year or two ago - but most importantly it helped Perl to achieve a unparalleled set of unit and integration tests both on the compiler/interpreter level and on the extension level (aka. CPAN).

The protocol was published in a more official manner as a perl module on CPAN Test::Harness::TAP in a document describing the way it is used in Perl. It has been ported to

Test Automation in Open Source Projects

In the recent years with the rise of Open Source projects we see many applications without budget for testing but with quite high quality. I have started a project to find out what can we learn from Open Source projects?
How do they automate testing?
How do they provide reports?
I have started to write a set of articles about the subject staring by my blog entry:
Quality Assurance and Automated Testing in Open Source Software
There are several articles about the subject. On the QA Day I provide an overview of what did I learn so far.

QA as in Questions and Answeres

Are these tools written in Perl?
  • TAP is a protocol - it is language independent
  • Fit is a framework - one does not care in which language it is implemented (BTW I think Fitness is in Java)
  • Selenium is in Java but has bindings in several languages including Perl and Python and many more
  • The QA in OS part looks at various things and tools, some of them in Perl some in Python and some in other languages