Global enterprises are challenged to surface performance and load
issues, regression and functional issues, and to accomplish business
service production monitoring in Rich Internet Application (RIA)
environments that use Ajax technology. Selenium is a popular and widely
used open-source test development tool. Selenium enables testers to
record functional tests of applications in Selenium IDE, a
Firefox-based record/playback test development environment. Playback
these tests in Firefox, Internet Explorer, Chrome, Opera, Safari and
other browsers.

Repurposing
Methodology and Architecture

Functional
Testing in the Firefox Web
Browser - Record test scripts
using Selenium IDE, a plug-in to the Firefox browser. Play the test
scripts in the Firefox browser.

Browser
Compatibility Tests
- Play recorded Selenium tests in Internet Explorer, Safari, Opera,
Chrome, and other browsers. Play the tests on a grid of machines with
multiple operating environments and multiple browser versions.

Load
and Performance Testing
- Determine the Scalability Index of your application by observing the
throughput of your application at increasing levels of concurrently
running virtual users. Each virtual user operates a test use case with
one or more Selenium tests.

Production
Monitoring
- Prove compliance with a Service Level Agreement (SLA) by periodically
running a Selenium test script. TestMaker sends notification emails
when the Selenium script fails or encounters an error condition.

In
each of the above types of tests TestMaker repurposes a single Selenium
test script. The TestMaker architecture make repurposing possible.

PushToTest
TestMaker operates Selenium tests as load and
performance tests by running the tests in one or moreTestNodes. The
TestNode operates the test in a browser (such as Internet Explorer,
Safari, Opera, Chrome) or using HTMLUnit. HTMLUnit is an open-source
headless browser framework
that provides a programmatic simulation of a Web browser. HTMLUnit uses
Rhino, the Mozilla JavaScript engine, to run JavaScript and Ajax
programs. This approach makes it easy to run hundreds to thousands of
simulated users in a load and performance test. The alternative would
be costly test runs that start a browser for each simulated user.

TestMaker
makes it easy to pivot from one type of testing to another. For
example, functional testing is often the time to ensure the test
scripts work as expected. With a click of a button in the TestMaker
Editor a functional test becomes a load and performance test. While
loading the application under test with several virtual users your test
may uncover another functional issue. Pivoting back to functional
testing is easy with TestMaker.

Once you record a test,
TestMaker
repurposes the test to be a functional test, and load and performance
test, and a production monitor.

Often
TestMaker users will follow this methodology:

Record a Selenium test in
Selenium IDE using Firefox browser. Save the
test in the Selenese file format. Confirm the test runs by playing the
test against the application in the Firefox browser.

Run the Selenium test in a
TestNode in the Firefox browser. Create a
TestMaker TestScenario using the TestMaker Editor. Identify one or more
Selenium tests to run in a test use case in the Editor's Use Case tab.
Use the Selenium RC test type and identify *firefox as the browser.
TestMaker sends the Selenium test to the TestNode. The TestNode
launches Firefox and plays the test. The TestNode records the time it
takes for each step of the Selenium test to operate. TestMaker plots a
set of results charts to identify functional issues in the test and
application.

Run the Selenium test in a
TestNode in the HtmlUnit browser. Same
operation but this time using the headless HtmlUnit browser.

Run the test as a Load and
Performance
test. Operates the Selenium test
at several levels of load. Identifies the Scalability Index of the
application. Surfaces performance bottlenecks and functional issues.

Run the test as a Production
Monitor. Operates the Selenium test periodically to prove compliance
with an SLA and to surface functional issues.

Features
and Benefits

TestMaker
integrates Selenium to provide the following features and benefits:

TestMaker
repurposes a single Selenium test as a functional test, load and
performance test, and business service monitor.

Run
At User Levels Never Before Possible - Building a test lab used to be
prohibitively costly for medium and large scale load tests. Cloud
computing delivers bandwidth and computing power to achieve tests in
the millions-of-users levels at commodity prices.

The
Open Source Alternative To HP QuickTest Professional(tm) (QTP)

Many
testers, developers and IT managers ask PushToTest to compare HP
QuickTest Professional (QTP) to
PushToTest TestMaker with Selenium IDE. PushToTest provides open source
test automation solutions for organizations needing to improve the
reliability and reduce service interruptions in their Web applications,
Rich Internet Applications (RIA, using Ajax, Flex, Flash,) Web
services, and Business Process Management services. PushToTest is the
Open Source Test (OST) expert for dozens of tools. This comparison
document helps organizations looking for an inexpensive open source
solution that works with their latest applications.