By Patrick Lightbody, Product Manager, Gomez, Inc.
The Quality Assurance (QA) role has existed for as long as software itself.
While "bugs" have evolved from real bugs eating away on vacuum tubes
to much more difficult to identify typos and oversights in code, the need to
identify and stamp out these bugs as quickly as possible remains as important
as ever.
Thankfully, our industry no longer has to literally stamp out real bugs, but
the job is probably just as messy. QA has, unfortunately, been relegated to
the back seat of the development process, often treated as second class citizen.
Worse yet, as more and more applications are served on the web as AJAX-rich
applications with code running in a broad array of containers (IE6, IE7, Firefox,
Safari, Opera, iPhone, Blackberry, etc), it has become even more difficult for
QA professionals to try to identify bugs. This is because the number of permutations
in which the code can run on is much higher than it was a few years ago. Fortunately,
a trend has been occurring in open source software (OSS) community to help.
Automated QA has evolved specifically in OSS communities because there is a
real need for it as developers in disparate locations and time zones cannot
overcome code quality issues by using coordinate, in-house manual QA that so
often occurs in corporate environments . This article will chart the evolution
and the benefits companies can expect from it.
Why OSS?
Before we look at the QA solutions available from the OSS community, let's try
to understand why they were created. This will help identify where they came
from, what we can look forward to, and what problems they are trying to solve.
Natural Evolution
The easiest explanation for why QA tools have sprouted up in the OSS community
is that there was simply a need for them and over time, the OSS community had
evolved enough to the point that it could use previous creations as a platform
to build new tools.
The first popular OSS projects in the mid 90's were low level system libraries
and operating systems such as Linux and GNU. From there, those platforms were
used to build new applications and developer tools, such as Compiere and Eclipse.
With OSS applications and developer tools in a fairly mature position, it was
inevitable that the next area of focus would be testing.