Archived PushToTest site



This documentation is for TestMaker 6 only... and does not apply to TestMaker 7.

3. Installation

This page describes installation procedures, configuration and deployment options, and options to integrate TestMaker into your software development lifecycle, production monitoring, and build environment.

Installation

PushToTest TestMaker is a distributed test environment. This page describes installation procedures, configuration and deployment options, and options to integrate TestMaker into your software development lifecycle, production monitoring, and build environment.

Introduction

This section describes how to install PushToTest TestMaker, how to get started quickly, and how PushToTest TestMaker enables black-box and grey-box testing and how to setup the memory Configuration of Options.

Quick Start Guide

PushToTest TestMaker is appropriate for testing Web applications, Governing SOA Through Test Automation, Email systems, JAVA applications and more.

Web Application Test

Web applications provide users with functions accessible through a Web browser. PushToTest TestMaker features Record and Playback technology for Web applications. PustToTest TestMaker watches the use of a browser and writes a test agent script, which is a functional test (also referred to as a unit test). The Web application perceives the script as a Web browser. PushToTest TestMaker includes HTTP and HTTPS protocol handlers, which provide support for cookies, redirects commands, authentication and HTML parsing.

Learn more about PushToTest TestMaker in a Web application test environment by reviewing the Web sample test agents and the tutorial .

Web Service and SOA Test

Web Services and Service Oriented Architecture provide server-to-server and application-to-application XML communication. PushToTest TestMaker features the SoapUI Utility to read a Web Services Description Language (WSDL) definition of a service and builds unit and function tests. The Web Service perceives the test as a server or application making requests and expecting responses. PushToTest TestMaker includes soap and XML-RPC protocol handlers. These handlers support soap document-style (message) encoding, soap RPC-encoding, HTTP authentication, soap over HTTPS communication and cookies. PushToTest TestMaker provides XML parsing and query capabilities through the included JDOM, XPATH, Xerces and JAXB libraries.

To begin using PushToTest TestMaker in a Web Service test environment, first use the Tools -> Start soapUI menu command to create a unit and functional test, then run the test in a TestScenario as a functional and load test and service monitor.

Email System Test

Email systems provide access to email message stores through the email client software and Web browser-based email access portals. PushToTest TestMaker includes SMTP, POP3 and IMAP protocol handlers to communicate with an email store, support MIME attachments, UTF encoding support and authentication. PushToTest TestMaker features Record and Playback technology to use Web browser-based email access portals.

Learn more about PustToTest TestMaker in an email application test environment by reviewing the email sample test agent, the XST test to convert the test into a scalability / load test and the tutorials to change it into a Quality of Service monitor.

Java Application Test

Many companies deploy Java applications to provide an intelligent graphical interface to a service. For example, Sun Microsystems provides a Java desktop application to its engineers to enable bug tracking and change management for its products. The application makes soap requests to a service to manage bugs. PushToTest TestMaker (a 100% Java application) enables test agent scripts to make direct calls to a Java application's methods. The application responds in the same way it would to a real user. PushToTest TestMaker runs Java application tests using the same functional test (unit test) framework as Web application, Web Service and email tests.

Learn more about PushToTest TestMaker in a Java application by reviewing the sample Java application test agent and the tutorial to change a unit test into a regression, function and load test and service monitor.

Installation

PushToTest distributes a pre-built and ready-to-run binary of TestMaker under a commercial license. The PushToTest TestMaker installer requires a Java 1.6 or higher runtime environment. PushToTest TestNode software may run under Java 1.4 and 1.5 for compatibility with tests compiled under those older versions. Sun Microsystems makes the Java runtime environment available at:

http://www.java.com

PushToTest TestMaker comes with everything necessary to build and run tests. Double-click or run the setup script that comes with one of the following downloads, to install:

  • TestMaker_Install - this installs the PushToTest TestMaker environment. TestMaker is the development environment to build tests and the central console to operate tests. By default this also installs a local TestNode to operate tests from the local machine.
  • TestNode_Install - installs a TestNode, the remote environment that receives commands from TestMaker and runs a test.
  • Monitor_Install - installs the PushToTest Monitor to observe CPU, network and memory utilization as tests operate.
  • The installers prompt for a directory where the TestMaker files should be installed. The TestMaker documentation refers to this directory as testmaker_home .

The testmaker_home directory contains the following files and directories:

  • Test Agent Scripts - shows how PushToTest TestMaker works through practical examples
  • • docs - Contains additional information on PushToTest TestMaker including a reference guide to the PushToTest TestMaker scripting language and Javadoc documentation for developers who want to change and improve PushToTest TestMaker
  • • lib - Code libraries supporting PushToTest TestMaker operations
  • license.txt - The PushToTest TestMaker license
  • TestMaker.bat - Script to launch PushToTest TestMaker on Windows systems
  • TestMaker.sh - Script to launch PushToTest TestMaker on UNIX, Linux and Mac OS X systems
  • QuickStart.html - Read this document first for release notes, last minute changes and additions to PushToTest TestMaker

