| February 1, 2006 Dear Oracle technologist, You are receiving this email because you either (a) expressed interested in being a beta tester of a new unit testing tool I have built, named Qute, or (b) you are on the utPLSQL list, which means you are interested in unit testing PL/SQL programs. I am very happy and proud to inform you that the first pre-release version of Qute, the Quick Unit Test Engine, is now available for downloading. Simply visit http://www.unit-test.com/download.php, download the software and run the QuteInstall.exe. Then run Qute.exe to enter an entirely new and wonderful world of unit testing for PL/SQL programs. Qute is far from complete and far from fully implementing my vision of 100% declarative specification of unit test definitions (that is, no coding needed to test your own programs). Still, I am confident that you will find it to be by far the best path to designing and running tests of your PL/SQL code. The Help document should be of some use to you, but I will admit that it is still on the skimpy side. I am hoping, however, that you will find the Qute interface sufficiently intuitive that you will not need to rely on the Help document all that much (and I offer some guidance below). If you have ideas for enhancements or you need to notify us of a bug, you can choose any of these options:
1. Visit http://www.unit-test.com/contact.php and fill in the form. I will also offer a one-hour webinar introduction to Qute on Friday, February 3, at 11 AM Central Time (Chicago). Here are instructions to attend the webinar: (a) Ensure that your computer is compatible for the webinar software. From Internet Explorer (and you must use IE), visit this URL http://giles.bcimeeting.com/imtapp/system_check/SystemChecker.exe and run the System Checker software. (b) About 10 minutes prior start of the webinar, go to this URL (from Internet Explorer) http://giles.bcimeeting.com/imtapp/app/cmn_jm_hub.uix?mID=370567&siteID=0. There is no password for the webinar. You should be able to proceed directly to the webinar, where you will see a greeting page. (c) For voice, dial 319-256-0500 and enter the access code 1064944#. You will then enter the webinar. Please press 4 to receive instructions and press 6 to mute/unmute your line. I ask that you mute your line when you do not have a question, to minimize background noise on the webinar. To further help you get started with Qute, you will find below an overview of the product and a description of the "fast track" - the best way to start using Qute. These both are taken from Qute Help. Warm regards, Qute OverviewQute is the Quick Unit Test Engine. It is a tool for defining 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 the ideal world, every program you write has a corresponding unit test. Qute helps you get closer to that ideal by making it easy 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 Qute to test both individual units and larger-scope programs that call many other units. The ultimate objective of Qute is quite simple to state: allow you to define and run your tests without having to write any code: purely declarative specification of tests. We are not there yet, but with the version of Qute you have installed you can accomplish the following:
So while we have not yet reached our ultimate objective, we hope you will agree that Qute offers substantial improvements over the standard way that programmers build and run their tests. Qute Fast TrackQute was designed and built by programmers, and we've never met a programmer who wanted to spend time testing their code -- so we have worked hard to streamline the process you need to follow to define and run tests. We're not completely satisfied with Qute on this score yet, but we are confident you will not find a tool that will save you more time than Qute when it comes to testing. So...the way to make the best of Qute in the smallest amount of time: 1. Right click on the Test Definitions placeholder in the browser and select Add Test Harness. 2. Follow the steps in the Add Test Harness to create your test harness (the test definition, often referred to in testing circles as the "harness" in which your code is tested). Specify as many test cases as you can think of, and fill in as many of the input and expected values as possible (currently only scalars are supported). 3. After you have created your test harness, drill down to each of the individual unit tests (programs) you want to test.* If you have created a harness for a procedure or function, then there will be just one unit in the harness. If you are testing a package, there may be multiple units, not all of which need to be tested. [* If your program is a deterministic function with scalar-only arguments, and you have fully specified your tests in the Add Test Harness grid, then you can skip all of this and move right into running your tests and debugging your code!] 4. Review the test elements (initially, there is a test element for each argument, as well as for any tables or views on which the program is dependent), to see if there anything you need to change. You might also need to add new test elements. For example, when testing tables, cursor variables and records, you will likely need to create Query or Table test elements, and then set the default values. When testing collections, you will want to set the "equals function" if the collection is not a list of scalars. 5. Now drill down into each of the test cases for your unit. You might want to make sure the test case name is descriptive of the scenario that is being tested. Add a description so that it will be easy for anyone to understand generally the inputs and expected results for this test. Most importantly, set the values for the input arguments (these will have been generated for you automatically). 6. Finally, it is time to review and set the Outcomes. The outcomes contain information about the state of your data or environment after the program has run. Outcomes can be very simple ("I expect the function to return 'abc'.") or complex ("I expect the procedure to fill up the table with 10000 rows of data."). You will almost certainly need to create new outcomes, an action available via the right-click menu or main menu of Qute. 7. Generate and run your test! After you are satisfied with the test definition and outcome values, you can run the test with a right-click on the harness name or through the toolbar. Qute will automatically detect if you need or should re-generate the test code from your definition. |