Rational® QualityArchitect
Release Notes

 

Release 2003.06.00

Copyright © 2003 Rational Software  Corporation. All rights reserved.

This documentation (the “Work”) is protected under the copyright laws of the United States and/or other jurisdictions, as well as various international treaties.  Any reproduction or distribution of the Work is expressly prohibited without the prior written consent of Rational Software Corporation.

Legal notices are available in program files\Rational\doc\legal_information.html

April 2003


About These Release Notes. 3

New and Changed Features. 3

Late Changes to Documentation. 3

Deploying Stubs Permanently to a WebLogic Server 3

For WebLogic 5.1. 3

For WebLogic 6.1. 4

COM Test Scripts Fail to Run from TestManager 4

Guidelines, Defects, and Restrictions. 5

General 5

Database Verification Points Captured Baseline. 5

Rational QualityArchitect Console. 5

Problems with Debugging Scripts. 5

Running Test Scripts from Rational TestManager 6

Upgrading Test Assets from Previous Releases. 6

Problems with Microsoft Office 2000. 6

Online Manual on Windows XP Systems. 6

Submitting Defects in the Test Log Window. 7

UCM on Windows NT with ClearCase 5.0. 7

Rational's RQA Weblogic Deploy Utility. 7

Systems Running Windows 98. 7

COM.. 7

Limitations with COM Programmatic ID Strings. 7

COM Unit Test Generation. 8

COM Scenario Test Generation. 8

COM Query Design Wizard. 8

EJB. 10

Using Fully Qualified Class Names. 10

Using the IBM JDBC Driver 10

Problems with Classpaths. 11

Problems with Visual Café. 11

Running RQA Java Test Scripts from TestManager 12

Working with Stub Code from Previous Releases. 12

Problems with VisualAge for Java. 12

Problems with Database Verification Points and Sun JVM 1.2.2. 12

Problems with the EJB Query Design Wizard. 13

Problems with the Rational Bank Account Sample Application. 13

Connecting to Remote Application Servers with the Session Recorder 13

J2EE Dependency on ioserxx.dll 13

Problem with the isIdentical() Method Using the Sun J2EE Reference Server v.1.2.1. 14

Additional Classpath Requirement for WebLogic 6.1. 14

Problems with the EJB Session Recorder and VAJ. 14

Problems with Verification Points on Windows NT Systems When Testing Java Applications. 14

Problems with Long Constant Values in Method Parameters. 14

Multiple Use of java.lang.Object remoteObject During Session Recording. 15

Problems with the EJB Query Design Wizard When Connecting to a SQL Server Database. 15

Problems with Code Generation. 16

Contacting Rational Customer Support 16


About These Release Notes

Rational® QualityArchitect is a collection of integrated tools for testing middleware components that are built with technologies such as Enterprise JavaBeans and COM.

QualityArchitect, in conjunction with Rational Rose, generates test scripts for both components and interactions in your Rose model. Once generated, the test scripts can be edited and run right from your development environment or from Rational TestManager.

This release of QualityArchitect is designed specifically for testing the following component types:

·         Enterprise JavaBeans (EJB)

·         COM

These Release Notes provide information that is not available in the printed documentation or Help for Rational QualityArchitect (RQA).

 

New and Changed Features

None for this release.

Late Changes to Documentation

Deploying Stubs Permanently to a WebLogic Server

The procedure documented in this section of the Rational QualityArchitect User’s Guide is missing a step.

For WebLogic 5.1

Before restarting the WebLogic 5.1 application server (Step 14), you must run the wlconfig.exe utility. This utility adds the required Rational JAR files to the application server’s classpath. To run the utility, type the following from the command line or create a batch file that contains the following text. Be sure to adapt the file locations to your particular installation.

c:\weblogic\bin\wlconfig.exe -Dweblogic.class.path=c:\weblogic\lib \weblogic510sp7.jar;c:\weblogic\license;
c:\weblogic\lib\weblogicaux.jar;c:\weblogic\mssqlserver4v70\classes;
c:\weblogic\myserver\serverclasses;c:\weblogic\classes;
"c:\program files\rational\rational test\rttssjava.jar;"
"c:\program files\rational\rational test
 \QualityArchitect\rational_ct.jar;" 
