This page describes installation procedures, configuration and deployment options, and options to integrate TestMaker into your software development lifecycle, production monitoring, and build environment.
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.
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.
PushToTest TestMaker is appropriate for testing Web applications, Governing SOA Through Test Automation, Email systems, JAVA applications and more.
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.
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 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.
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.
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:
- • 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 .
- • 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
- • 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.
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.
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 .
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.
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.
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.
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:
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
- 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. 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:
- keytool -keystore "TestMaker_home/pushtotest.keystore" -import -alias mycertificate -file "mydirectory/sslcertificate.cer"
- 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:
- java $maxqarg $lookarg $python $testnetwork -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -Dfrank=cohen -classpath $TMCP com.pushtotest.testmaker.Main "$@"
- The -Djavax.net.ssl.trustStore added to the start-up script.
- 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:
- $Java_HOME/bin/java -DSTOP.PORT=8079 -DSTOP.KEY=secret
-Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -jar start.jar
- 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:
-Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -jar start.jar
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.
PushToTest optionally logs transaction result data to a Logging To A Relational Database Management Server (RDBMS).
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.