Quest® Code Tester for Oracle

Version 2.6.1

Release Notes

September 2013


Contents

Welcome to Quest Code Tester for Oracle

New in This Release

Resolved Issues and Enhancements

Known Issues

System Requirements 

Global Operations

Getting Started 

For More Information 

   

Welcome to Quest Code Tester for Oracle

Quest Code Tester for Oracle is a tool to help you test Oracle code, written in the PL/SQL language. Code testing is generally acknowledged to be one of the biggest challenges and disappointments in the world of software.

We all know we should test our code. More than that, we all want to test our code, but there are many challenges to implementing a strong regression test of our code.

These challenges include having to write a large volume of test code, keeping that test code in synch with our application code as it changes, verifying the results of running our tests, and more.

Quest Code Tester for Oracle tackles these challenges by making it easy to define your tests, generate your test code, and run the tests, all within an easy-to-use graphical interface.

The bottom line with Quest Code Tester: you don't write test code. You describe your tests, and the tool then generates the test code (as a PL/SQL package) that implements your test definition.


New in This Release

2.6.1 introduces the resolved issues and enhancements listed below.

New in Quest Code Tester for Oracle 2.6

Unicode

Code Tester for Oracle 2.6 supports Unicode in the following places in the product:

Note: Code Tester is not able to connect to Oracle schemas with Unicode symbols in their names.

To be compatible with Unicode:

Enhanced Datatype Support

Code Tester for Oracle 2.6 now supports the following data types:

Code Tester is able to test programs with arguments/return values of these data types, and create input and outcome values for such tests.

Note:For all of the above datatypes, you must specify values as expressions and not literals.

64-bit Oracle Client Compatibility

Starting with Code Tester 2.6, you can connect to databases with the Oracle 64-bit Client. The 64-bit client software must be installed on the computer on which the Code Tester client executes.

Here are some tips for using Code Tester with the 64-bit client:


Resolved Issues and Enhancements

The following is a list of issues addressed and enhancements implemented in this release of Quest Code Tester for Oracle:

Feature Resolved Issue ID Support ID
Import Importing into 11.2.0.2 and higher 64-bit databases now functions properly. (ORA-03114 "Not connected to Oracle".) 111,918 22255041
Run to Test Add capability to show content of ref cursor variables to "Run to Test" feature. 100,674 10309141
XMLType Users no longer receive error message: Running programs with parameters of XMLTYPE types will be implemented later. 108,255 2115906-1
XMLType Make sure that when creating Code Tester repository in Oracle 11.2.0.2 and above all XMLTYPE columns are created as CLOBs but not as BINARY ones (BINARY is a new default). 110,279 ToadWorld forum
Data types Support BLOB datatype. 110,449 PM
Unit test Unit test order is now used when defined. 110,526 21775101
Testing MDSYS objects can now be recognized when tested program and testing code belong to different schemas (not MDSYS). 111,396 22071011
Testing Duplicating a test case no longer causes a EInvalidPointer exception. 111,693 22253591
Customization Editing the customization section for a test case no longer causes an access violation. 111,695 22253931
External initialization Restored the ability to run external initialization and cleanup scripts including nested scripts from OS files using @. 111,740 22304921

Resolved Issues and Enhancements (2.6)

Feature Resolved Issue ID Support ID
Test Builder String literals with '+' symbol in it were not processed correctly when using in inputs and outcomes. 108139 21205851
Test Builder Don't show Detail Editor for outcomes while data type of expected results was empty. 104961 10824491
Test Builder EQ function was not generated correctly for object type/record, which contains another object type/record more than once on different levels of nesting. 109370 21438391
Deep Parsing Deep Parser was unable to resolve schema level type, which is collection of objects, which is nested in object type. Both the collection type and its row type (object) are from schema different from connected. All needed privileges exist. 108707 21343131
Deep Parsing XML format error when string values of inputs/outcomes contains accented letter (like á é í ó ú in Spanish) 106291 20442161
Unicode Test code did not run correctly when NLS_LANG's language and territory values were different from those, which were set when the test definition was created. 108706 21087811
Deep Parsing Compilation error when data type to be tested had a nested collection of records. 106651 20707171
Error Handling Code 1 should say USER-DEFINED EXCEPTION and the right word for codes 10010004 and 10010012 is CHILD not CHILDREN. 80320 (Forum)
Export Export produced incorrect XML when set to ignore timestamps AND a test definition had code coverage stats. 108404 (Forum)

Known Issues

The following is a list of issues known to exist at the time of this release.