"c:\program files \rational\rational test\tsea\rttseajava.jar"

For WebLogic 6.1

Before restarting the WebLogic 6.1 application server (Step 14), you must edit one of two command files, depending on whether you are running the Default application server or the Example application server. The command files execute when you restart the server.

Default Server

Edit the C:\bea\wlserver6.1\config\mydomain\startWeblogic.cmd file as follows:

Set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;"C:\Program Files\Rational\Rational Test\QualityArchitect\rational_ct.jar";"C:\Program Files\Rational\Rational Test\tsea\rttseajava.jar";"C:\Program Files\Rational\Rational Test\rttssjava.jar"

Example Server

Edit the C:\bea\wlserver6.1\config\examples\startExamplesServer.cmd file and change classpath as follows:

Set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
.\samples\eval\cloudscape\lib\cloudscape.jar;.\config\examples\serverclasses;"C:\Program Files\Rational\Rational Test\QualityArchitect\rational_ct.jar";"C:\Program Files\Rational\Rational Test\tsea\rttseajava.jar";"C:\Program Files\Rational\Rational Test\rttssjava.jar"

COM Test Scripts Fail to Run from TestManager

The error message described in this troubleshooting section is incorrect.

Symptom

A COM test script cannot be run from TestManager, and an error message such as the following is displayed:

 Compiling Test Scripts ...

 Error GetFile Timestamp()from ...

 .

 .

 .

 0 warning(s), 1 error(s)

 Fatal compiler error, run terminated

The correct message is

Compiling Test Scripts ...

Error compiling .rc file

0 warning(s), 1 error(s)

Fatal compiler error, run terminated

Guidelines, Defects, and Restrictions

General

Database Verification Points Captured Baseline

When the specified RQA (Rational QualityArchitect) test script location path contains any double byte characters, you cannot view the database verification points-captured baseline in Test Manager. However, this does not affect subsequent test executions because the baseline was successfully captured.

Rational QualityArchitect Console

Closing the Rational QualityArchitect Console sometimes results in an application error on Windows ’98 operating systems.

Problems with Debugging Scripts

If you stop test script execution before tms.EndTestServices (Visual Basic) or tms.endTestServices (Java) is called in the script, be sure to exit your IDE. Otherwise, logging is turned off for future runs of QualityArchitect test scripts.

Running Test Scripts from Rational TestManager

If you run QualityArchitect test scripts from TestManager and those test scripts contain deployed stubs, stub messages are not written to the log. When using stubs, run test scripts directly from your IDE.

Upgrading Test Assets from Previous Releases

Be sure to use the Rational Administrator to upgrade the Test Datastore before you attempt to play back RQA (Rational QualityArchitect) test scripts. If you do attempt a playback before upgrade, you will get a Test Datastore login error, indicating that the datastore is not the correct version. After the login error, be sure to exit the playback IDE sometime between upgrade and a second attempt at playback.

To upgrade:

1.    Exit from the IDE.

2.    Start the Rational Administrator.

3.    Select a project.

4.    Right-click the project and click upgrade assets.

Problems with Microsoft Office 2000

There is a defect in Microsoft Office 2000 on Windows 2000 and Windows NT systems that sometimes causes a series of warnings to appear when generating unit or scenario tests as a non-administrative user. For example, you may see "Error 1706—No valid source could be found for product Microsoft Office 2000. The Windows installer cannot continue." Clicking OK produces two subsequent messages: "Fatal error during installation" and "Unable to run this command." 

This problem occurs because application shortcuts have not been registered correctly.  Microsoft has confirmed this problem in Microsoft Knowledge Base article Q253768. 

The workaround is to double-click on one or all of the Office icons (Access, Excel, Outlook, PowerPoint, Word) in the Programs menu.

Online Manual on Windows XP Systems

Warning messages appear when you first display the Rational QualityArchitect online manual on Windows XP systems. Click OK to view the online manual. In addition, full text search is not functional.

Submitting Defects in the Test Log Window

