I would like to know how much Perl is used in test automation. The reason why I'm asking is that we have developed our own Perl-based test system for performance/functionality testing in our company.
Without commercial testing tools we have run successful business with high quality services for around two years now. And we use just Perl for testing. I simply cannot imagine more cost-efficient ways of ensuring quality.
Perl seems to be especially suitable when you are in an early phase of the product development and you already want to test something through some non-standardized interface. As the product develops, the Perl-based test system very easily follow along, being a turbo system when the product is released ;-)
There are many more interesting things around this topic. Is there some discussion going on regarding this? If not, please reply to start one. You can also email me directly if you are interested in my experiences or if you would like to start arguing with me...(Yes, I know those commercial tools already.)
While at Sybase, I developed a Perl Test Harness and Perl Test Scripts that tested a Perl OO based, in-house Eng. Change Order system. The Tool was marrying two databases: Clearcase (version management of Sybase software) and QTS (in-house developed Bug Tracking System on Sybase DB). It was really an intelligent system, so I tested it in its native language.
First problem I ran into:
- Used a TestObject to maintain info from Harness to Script back to Harness on what test case was currently running, current disposition of the test and benchmarking info, etc. One of my requirements was to maintain the ability to "stand-alone" execute each test case (its Perl, why not?). Then, when I "system" or exec the test case, I no longer have access to that Object Handle to write info into (from the test case).
-- When I jumped from Unix systems (5 to be exact) to Windows, I had to write a ton of Module routines in order to Abstract out some Platform dependencies: Such as what "drive" my ClearCase view was mounted on, what "path seperator" to use \\ versus /.
Perl is an EXCELLENT language for the development of both Tests and Test Harnesses. One BIG hangup, though, is its LACK of a Usable Threads Model. (Hopefully, that has stirred the pot a little.....)