Setting multiple test case call values in SSMA

SSMA for Oracle and Sybase include tester suite to automate comparison testing between the source and target SQL Server database. The test cases can be defined using Test Case Wizard UI. You can specify database object to test (e.g. function), specify input argument value(s) for the function, SSMA will then call the function on both source and target database and compare the return values.

testcasewizard

For testing purposes, you may want to test the function on wider range of call values. The Test Case Wizard UI allows you to specify as many call values as you need. However, the call values need to be defined one at a time and this may be time consuming if you need to test across large ranges of values.

Alternatively, you can set multiple values by updating the test cases directly through the backend database. First you have to create the test case with one or two call values from test cases wizard. Complete the test case wizard, after which, you can modify the test cases by adding more call values from the backend database.

SSMA for tester stores the test cases in a database called ssmatesterdb. This database is created when you install SSMA extension pack. The database contains a table called ssma_oracle_utilities.TestCaseRepository. The test case definition is stored as XML format in fullXMLDescription column.

ssmatesterdb

You can open the xml and locate the function you are testing then look for the call action GUID value. There are 2 call actions each correspond to the call values defined in this example.

fullXMLDescription1

Search for one of the GUID will take you to XML element called action that defined the call values.

fullXMLDescription2

You can add new element node(s) for the additional call value by copying the element node and modify as the example below:

fullXMLDescription3

Note that you have to generate new values for the action guid, call-value-node guid, source-value-node guid and target-value-node guid. You will also need to increment the call-index and call-order-index.

Finally, you need to append the newly added action-guid value(s) to the actor element node for the function from the earlier step:

fullXMLDescription4

Once you update the xml value in fullXMLDescription column, you can re-open the test case from the test case wizard UI and see the newly added call values:

testcasewizard2

Note that updating test cases directly from backend database is an unsupported approach so you should take this approach with caution and make a backup of the ssma_oracle_utilities.TestCaseRepository table before you make any update.