If, after you submit a defect in the Test Log Window, you log into a different datastore or project, or you log in as a different user, TestManager may not display the login dialog box after restart. In this case, you must either log off the operating system and log back in (if you are running on Windows NT or later), or open Task Manager and terminate the CQINTSRV11.EXE process. You can then log in to another datastore or project, or log in as a different user.

UCM on Windows NT with ClearCase 5.0

A possible problem has been identified on Windows NT 4.0 when ClearCase 5.0 is installed. After performing a UCM datastore operation from the Rational Administrator (such as create datastore, check-in all, or add/remove from source), we recommend that you shut down the Rational Administrator before attempting another such operation.

Rational's RQA Weblogic Deploy Utility

If WL_Deploy does not work properly, deploy stubs to the application server by stopping the server, adding stubbed classes to EJB .jar(s), and then restarting the server.

Systems Running Windows 98

If you are running Windows 98, you may experience intermittent system failures when exiting from Rational Rose. A system failure can occur after you insert Database Verification Points during Scenario Test Generation for COM.

COM

Limitations with COM Programmatic ID Strings

COM Programmatic ID strings must be 39 characters or less. Because there is no check on this limitation in QualityArchitect, a .cls name combined with the Visual Basic Project name may exceed 39 characters. Visual Basic only runs if you shorten the length of the Programmatic ID string. The error appears as follows:

ProgrammaticID string too long '<Visual Basic project name>.<Rational QualityArchitect cls name>'.

The Programmatic ID must be 39 characters or less.

COM Unit Test Generation

QualityArchitect Unit tests for COM components create an instance of the component under test in Visual Basic by invoking the CreateObject method and providing it with the ProgID of the component under test. The QualityArchitect Unit Test generator determines the ProgID to use in this call by reading the UUID from the model and looking it up in the registry. If that UUID is found in the registry, the corresponding ProgID from the registry is used.

If the UUID cannot be found in the registry (because the component has not yet been created and registered or has had its UUID changed by a Visual Basic project which does not specify Binary Compatibility), QualityArchitect builds a ProgID using the convention: Libraryname.CoClassname.  If you do not want to follow this convention, you must make sure that your component is registered and that the component's UUID in the model is in sync with the actual component's UUID.

COM Scenario Test Generation

·         When scenario tests are generated for COM applications, you may receive the following warning from Visual Basic when you open the script:

File not found: '<ScriptName>.RES’

 

This is a problem only if you want to execute the test under TestManager. If you are not interested in TestManager playback, click OK and the project loads in Visual Basic.

 

This problem can be avoided by complying with the following guidelines:

 

 

·         When prompted to choose a directory that will be the data path for the script source named RQA VB Scripts, be sure to choose a directory that does not contain spaces in its path. 

 

·         Make certain that the name of the scenario diagram does not contain any spaces.

·         There is a known problem on Windows NT 4.0 systems, which causes Rose to freeze during scenario test generation when you insert VPs and click Yes to edit the datapool. This problem occurs when a large number of Rose add-ins are enabled. The workaround is to go to Add-Ins > Add-In Manager and deselect any add-ins that you do not use.

COM Query Design Wizard

·         There is a known problem when connecting to a SQL Database with a table name containing a blank space. The following error appears:

Could not find stored procedure ‘dbo.Order.Details.’

An error has occurred whilst trying to access this Table/Query!

Please rectify the error condition and try again.

The workaround is to clear the Show Owner checkbox in the Add Tables dialog.

·         Because of compatibility problems with the OLE DB Query Design Wizard and the IBM DB2 ODBC Driver, you must enter SQL statements manually when using this combination.

The following error appears when you attempt to use the Query Design wizard:

[IBM][CLI Driver]SQL0104N An unexpected token "END-OF-STATEMENT" was found following "<TABLE OWNER>.<YOUR TABLE NAME>". Expected tokens may include "JOIN <joined_table".

SQLSTATE=426

Please contact IBM Technical Support for DB2 ODBC Driver resolution.

 

·         When you try to connect to an Oracle database with the COM Query Design Wizard, a message such as the following appears:

[Microsoft][ODBC driver for Oracle][Oracle]ORA-00900: invalid SQL statement

