in reply to Creating a co-operative framework for testing

* Why is the Perl testing infrastructure so effective?

Because Schwern made it that way, and it was good. :)

* If I wanted to export some of the qualities of Perl testing to a non-Perl product, what should I focus on?

Getting Schwern or Ovid interested in that product. That's most effective when you change the product to be World of Warcraft, I think.

* What motivates a (QA) contributor?

If you're asking how to get people to work for free, well, there is no answer. It's different for every person. If you're assuming that you will get work for free, I think you're already off to a bad start. iPods might be interesting, but they aren't all that special or expensive to make most people do that much work. If the product is really useful and people like it enough or think they can't live without it, they'll help with it.

I contribute to open source because I'm too stupid to realize that for the same pay I could watch TV all day, get through my Netflix list, or maybe read a book. :)

Update: I wrote this post just before going off to bed, and then laid in bed thinking about it and that it probably is more flippant than I mean it to be. Writers should be given free prescriptions of sleeping pills for this very reason.

I think things such as Perl's testing culture congeal around a few alpha personalities. There's no scientific reason these things happen, and a lot of it is by accident. I created Test::Pod because I could. It was easy and it was fun. From that, Andy Lester got interested, and eventually created Test::Pod::Coverage, and eventually took over Test::Pod. Both of those ended up as CPANTS metrics. Although it pains me to say it, I think Malcolm Gladwell's The Tipping Point applies here. That's not a perscription for success. It just points out that some things succeed for no other reason than somebody does it and somebody else likes it enough to do it too. For every time that happens, though, many other things don't catch on. I've written plenty of test modules, but I bet most people can't name any them. Test::Pod is the one that made it.

Perl's testing culture matured at a particular time. Test had been around for quite a while, although most CPAN contributors seemed to find it just as easy to print "ok $test\n"; as use a module. Test::Simple did what a lot of people were thinking they should do, but didn't: write an ok function. Schwern actually did it though, and there were plenty of other people around who were waiting to use it. IF he had made it earlier, maybe it would just be sitting there on CPAN collecting dust. Who knows.

Update2 Foro stvn: sure, there are a lot of people involved with testing now, but I credit Schwern with starting the whole thing. All that stuff you mention came later.

brian d foy <>
Subscribe to The Perl Review

Replies are listed 'Best First'.
Re^2: Creating a co-operative framework for testing
by stvn (Monsignor) on Oct 23, 2006 at 12:09 UTC

    Uhm, I think you are missing a LOT of names on your list there.

    What about petdance and the Phalanx project? And chromatic and his test-first evangalism which he spreads through (Test Code Kata, and several articles on Test::Builder)? They have done a lot for testing in the perl community as well.

    And then there is nothingmuch and the many people over in #perl6 who contributed to make Test::TAP::Model and Test::TAP::HTMLMatrix. Work which is being expanded upon by several others (sorry for not knowing more specific names) to create things like:

    • The smartlinks between the Perl 6 test suite and the Synopsis (a technology which has also been shared with Parrott and IIRC is being used to link to the Parrot PPDs)
    • An automated smoke server, which IIRC already has a spinoff product, whose name I cannot recall at the moment.
    The efforts going on here (IMO) are modernizing and expanding the already excellent Perl testing tools and infastructure (we wouldn't want to stagnate would we ;)

    And then there is AdamK and his work on PITA, which opens up the world of ridiculously large scale testing as well.

    I could go on and on, the perl-qa list is quite active with many regularly contributing members. My point really is that Perl's testing culture is so strong, because Perl's testing community is so strong and very active. New tools are constantly being developed, and existing tools are constantly being improved. Keeping the community active keeps it strong, and new shiny toys are a great way of attracting even more talent.


    For stvn: sure, there are a lot of people involved with testing now, but I credit Schwern with starting the whole thing. All that stuff you mention came later.
    Yes, I know it came later, this is my point entirely. Schwern was just another perl hacker in a long line of perl hackers who has furthered the culture of perl testing. This is not meant in any way to discount Schwern's contribution to it all, for it was and is very signifigant in both it's scope and timing. However, he built atop the shoulders of those who came before him, and today many others are building atop his shoulders. I believe the Perl testing culture is so strong, specifically because it is so active. This activity keeps it fresh and therefore keeps people interested, which in turn spurs interest from others, and the cycle continues.