|
|

|
Subscribe to Advertising & Marketing Review! Contact Ken Custer at 303-277-9840.
|
|
|
|
|
|
|
Website
Testing Getting Easier, Cheaper
by Glen Emerson Morris
A decade ago anyone wanting
to automate Website testing faced an expensive and technically
challenging task. A single user license for one of the better
automation tools, like WinRunner, could run between $2000 and $6000,
depending on options chosen. Someone with the skills needed to use
the automation tool could go for between $25 to $60 an hour W2, so
the total cost of automation testing could easily be well beyond the
reach of the majority of small to mid-sized businesses.
The reasons for automating
Website testing are compelling. Automated functional testing allows
one person to do the work of many manual testers, and is the only
cost effective way to test the thousands of permutations any complex
behavior application presents. It’s also the only way to perform
load testing, which pounds servers with hundreds of simultaneous
users to make sure it can handle the load. Fortunately, a number of
tools have evolved over the last decade that are, at last, making
automated Website testing affordable to the SMB. Not surprisingly,
they evolved in the open source movement.
Today, it’s estimated that
70% of all Websites are run on what’s known as the LAMP platform, a
combination of the Linux OS, the Apache Web server, MySQL database
and the PHP programming language. Companies like Yahoo! and Google
are LAMP based, and there’s a good chance your company’s Website
is too, especially if you use a hosting service. The increasing
popularity of the LAMP platform has created a snowball effect in the
development of LAMP tools and the programming languages they are
written in.
Arguably the biggest
development in automation testing has been the development of an
application named Selenium, from Selenium.org. Selenium is a free
open source automation tool that runs under Firefox browsers as an
extension. Selenium can function as a basic record and playback tool
running on a single computer, or it can be run remotely on multiple
computers using any one of several popular programming languages,
including PHP, Perl, Python and Java, for added capability.
Given Selenium’s
extensibility with a variety of programming languages, it offers much
of the capability of the best and most expensive commercial
automation programs for zero acquisition costs. Selenium can be
installed on most Firefox browsers simply by using the add extension
feature, and once installed, you can begin recording immediately.
Learning Selenium’s scripting language well enough to use its
advanced capability will take more time, and require some basic
scripting ability, but it’s far easier than most programming
languages.
Even Selenium’s basic
record mode is enough to allow the creation of a set of Website basic
functionality tests. Once recorded, these tests will begin to save
time almost immediately by allowing the tester, possibly you, to be
doing something else while the tests are running. Many Silicon Valley
dot.coms have banks of automated test systems setup to run overnight,
so the latest test results will be in before the next day has
started. Even small companies with a limited number of test computers
in their QA department can use this approach by using regular
employees’ computers overnight when the employees aren’t using
them.
Two other major free
automation tools are JUnit and TestNG. Both are more comprehensive
than Selenium, but are more difficult to use as a result. JUnit
started out as a test framework for the Java programming language,
but became popular enough it was ported to other languages. TestNG is
an expansion of JUnit, offering a greater range in the tests offered,
and even more complexity. The downside of both is that they require a
programmer to be useful.
Unfortunately, when it comes
to load testing, all of the automation tools available require at
least some programming skills, and some require advanced programming
skills. For load testing, the open source version of industry leader
LoadRunner is Junit. Though programming it may be expensive, it’s
far cheaper than using LoadRunner. (On one recent project I was on
the license for a 30 day use of LoadRunner for 250 simultaneous users
ran $10,000.)
When planning load testing,
it’s also necessary to consider where the data you plan on using is
going to come from. Much of Website testing involves testing the back
end databases that store and process data like customer addresses,
orders and inventory. Realistic testing can only happen if the
databases have a realistic load of data, meaning if you need the site
to handle 100,000 customer addresses you have to test it loaded with
100,000 addresses to see if it will really handle the load.
One low budget approach to
getting test data is to get a copy of the “real” data in the
company’s current databases. This can work, but if the data
includes sensitive customer information, additional security measures
should be considered. If you’re testing a new Website, or one that
uses a different data structure than the previous, you will probably
need to come up with the data from scratch
Several commercial test data
generator products are available for between $100 and $500, and a few
in the $1000 range. These are really heavy duty products that might
be more than a SMB might need. A cheaper solution would be to program
a small data generator in any of the common scripting languages like
PHP, Perl, Python or Java. It could be done in a few hours, with
perhaps two pages of code.
There’s no denying testing
Websites still takes time, money and effort, but it’s clear we made
a lot of progress in the last decade. Thanks to the open source
movement the tools are getting better and easier to use. Now, it’s
up to us to make sure we use them.
Note: We’ve expanded our QA
Website to include a new test data section designed to provide both
raw test data files, and a series of test data generator modules
written in PHP/HTML. The first module available in our Test Data
Generator series is a names an addresses module that allows the
creation of over 35,000 combinations of first, middle initial and
last names, with over a billion combinations of street, city, state
and ZIP data. The second module will be an inventory generator that
will generate records with fields including brand, item, material,
size, color, quantity and price. You can download pre-generated names
and addresses data from our QA Website, or use our online application
to make them yourself
Glen Emerson Morris was recently a senior QA Consultant for SAP working on a new product to help automate compliance with the Sarbanes-Oxley law, an attempt to make large corporations at least somewhat accountable to stockholders and the law.
He has worked as a technology consultant for Yahoo!, Ariba, WebMD, Inktomi, Adobe, Apple and Radius.
Copyright © 1994 - 2009 by Glen Emerson Morris
All Rights Reserved
'
keywords: Internet advertising, Internet marketing, business, advertising, Internet, marketing.
For more advertising and marketing help, news, resources and information visit our Home Page.
Back to top
|
|



|