The workaround is to manually enter the SQL statement.

·         There is a formatting problem when you use a date in the form 'xx/xx/xxxx' as a condition in the Where clause. The COM Query Wizard places  # signs around the date. This causes an error in execution of the SQL statement in a datasource other than an Access database. 

Example:

Where [Employee].[HireDate] = #04/01/1992#

The workaround is to replace the # signs with single quotes if using a datasource other than Access.

Example:

Where [Employee].[HireDate] = '04/01/1992'

·         There are known font problems when using COM scenario tests with verification points and connecting to a database with Japanese characters.

·         Table and column selection dialogs with Japanese characters do not display correctly in the COM Query Design Wizard.

·         When running a VB script with the User Acknowledge Baseline advanced option, the User Acknowledgement dialog box that appears at runtime does not display Japanese characters correctly.

Although Japanese characters are not displayed correctly in the above circumstances:

·         Verification points are captured successfully.

·         Tests function properly.

·         Test results can be viewed correctly in the Log window.

EJB

Using Fully Qualified Class Names

When you use QualityArchitect to generate tests or stubs, make sure that you use fully qualified class names for parameter types and return types. For example, use java.math.BigDecimal and NOT just BigDecimal. Failure to use fully qualified class names results in code that does not compile without adding additional import statements.

Using the IBM JDBC Driver

If you connect to DB2 by using IBM 's JDBC Driver, you must be aware of:

·         The character set or code page used by the DB2 database

·         The character set used by client applications

The character code page on the client and the target DB2 server must be compatible. That is, the DB2 server must minimally be able to convert the client code page into the DB2's internal code page. If this fails, the DB2 server throws an incompatible code page error message.

Example: If you attempt to configure a DB2 ODBC data source to be used by IBM's COM.ibm.db2.jdbc.app.DB2Driver on a Korean NT4.0 machine with the target server being on a US English DB2 server, you get an error message relating to incompatible code page.

In this case, you must consult the IBM documentation or IBM Tech Support on resolving this problem.

Problems with Classpaths

·         If a J2EE JDK is installed on a pre-J2EE application server, the pre-J2EE jar files must precede the J2EE jar files on the classpath. For example, weblogicaux.jar should precede the standard JDK 1.2.x jar files if the WebLogic version is pre-J2EE (that is,  4.5x).

·         When you run an RQA Java test script that connects to the Sun J2EE Reference Server v.1.2.1, you must make sure that the J2EE.jar file located in %J2EE_HOME%/lib/j2ee.jar is set to be the first entry in the user classpath variable or in your IDE. If it is not, you might get a CORBA exception at runtime with a container method such as EJBRemote.getHandle(). In the Log View window, the error message logged would be:

Failure Description:

CORBA MARSHAL 0 No; nested exception is: \torg.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : minor code: 0 completed: No

Message Text:   Exception: java.rmi.MarshalException

Problems with Visual Café

·         If you receive stack overflow errors in Visual Cafe when building generated test scripts:

1.    Delete all Visual Cafe non-project files. This includes all files with the following   extensions: .cdb, .ve2, .vpj.  Do not delete files with the extension .vep.

2.    Rebuild your Visual Cafe project.

·         Problems occur when you use Visual Cafe v.4.1 with the default JVMs, and you try to execute a generated test script or the EJB Session Recorder. When you try to execute a test script, you will receive the following error:

Unable to open the project.

 

When you try to execute the EJB Session Recorder, you receive the following  error:

 

Unable to determine the Rational QualityArchitect installation directory.

 

Each of these errors is caused by the same deficiency in the default JVMs used in Visual Cafe v.4.1. These default JVMs include custom debug wrappers that enable code debugging within the IDE.  These debug wrappers encode Java strings using the UTF-8 format. The JNI code that Rational uses returns strings in a UNICODE format.  Problems occur when these strings are encoded using UTF-8. 

 

Workarounds:

 

 

·         Upgrade to Visual Cafe v.4.5.

 

·         Change the JVM in the IDE from one of the default JVMs to a Sun JVM. You can do this by choosing Tools > Environment Options from the main menu and then clicking on the Virtual Machines tab and entering your custom JVM information. If you find that your version of Visual Cafe 4.1 does not allow you to select your own JVM, you must upgrade to Visual Cafe v.4.5.