Feature Known Issue Defect ID
Unicode type schemas Code Tester is not able to connect to Oracle schemas with Unicode symbols in their names. N/A
CHAR Arguments Handling of CHAR (fixed length) arguments not correct when the argument is defined as %TYPE against a column. ST49010
Results Viewer Attributes are not displayed in Results Viewer for "IN argument values". The values of type OBJECT do display. N/A
Default values for object type method parameters unavailable The default value for parameters of object type methods are not visible inside Code Tester. You must explicitly type in the default value if you want to test that option. N/A
Cannot run a test definition when locked by another user. After a test definition is run, its "last run status" is updated. This cannot be done if the test definition has been locked by another user (say, to edit the test definition in some way). So if you try to run a locked test definition, Code Tester will stop you. N/A
Argument Names That Contain Single Quotes Will Cause Test Code Compile Errors If you argument name contains a single quote, as in "in_arg_with'", the code that Code Tester generates will be invalid. You will need to change your argument name in this case. N/A
Cannot request default value for IN argument of object type method In 1.9 and higher, you can now request that Code Tester not pass a value for any IN arguments that have a default value (thereby using the default value instead). This feature is only available for procedures and functions defined in packages or at the schema level. It is not supported for methods of object types. N/A
A literal value of "null" (in any case variation) is treated as NULL If you enter the four letters "null" as the literal value for an input or outcome expected value, Code Tester will record that value as a NULL, rather than a string of four letters. This will happen for any case variation of these four letters, such as "Null" and "NULL". If you need to pass a literal string consisting of these four letters, specify it as an expression and surround the string in single quotes. N/A
Generate Outcomes incorrectly saves NULL values If you use the Generate Outcomes wizard and a calculated value is NULL, it will by default be displayed as a string "{null}", and this will be saved into the outcome as the expected value. You will need to manually change this string to a real NULL value before running your test to get a correct result. N/A
ALTER SESSION commands in your code could cause errors

If you include statements like those shown below in your programs:

EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT=BINARY_CI';

EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_COMP=LINGUISTIC';

Then you will get runtime errors when you try to run your test.

N/A
Test definitions with expressions or single value queries may fail to run first time

If your test definitions contains outcomes for expressions or single value queries, then after importing you may get compile errors in your test code the first time you try to run the test. Errors will look like this:

PLS-00103: Encountered the symbol ";"

and the test code will contains lines of code like:

l_fp_value ;

(the datatype of the declaration is missing).

In this case, simply open your test definition in Test Builder and immediately run your test. It should then compile without errors. After doing this, export your test definition and it should work properly after that point.

N/A
Specification of table name in outcome may not contain a comment When you specify the name of the table for a table outcome (for example: "Is a table empty?" or "Is this table equal to another table?"), you may not include any kind of comment next to the table name. Examples of invalid specifications of tables: EMPLOYEES /* employee table */ or EMPLOYEES – employees table. N/A
Constraints on queries with unnamed expressions If you test the contents of a query that contains unnamed expressions (that is, it is an expression rather than simply a column name and you do not provide a column alias), then that expression may not: contain a single quote, be equal to SYSDATE, or be equal to USER. Examples that will cause problems: SELECT name || 'abc', SELECT SYSDATE, SELECT USER. This is due to idiosyncratic behavior in the Oracle parser. N/A
Suite import does not notify user of missing programs When you import a single test definition, Code Tester will warn you if it cannot find the program that this test definition purports to test. When you import a suite, this same warning will not be shown if one or more of the test definitions in the suite reference a program that cannot be found. N/A
Random number generation fails on Oracle 9i You will be unable to define test cases that rely on random number generation in Oracle 9i. Limited support by Oracle for table function execution in SQL queries causes errors. N/A
Cannot directly test a query You cannot test a query directly. Instead, you will need to create a procedure that is, in essence, a "dummy" driver. Create a test definition for that procedure, then define an outcome for that query. N/A
Cannot directly test a trigger You cannot test a trigger directly. Instead, you will need to create and/or run a procedure that performs the DML operation necessary to fire the trigger. You then create outcomes to verify the changes made by the trigger. N/A
Importing a suite When you import a suite, it deletes any existing suite with the same name, even if it is actually a different suite owned by a different user. N/A
Uninstalling a Code Tester Repository When you uninstall a Code Tester repository, public synonyms are dropped, even if those synonyms are not owned by the schema from which you are uninstalling the repository. In this case, you will need to re-create the public synonyms. N/A
Using a column named COLUMN_NAME You cannot test the contents of a table or query with column named COLUMN_NAME. It must be renamed via the query's SELECT column alias. N/A
32K Query Strings Query strings of more than 32k are not supported. N/A
Dataset Comparison Logic Containing Expressions New dataset comparison logic does not work with a query that contains expressions that are not given column aliases. N/A
Entering SELECT Statements When you enter a SELECT statement for a query, that query must not have any leading comments, nor should it start with OPEN FOR. It also should not have a terminating semi-colon. If you include such text, you may see compile errors in the generated test code or your query may be interpreted as a table name. N/A
Testing contents of tables with non-scalar columns Quest Code Tester does not perform dataset comparison checks for tables with CLOB columns and other complex datatypes. Instead, Code Tester will automatically ignore any columns of these types that cannot be used in the comparisons. N/A
Testing the Contents of Cursor Variables When testing the contents of cursor variables with very large numbers of rows, you may receive a "ORA-04030: out of process memory" error. This occurs because Quest Code Tester users nested tables to cache the cursor variable result set. You will need to reduce the number of rows analyzed in your test to avoid this issue. N/A
Test data values consisting of very large strings Test data values (values in Test Data Groups) cannot have more than 32,512 characters in them. While PL/SQL officially supports variable length strings of up to 32K (32767) characters, when using dynamic SQL the limit is reduced to 32,512. When working with Test Data Groups, Quest Code Tester applies those values using dynamic SQL, thus hitting the lower limit. N/A
Tablespace Availability for Installation Quest Code Tester performs some basic analysis to determine if you have sufficient tablespace available to install the product. This calculation is not always accurate, however, you may run out of space. The installer will notify you that the installation fails, but it will not report specifically on this error. If you have an install error, please check the qu_install.log file for tablespace errors. If present, you will need to install into a different tablespace or ask your DBA for more space. N/A
Import test definition to different schema When you export a test definition, you can specify that you want the export owner set to the owner to which the test will be imported. This step will remove most but not necessarily all of the schema names in the test definition. Some may still be prefixed on packaged types, such as collection types and record types. This will cause compile errors on the test code. Solution: go into your test definition and change/remove those schema names, or edit the export file directly. N/A
Specifying times for TIMESTAMP You may not enter sub-second values in your timestamp literal value. Quest Code Tester only supports time specifications down to the nearest second. You can, however, specify sub-seconds using expressions (like TO_TIMESTAMP function, for example). N/A
Not connecting to ORACLE message When enabling DBMS profiling with customization and then running a test, you may encounter an ORA-03114: not connected to ORACLE message or an ORA-03113: end of file on communication channel error message and find that they have been disconnected from the database. This is an Oracle bug in the profiler logic and occurs inconsistently. N/A