To run PushToTest TestMaker:

  • • Windows - run the testmaker_home/TestMaker.bat file to execute the shell script that configures the local classpath and launches the PushToTest TestMaker application.
  • • Unix, Linux and Mac OS X - run the testmaker_home/TestMaker.sh file to execute the shell script that configures the local classpath and launches the PushToTest TestMaker application.
  • Some Unix systems require enabling the TestMaker.sh file and testmaker_home/utils/TMCP.sh file with an executable file privilege using the chmod + x TestMaker.sh command.

PushToTest requires Java 1.6 or greater. Click here for additional installation and configuration instructions, including instructions for Ant, Maven, jUnit and other integration.

From time-to-time, PushToTest TestMaker is updated to solve bugs and introduce new features. The PushToTest website home page shows the most recent PushToTest version number along with a download link.

  • Answers to common installation problems are found in the Frequently Asked Questions .

Windows Vista

Windows Vista users need to set the option to Run As Administrator when operating the TestMaker installers. See instructions in Vista for User Account Control for details.

Windows NT and 2000

The TestMaker.bat start-up script is incompatible with Windows NT and 2000 because of a problem in the Windows command-line program ( cmd.exe ).

When running TestMaker_home/TestMaker.bat from the desktop, a command-line window will flash and disappear on the screen. Open a command window ( Start >Run>cmd.exe ) to see the error message. For Windows NT and 2000, the error message was The input line is too long . Windows NT and 2000 have a maximum batch file line length of 2048 characters.

Workaround this by using the Windows XP command-line program in Windows NT or 2000. Windows XP has a maximum batch file length of 8192. Copy the cmd.exe file from WinXP to c:\winnt\system32\ with the name cmd_XP.exe . Open a command window using cmd_XP.exe file ( Start>Run>cmd_XP.exe ) and run TestMaker.bat .

Cick here to download the WinXP cmd.exe file from the PushToTest download site.

Testing and Remediation

PushToTest TestMaker test environments provides a framework and utility for building tests to check services for regression, function, scalability, performance and reliability. PushToTest TestMaker is a unique solution to test and remediate issues that keep a system from achieving its performance and functional goals. For instance, PushToTest TestMaker will generate a load on a system by executing a TestScenario, while correlating database and application server monitoring and analysis tools to identify costly transactions, bottlenecks of performance and optimizations that will prevent downtime.

In a black-box test environment, the test environment generates load on a service by making requests to the service and observing the response. Black-box scalability testing observes a service's response performance as the number of concurrent requests increases, which in turn facilitate capacity planning and identifing the service's ability to "go live" in a production environment. The PushToTest TestMaker test environment conducts black-box tests and much more.

In a grey-box test, the service under test may be queried for internal information to help uncover functional and scalability problems. The service under test provides state information from its internal operation including performance information from the application and database tiers of the service environment. For example, the service responds to special debugging service requests with CPU and I / O utilization, memory allocation and transaction states. This extra information allows the test environment to provide actionable knowledge in three categories:

  • • Measuring throughput from the test agents (client side) identifies the server system’s readiness to handle the forecasted population of users.
  • • The test environment changes the mix and operation of test agents during a test to identify bottlenecks and isolate scalability problems within the service architecture and software.
  • • Measuring CPU, memory and I / O bandwidth usage identifies metrics used for capacity planning.

Configuration of Options

PushToTest TestMaker, TestNode and Resource Monitor software is built in Java, which features its own memory manager, classpath loader and thread management. The PushToTest software package comes with program launcher shell scripts. Use these scripts to set options for memory settings, additional software packages and debugging options.

Changing TestMaker Memory Settings

Memory settings for TestMaker can be changed by opening the TestMaker_home/TestMaker.bat for Windows and TestMaker_home/TestMaker.sh for Unix, Linux and Mac OS X systems. See the detailed instructions in these command shell scripts to change the memory settings for TestMaker.

Changing TestNode Memory Settings

To set the memory for an installed TestNode, change the contents of TestMaker_home/TestNetwork/TestNode/startup.bat for Windows and TestMaker_home/TestNetwork/TestNode/startup.sh for Unix, Linux and Mac OS X systems. These files contain the following command line:

@"%Java_HOME%/bin/java" -Xmx128M -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar start.jar @echo "TestNode? Started"

Adjust the memory settings using the -Xmx parameter.

Adding SSL Certificates

