Can't donate to charity?
Volunteer computer time
or Support SETI!
R&D Sponsorship Center
December 2009

Home Page
Feature Archive
A&I Column Archive
Production Tools
State Marketing Data
US Marketing Data
World Marketing
Service Directory
Quality Assurance
3D Printing

Subscribe to Advertising & Marketing Review!
Contact Ken Custer at 303-277-9840.

Website Testing Getting Easier, Cheaper

by Glen Emerson Morris
Related Columns
Desktop Manufacturing
Hits the Home Market

It's the biggest revolution of the 21st century. And it's going on now.
The Fab Future of
Desktop Manufacturing

Desktop manufacturing is finally getting affordable, at least to businesses.
The Object of 3D Printing
Print anything you need, from cameras to cars, and do your own recycling.
The Future of Arthur C. Clarke
One of the greatest science writers predicts what this century will hold for us.
Recommended Columns
The Greening of Expectations
It's not a fad, it's critical to our survival.
The Learning Curve to Prosperity
Buckminster Fuller predicted the resource crunch now hitting us. He also gave us the tools to deal with it.

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 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

Economic Indicators
Census 2010
Census Bureau
Health   Labor
Commerce Dept.

It's Time to Let
A Robot
Make Your Sales Pitch!
Roy the Robot
Funded by Kickstarter