System Requirements

Before installing Quest Code Tester for Oracle, ensure your system meets the following minimum hardware and software requirements:

Platform 1.0 GHz x86 compatible CPU
Memory 512 MB of RAM recommended
Hard Disk Space 100 MB of disk space for installation
Operating System

Microsoft Windows 2000 Professional Edition (Service Pack 4)

Microsoft Windows XP 32-bit (Service Pack 2 or later) and 64-bit (x64; All Service Packs)

Microsoft Windows Server 2003 32-bit and 64-bit (Service Pack 1 or later)

Microsoft Windows Vista 32-bit and 64-bit (All Service Packs)

Microsoft Windows Server 2008 32-bit and 64-bit (All Service Packs)

Microsoft Windows Server 2012 32-bit and 64-bit (All Service Packs)

Microsoft Windows 7 32-bit and 64-bit (All Service Packs)

Microsoft Windows 8 32-bit and 64-bit (All Service Packs)

Database Client

Oracle SQL Net 9

Oracle SQL Net 10

Oracle SQL Net 11, plus Instant Client

Note: Quest Code Tester for Oracle has been tested on Oracle Exadata 2.0 running Oracle database 11g R2.

Database Server 9i Database Release 2 (9.2.0.6 or above), 10g R1, 10g R2, Oracle Express Edition, 11g R1, 11g R2
Cloud Database Server Oracle databases running on Amazon EC2.
Required Database Privileges

The schema in which you install Quest Code Tester must have these privileges:

CREATE PROCEDURE

CREATE SEQUENCE

CREATE SESSION

CREATE SYNONYM

CREATE TABLE

CREATE TRIGGER

CREATE VIEW

CREATE TYPE

Note 1: Quest Code Tester will create a schema with the necessary privileges as part of the installation process, when the create new user and install into new user schema option is selected on Step 2 of the Repository Wizard.

Note 2: We recommend that you install Quest Code Tester into its own schema, and create public synonyms so that all developers will be able to use Quest Code Tester and share their test definitions. This will also help you keep application code distinct from the Quest Code Tester code base. To do this, your schema must also have CREATE and DROP PUBLIC SYNONYM privileges.

Note 3: The Code Tester repository schema and any schema executing a test require the execute privilege on the DBMS_RANDOM package.

Virtualization Support

Before installing Quest Code Tester for Oracle, review the following for virtualization support:

Application
  • Quest Code Tester for Oracle has been tested with Quest vWorkspace 7.0.
  • Quest Code Tester for Oracle has been tested for Citrix XenApp 5.0 support on Windows Server 2003 (Service Pack 2) using the MetaFrame Presentation Server 4.0 and Citrix Presentation Server Clients 10.2.
  • Oracle VM 3.1.1 running on Windows Server 2008 R2 with Oracle 11g R2.