TestMaker supports HTTPS and Secure Socket Layer (SSL) protocols. These protocols use the Java Cryptography Architecture to work with SSL certificates. The TestMaker protocol handler will throw an SSLHandshakeException when connecting to a server over SSL protocols when the server-side SSL certificate is unknown and generates the message:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Follow these steps to register the SSL certificate:

  1. 1. Download the server-side SSL certificate to the local machine. Many browsers save the certificate. For instance, clicking the SSL icon in Microsoft Internet Explorer will display the certificate. In Mac OS X Safari, click the SSL (lock) icon and drag the certificate icon to a directory.
  2. 2. Within the Java Development Kit (JDK) installed, use the Java Keytool to import the SSL certificate into the Keystore. Use the following command from the command shell or terminal window:
  3. keytool -keystore "TestMaker_home/pushtotest.keystore" -import -alias mycertificate -file "mydirectory/sslcertificate.cer"
  4. 3. Tell TestMaker to use Keystore by modifying the TestMaker_home/TestMaker.sh (for Unix, Linux, and Mac OS X users) and TestMaker_home/TestMaker.bat (for Windows users). Add the following to the last line of the start-up script:
  5. java $maxqarg $lookarg $python $testnetwork -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -Dfrank=cohen -classpath $TMCP com.pushtotest.testmaker.Main "$@"
  6. The -Djavax.net.ssl.trustStore added to the start-up script.
  7. 4. Tell the TestNode on the local TestMaker instance to use Keystore. Modify the TestMaker_home/TestNetwork/TestNode/startup.sh (for Unix, Linux, and Mac OS X users) and TestMaker_home/TestNetwork/TestNode/startup.bat (for Windows users) as follows:
  8. $Java_HOME/bin/java -DSTOP.PORT=8079 -DSTOP.KEY=secret
    -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore
    -jar start.jar
  9. 5. Tell the installed TestNodes to use Keystore. Modify the TestNode_home/startup.sh (for Unix, Linux, and Mac OS X users) and TestNode_home/startup.bat (for Windows users) as follows:
  10. $Java_HOME/bin/java-DSTOP.PORT=8079-DSTOP.KEY=secret
    -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -jar start.jar

Integration Options

PushToTest was designed to integrate into software development environments.

Run From The Command Line

Operate a PushToTest TestScenario from the command line using the TestMaker_home/TestMaker.bat (for Windows and TestMaker_home/TestMaker.sh for Linux, Unix, and Mac OS X) start-up script.

TestMaker_home/TestMaker.bat -t c:\mytests\myTestScenario.xml

The above example runs myTestScenario.xml from the command line. PushToTest sends operational messages to the command line shell as it operates the TestScenario. Results and standard output is also sent to the Results directory for this TestScenario.

  • PushToTest normally starts a local TestNode and a local PTTMonitor (to observe CPU, network and memory utilitization) when the PushToTest application is started. When running TestMaker from the command-line, start the TestNode and optionally the PTTMonitor, from the command-line also.

TestMaker_home/TestNetwork/TestNode/startup.bat

(The above is for Windows, use .sh for Unix/Linux/Mac OS X systems)

Start the local Resource Monitor - PTTMonitor using:

TestMaker_home/PTTMonitor/startMonitor.cmd

Ant Integration

Operate PushToTest from within Ant build scripts. The following is an Ant example for Windows environments:

<target name="pushtotest-test">

<exec dir="C:\\Program Files\\PushToTest_TestMaker\\TestMaker.bat" executable="cmd.exe">
<arg line="-t c:\mytests\myTestScenario.xml"/>
</exec>

</target>

PushToTest requires many supporting class libraries. See the TestMaker_home/TestMaker.bat (or TestMaker.sh for Linux, Unix, Mac OS X systems) for a list of required libraries.

jUnit Integration

PushToTest can be invoked from JUnit-tests. Consider the following example:

public void testRunner() throws Exception
{
com.pushtotest.testmaker.Main pushtotest =
new com.pushtotest.testmaker.Main("-t","c:\mytests\myTestScenario.xml");
}

PushToTest requires many supporting class libraries. See the TestMaker_home/TestMaker.bat (or TestMaker.sh for Linux, Unix, Mac OS X systems) for a list of required libraries.

Logging To RDBMS

PushToTest optionally logs transaction result data to a Logging To A Relational Database Management Server (RDBMS).

Maven Integration

PushToTest is compatible with Maven by running PushToTest as an Ant task.

Additional documentation, product downloads and updates are at www.PushToTest.com. While the PushToTest testMaker software is distributed under an open-source license, the documenation remains (c) 2008 PushToTest. All rights reserved. PushToTest is a trademark of the PushToTest company.