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
Deploying Stubs Permanently to a WebLogic
Server
COM Test Scripts Fail to Run from TestManager
Guidelines, Defects, and Restrictions
Database
Verification Points Captured Baseline.
Rational QualityArchitect
Console
Problems
with Debugging Scripts
Running
Test Scripts from Rational TestManager
Upgrading
Test Assets from Previous Releases
Problems
with Microsoft Office 2000
Online Manual
on Windows XP Systems
Submitting
Defects in the Test Log Window
UCM on
Windows NT with ClearCase 5.0
Rational's
RQA Weblogic Deploy Utility
Limitations
with COM Programmatic ID Strings
Using Fully
Qualified Class Names
Running RQA
Java Test Scripts from TestManager
Working
with Stub Code from Previous Releases.
Problems
with VisualAge for Java
Problems
with Database Verification Points and Sun JVM 1.2.2
Problems
with the EJB Query Design Wizard
Problems
with the Rational Bank Account Sample
Application
Connecting
to Remote Application Servers with the Session Recorder
J2EE
Dependency on ioserxx.dll
Problem
with the isIdentical() Method Using the Sun J2EE Reference Server v.1.2.1
Additional
Classpath Requirement for WebLogic 6.1.
Problems
with the EJB Session Recorder and VAJ.
Problems
with Verification Points on Windows NT Systems When Testing Java Applications
Problems
with Long Constant Values in Method Parameters
Multiple Use of java.lang.Object
remoteObject During Session Recording
Problems
with the EJB Query Design Wizard When Connecting to a SQL Server Database
Contacting Rational Customer Support
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).
The procedure documented in this section of the Rational QualityArchitect User’s Guide is missing a step.
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"
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"
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
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.
Closing the Rational QualityArchitect Console sometimes results in an application error on Windows ’98 operating systems.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
· 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.
· 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.
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.
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. |
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.
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.
· 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
· 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. |
|
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.
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.
QualityArchitect tests that reference Japanese-language datapool values cannot be executed from VisualAge for Java on Japanese Windows2000 operating systems.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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")
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");
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.
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.
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 (408) 863-4000 |
(781) 676-2460 |
support@rational.com |
Europe, Middle East, Africa |
+31 (0) 20-4546-200 |
+31 (0) 20-4545-201 |
support@europe.rational.com |
Asia Pacific |
+61-2-9419-0111 |
+61-2-9419-0123 |
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)