Running RQA Java Test Scripts from TestManager

If you are running an RQA Java test script from TestManager, and that script connects to an application server with JRE 1.2.2, you should be aware that JDK 1.2.2 does not ship with the JNDI classes needed by the test script. As a result, you must provide these classes. Typically, you include in your classpath Sun's j2ee.jar file from Sun's J2SDKEE1.2.1.

Working with Stub Code from Previous Releases

EJB stub implementation classes now use the java.lang.Throwable class in try/catch blocks instead of the java.lang.Exception class. The java.lang.Throwable class is preferred over the java.lang.Exception class because all errors are caught. As a result, you must regenerate any stub code generated with previous releases of Rational QualityArchitect.

Problems with VisualAge for Java

QualityArchitect tests that reference Japanese-language datapool values cannot be executed from VisualAge for Java on Japanese Windows2000 operating systems.

Problems with Database Verification Points and Sun JVM 1.2.2

When you try to execute test scripts using the Sun JVM v.1.2.2, and the test scripts contain a Database VP, the Java Virtual Machine crashes. We recommend that you execute your test scripts using Sun JVM v.1.3 and above. This problem does not occur when you use the IBM JVM, v.1.2.

Problems with the EJB Query Design Wizard

When working with the EJB Query Design Wizard, messages such as the following may appear when you select tables with different owners or you select tables that are not public:

The SQL execution failed for the specified SQL text.

The workaround is to manually add the table’s owner to the SQL statement.

Problems with the Rational Bank Account Sample Application

When you import the Rational Bank Account Sample Application repository file (RatlBankAcct.dat) into VAJ and choose which project to load, four exact versions of the project are displayed in the list. Be sure to pick the first project in the list.

You may experience problems deploying Rational Bank Account sample application with Sun J2EE Reference Server 1.3.1. If problems persist, use JRE 1.3.1_02 and J2EE 1.2.1.

Connecting to Remote Application Servers with the Session Recorder

When you try to connect to a remote application server, the required JNDI initial context classes for the application server must exist in the Additional Classpath Options field. You can access this field from the Java Options tab of the Rational QualityArchitect Options dialog box. If the application server classes are not found, the EJB Session Recorder is not able to connect to the remote server.

Also, in order to connect to a remote version of WebSphere 3.5 from within VisualAge for Java 3.5, you must apply VAJ 3.5 Patch 2. You can download this patch from the IBM Website.

J2EE Dependency on ioserxx.dll

In this release, the EJB Session Recorder requires that the J2EE_HOME system variable be defined with the path to a version of the J2EE. This path should be the main installation path for the J2EE, for example J2EE_HOME=C:\j2sdkee1.2.1.

Because the J2EE.jar file is dependent on ioserxx.dll, which is located in the nativeLib directory for the installed J2EE, you must include the path to the nativeLib directory in the system path for the version of the J2EE that you have specified in the J2EE_HOME system variable, for example, PATH=%PATH%;C:\j2sdkee1.2.1\nativelib.

If the J2EE cannot find ioserxx.dll, the Session Recorder fails to connect to any deployed EJBs.

Problem with the isIdentical() Method Using the Sun J2EE Reference Server v.1.2.1

When you are connected to the Sun J2EE Reference server and you invoke the isIdentical() method on a Session Bean, the method always returns true. A defect has been submitted to the Java bug database. There is currently no workaround for this problem.

Additional Classpath Requirement for WebLogic 6.1

When using the EJB Session Recorder, there are conflicts between the WebLogic 6.1 JAR file, weblogic.jar, and the Xerces XML JAR file, xerces.jar. Both JAR files contain some packages with the same names. However, they do not have the same classes. As a result, if the WebLogic 6.1 JAR file is listed in the classpath before the Xerces JAR file, missing class and method errors are thrown by the EJB Session Recorder when you try to generate a test script.

You must make sure you insert the WebLogic 6.1 JAR file in the classpath after you insert the Xerces JAR file in order to successfully generate Java test scripts from the EJB Session Recorder.

