Welcome to the Quest Code Tester Community
Search UnitTest All Toad Sites
Welcome, Guest
Login Login / Register
Help
NEW? Get Plugged In

 

Introduction | Requirements | Architecture | Test Dashboard | Test Builder | Test Editor | Results Viewer |Test Reporter
Killer Features | Test Data Groups | Quick Builds | Product Video Tutorials

Introduction

Quest Code Tester for Oracle is a tool for defining PL/SQL unit tests, generating test code, and running those tests, all within a graphical interface. A unit test is a test of an individual unit or program. Unit testing is generally performed by the programmer who wrote the program, or another member of the development team. In other words, if you need to test the logic and output of your PL/SQL code, then Quest Code Tester is the tool for you!

In the ideal world, every program you write has a corresponding suite of unit tests. Quest Code Tester for Oracle helps you get closer to that ideal by making it easier to define your tests, generate your test code, and run the tests, all within an easy-to-use graphical interface. You can, of course, use Quest Code Tester for Oracle to test both individual units and larger-scope programs that call many other units.

The ultimate objective of Quest Code Tester for Oracle is quite simple to state and hard to accomplish:

To allow you to define and run your tests without having to write any code: purely declarative specification of tests.

We are not quite there yet, but with the version of Quest Code Tester for Oracle you have installed you can accomplish the following:

  • 100% declarative specification of tests for deterministic programs which have only scalar arguments (and RETURN clause, if a function);
  • Fully describe your tests within a graphical interface, which means you now have a repository of tests to which you can add over the years. At a minimum, this will serve a critical documentation purpose;
  • Generate all the code required to test whether or not table, cursor variable, collection and scalar contain the expected values (you still have to write the code to specify the expected values of non-scalar values);
  • Write any of the custom test code that you need within the Quest Code Tester for Oracle graphical interface. This custom code will then be generated into the test code (a PL/SQL package). You should strenuously avoid changing the test code after it has been generated. We do not yet support reverse engineering of these changes back into the Quest Code Tester for Oracle repository.

So while we have not yet reached our ultimate objective, we hope you will agree that Quest Code Tester for Oracle offers substantial improvements over the standard way that programmers build and run their tests.

Requirements

Minimum Software Requirements

  • For Desktop: Microsoft Windows 2000, Windows 2003, or Windows XP
  • Requires SQL*Net (32 bit)
  • Oracle database version 9iR2, 10gR1, 10gR2, Oracle Express Edition

Minimum Hardware Requirements

  • Memory: 512MB
  • CPU: 133 MHz or higher Pentium-compatible
  • Diskspace
    • Client: 25MB
    • Database: Quest Code Tester creates a number of table and index objects. Using a default storage clause of init and next entent of 64K the initial install will require approximately 14.4MB. The code packages consume another approximately 4MB of space. Please read the Help for more details on this subject.

Required Database Privileges

  • CREATE PROCEDURE
  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE SYNONYM
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW
  • CREATE TYPE

We recommend that you install Quest Code Tester into its own schema, with the ability to create public synonyms, so that (a) all developers in your organization will have access to Quest Code Tester, and (b) you can keep your application programs separate from the Quest Code Tester code base.

Quest Code Tester for Oracle Architecture

Quest Code Tester for Oracle v1.5 is composed of five main windows:

Test Dashboard 

The Test Dashboard is the main console for Quest Code Tester for Oracle. From the console, a user can quickly:

  • determine the status of the code and the test cases
  • kick off test batches
  • export/import test case definitions
  • manage PL/SQL units individually or with Suite categories.

A Dashboard is logged in to a specific Oracle schema. To work with test definitions in different schemas, you will either grant execute authority on all necessary code or simply start up another Dashboard and connect to other schema.

 Test Builder

The Test Builder provides a 4 step easy-to-follow workflow for creating simple or complex test cases for your PL/SQL units. Simply

  1. Name and document your test
  2. Provide the input values for your unit
  3. Define the type of test and the expected results
  4. Add to your test suite and execute or create your next test.

The Test Builder shares the same Oracle connection as the Dashboard from which it was invoked. You can also start the Test Builder from within a Test Editor.

  • You can build multiple test conditions for a single test!

  • Tests will automatically build and tear down any run-time test objects so test cases can be ran sequentially without any interdependece!

Test Editor 

The Test Editor is quite simply a window that allows you to edit your test definitions. The great thing about Quest Code Tester for Oracle is that all of the test code is implemented via PL/SQL, so your test cases and their complexity is only limited by your imagination - not by some artificial design limitation in the product.

With the test editor you have full access to all of the underlying elements of your test cases. You can quickly:

  • View the properties, e.g. see when it was last modified, who modified it, or change its status
  • View the results for all of the test cases
  • Insert your own 'Customizations', e.g. declare variables, initialize environment settings, or write your own cleanup code
  • View the formatted source of the actual PL/SQL unit
  • View/Edit the actual PL/SQL source of the test code itself
  • And much more!

 Results Viewer

The Results Viewer runs tests, regenerates test code, and shows results for test runs. There is a single Test Runner per connection/Test Dashboard. You can view results from multiple program units in the Test Runner.

Each test execution, its start and run time, and its 'Pass' or 'Fail' status are displayed for the user. You can mouse over the test to see what actual condition was tested for that case. When there is a failure, the Results Viewer will show you where the test failed and why. You can also bring up the Test Editor directly from the viewer if you want to edit the test and re-run it.

The Viewer can filter to only show 'Failures' or just your recent test runs. The Results Viewer screen also has a 'System Events' display tab for showing any error messages or unexpected behavior with the Test Engine itself.

Reports 

Test Reporter - Contains all reporting functionality, plus ability to steer output to file, network, email, Internet, etc.

We have several reports available for version 1.5 and have more in development scheduled for version 1.6.




Killer Features

Quest Code Tester goes above and beyond the call of duty to get you testing your code faster and more efficiently. Here are a few features that the other guys can only dream about:

  Quick Builds

Our Quick Build feature offers a set of pre-defined templates for tests, from which you can choose to quickly create a number of test cases and outcomes. You must then provide the input values for each test case, and fine-tune the outcomes to make sure they reflect your application requirements.

Here's how to get started:

  • Open Test Builder
  • Pin the Quick Build panel to your left
  • Find the Category of test templates you want to take advantage of
  • Drag and Drop the test or group of test templates to the right in the Test Case Browser section
  • Code Tester will ask you if you're sure you want all of the selected tests
  • Code Tester will build out a series of tests using the templates
  • Select each test and fill out the details
  • Save, Close, & Run!


Test Data Manager

The Test Data Manager allows users to view and manage Test Data Groups. Test Data Groups are used in Inputs and Outcomes to quickly define multiple test cases, rather than create them one by one. Quest Code Tester offers a set of pre-defined groups, which can be used immediately in your test definitions. You can also add your own application and domain specific groups of data, which will accelerate your test construction. The values for a Test Data Group can be hard-coded (listed explicitly) or can be provided at test time through a query.



Video Tutorials 

To help you learn how to make the best use of Quest Code Tester for Oracle as quickly as possible, we offer a library of tutorials. To access the library, follow the link in the 'Community Home' site navigation window.

Simply pick a category and click on the arrow. You will then see a list of topics. Click on a topic to access that tutorial. A tutorial consists of a Flash video, step by step instructions for doing the same thing yourself, sample code you can use, and a test definition export.