Note: Code Tester may work in virtualization environments other than the ones in which it was tested.


Global Operations

This section contains information about installing and operating this product in non-English configurations, such as those needed by customers outside of North America. This section does not replace the materials about supported platforms and configurations found elsewhere in the product documentation.

This release supports any single-byte character set. Double-byte or multi-byte character sets are not supported. In this release, all product components should be configured to use the same or compatible character encodings and should be installed to use the same locale and regional options. This release is targeted to support operations in the following regions: North America, Western Europe and Latin America, Central and Eastern Europe.


Getting Started

Contents of the Release Package

The Toad release package contains the following products:

  1. Quest Code Tester for Oracle version 2.5
  2. Product Documentation, including:

Installation Instructions

Refer to Quest Code Tester for Oracle Installation and Administration Guide for installation instructions.


For More Information

Get the latest product information, find helpful resources, and join a discussion with the Code Tester for Oracle Quest team and other community members. Join the Quest Code Tester for Oracle community at http://unittest.inside.quest.com/index.jspa.

Contact Quest Software

Email

info@quest.com

Mail

Quest Software, Inc.

World Headquarters

5 Polaris Way

Aliso Viejo, CA 92656 

USA

Web site

www.quest.com

See our web site for regional and international office information.

Contact Quest Support

Quest Support is available to customers who have a trial version of a Quest product or who have purchased a Quest product and have a valid maintenance contract. Quest Support provides unlimited 24x7 access to SupportLink, our self-service portal. Visit SupportLink at http://support.quest.com.

From SupportLink, you can do the following:

• Retrieve thousands of solutions from our online Knowledgebase

• Download the latest releases and service packs

• Create, update and review Support cases

View the Global Support Guide for a detailed explanation of support programs, online services, contact information, policies and procedures. The guide is available at: http://support.quest.com.


 

© 2013 Quest Software, Inc.
ALL RIGHTS RESERVED.

This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of the applicable agreement. No part of this guide may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of Quest Software, Inc.

The information in this document is provided in connection with Quest products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Quest products. EXCEPT AS SET FORTH IN QUEST'S TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, QUEST ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL QUEST BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF QUEST HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Quest makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Quest does not make any commitment to update the information contained in this document.

If you have any questions regarding your potential use of this material, contact:

Quest Software World Headquarters
LEGAL Dept
5 Polaris Way
Aliso Viejo, CA 92656
email: legal@quest.com

Refer to our Web site (www.quest.com) for regional and international office information.

Patents

This product includes patent pending technology. Quest, Quest Software, the Quest Software logo, are trademarks and registered trademarks of Quest Software, Inc in the United States of America and other countries. For a complete list of Quest Software’s trademarks, please see http://www.quest.com/legal/trademark-information.aspx. Other trademarks and registered trademarks are property of their respective owners.

Trademarks

Quest, Quest Software, the Quest Software logo, AccessManager, ActiveRoles, Aelita, Akonix, Benchmark Factory, Big Brother, BridgeAccess, BridgeAutoEscalate, BridgeSearch, BridgeTrak, BusinessInsight, ChangeAuditor, CI Discovery, Defender, DeployDirector, Desktop Authority, Directory Analyzer, Directory Troubleshooter, DS Analyzer, DS Expert, Foglight, GPOADmin, Help Desk Authority, Imceda, IntelliProfile, InTrust, Invirtus, iToken, JClass, JProbe, LeccoTech, LiteSpeed, LiveReorg, LogADmin, MessageStats, Monosphere, NBSpool, NetBase, NetControl, Npulse, NetPro, PassGo, PerformaSure, Point, Click, Done!, Quest vToolkit, Quest Code Tester for Oracle, Quest vWorkSpace, ReportADmin, RestoreADmin, ScriptLogic, SelfServiceADmin, SharePlex, Sitraka, SmartAlarm, Spotlight, SQL Navigator, SQL Watch, SQLab, Stat, StealthCollect, Storage Horizon, Tag and Follow, Toad, T.O.A.D., Toad World, vAutomator, vConverter, vEcoShell, VESI,vFoglight, vPackager, vRanger, vSpotlight, vStream, vToad, Vintela, Virtual DBA, VizionCore, Vizioncore vAutomation Suite, Vizioncore vEssentials, Vizioncore vWorkflow, WebDefender, Webthority, Xaffire, and XRT are trademarks and registered trademarks of Quest Software, Inc in the United States of America and other countries. For a complete list of Quest Software’s trademarks, please see http://www.quest.com/legal/trademark-information.aspx. Other trademarks and registered trademarks are property of their respective owners.