Problems with the EJB Session Recorder and VAJ

Test script generation from the EJB Session Recorder does not always work successfully when run from within VAJ 3.5 or VAJ 4.0.  If you try to generate a test script from the EJB Session Recorder and cannot find the test script file, you can try to generate the script again using the XML file that was created. Launch the EJB Session Recorder from the Rational QualityArchitect Console. When the EJB Session Recorder window opens, choose Tools > Generate Test Script from the main menu.  Browse to the location of your test XML file and then enter the test script information. Your test script file should then be successfully generated.

Problems with Verification Points on Windows NT Systems When Testing Java Applications

There is a known problem that causes the Scenario Test generator to freeze after inserting verification points on Windows NT operating systems.

You must enter verification points manually in the test script.

Problems with Long Constant Values in Method Parameters

If you use the EJB Session Recorder to record an EJB test script, and you input a constant long value as input to a method argument in the Parameter panel without specifying a parameter name for the input value, the generated script does not compile and operate correctly.

For example, if you record an invocation of the following method:

getBalance(long acctID,String acctType)

The result in the generated test script is something like the following:

getBalance(988724556667,"Checking")

In this case, the constant value 988724556667 is not converted correctly to type long. Depending on the IDE and compiler, you may get a compile error or an application server error.

The workaround is to edit the generated source code by adding an L to the end of the constant value, for example:

GetBalance (988724556667L,"Checking")

Multiple Use of java.lang.Object remoteObject During Session Recording

In EJB session recording, when you use the EJB wizard to insert EJBs as parameters into method calls, or if you connect to multiple EJBs per session, the variable java.lang.Object remoteObject is declared in the test script two or more times. This creates errors in compiling your script. To correct this, you must keep the first declaration and delete any repeats of this that occur throughout the script. For example, in the following script, the repeated declaration is in bold:

java.lang.remote remoteObject;

remoteObject =initContext.lookup("ExecuteTransaction");

etc

etc

java.lang.remote remoteObject;

remoteObject =initContext.lookup("Checking");

Delete the second occurrence to avoid compilation errors, so that the script would look like this:

java.lang.remote remoteObject;

remoteObject =initContext.lookup("ExecuteTransaction");

etc

etc

remoteObject =initContext.lookup("Checking");

Problems with the EJB Query Design Wizard When Connecting to a SQL Server Database

There are known problems when connecting to a SQL Server Database:

·         When you use the Sun Jdbc Odbc driver (sun.jdbc.odbc.JdbcOdbcDriver) and work with the EJB Query Design Wizard, when you select columns from the database, the following message appears:

Error: Could not retrieve the database table columns [Microsoft][ODBC SQL Server] Connection is busy with results for another hstmt

To work around this problem, manually enter the SQL statement.

·         When you use the Microsoft  SQL Server Driver (com.microsoft.jdbc.sqlserver.SQLServerDriver), a parsing error occurs and data is written incorrectly in the datapool.

To work around this problem, modify the Driver, URL, username, password, and sql statement columns in the datapool to correctly reflect the information.

Problems with Code Generation

When you generate EJB test code, the model must contain a reference to the javax package. Rational recommends that you create new models using the J2EE template, or that you load the javax package from File>Units>Load and select javax.cat.


Contacting Rational Customer Support

If you have questions about installing, using, or maintaining this product, contact Rational Customer Support as follows:

 

Your Location

Telephone

Facsimile

E-mail

North America

(800) 433-5444
(toll free)

(408) 863-4000
Cupertino, CA

(781) 676-2460
Lexington, MA

support@rational.com

Europe, Middle East, Africa

+31 (0) 20-4546-200
Netherlands

+31 (0) 20-4545-201
Netherlands

support@europe.rational.com

Asia Pacific

+61-2-9419-0111
Australia

+61-2-9419-0123
Australia

support@apac.rational.com

 

Note:  When you contact Rational Customer Support, please be prepared to supply the following information:

·         Your name, telephone number, and company name

·         Your computer’s make and model

·         Your operating system and version number

·         Your product release number and serial number

·         Your case ID number (if you are following up on a previously-reported problem)