savvytest FAQ - Answers To Frequently Asked Questions

Environment And Customizing

Do we need the IBM Rational Developer for System z in order to be able to use savvytest for System z?

No, we also provide seamless integration with other development environments like Micro Focus Enterprise Developer for z. In addition to that, savvytest may be used with any standard Eclipse installation.

Can savvytest be combined with my debugging tool?

Yes, it is no problem to perform unit tests under the control of your debugging tool.

Are the tests executed in a special environment?

No, we deliberately designed savvytest to use a plain z/OS batch environment for execution. By doing so, it is easy to provide the exact environment in which the tested components will actually be executed in production. In order to provide an online environment, utilities like BTS can easily be integrated.

Our software is executed in a custom environment, provided by our framework. Can we provide this same environment for tests being executed in savvytest?

Yes. For this purpose, the runner component provides an exit interface which will be executed before and after execution of the tests. This enables you to setup and teardown your custom environment. We provide sample source code for such an exit.

Is it possible to import the test results into our test management software?

Yes, savvytest provides the test results in an XML format which makes it easy to import the required information.

Functionality And Usage

Is it possible to archive the test results in a way compliant to auditing requirements?

Yes, of course. Each test run produces a so-called archive file which contains the test specifications, all input data, the output data of the test run, as well as all its test results.

Is it possible to keep a version history of the test results?

Yes, savvytest can append a timestamp to the test results, thus creating a unique archive for each test run. But it also integrates easily with Rational ClearCase, Subversion or other equivalent tools.

If the interface of the tested software changes due to ongoing development, how can existing unit tests be adapted to reflect the changes?

Thanks to savvytest's automatic intelligent migration, changes in the interface are recognized automatically, triggering a sophisticated migration of the test data. In most cases, that is all, and no user interaction is required, even if structures or their identifiers have changed. Only if new data have been added or different field names have been used, this information must be added manually.

Does savvytest provide a way to simulate (to "mock") calls to subprograms?

Yes, starting from version 2, savvytest supports the specification of stubs - often also referred to as mockups - to be used during execution of the tests. This causes calls to other components not to be executed but instead simulated. For the first time ever, through this new feature it is possible to perform genuine isolated unit tests.

Does the use of stubs/mockups require a special pre-compile or link edit step for the program that is to be tested?

No, we emphasize that the load module used for these tests can be exactly the same which will be executed later in application or acceptance testing. No modifications whatsoever are required in order to be able to use stubs.

Do you support Contiuous Integration with Jenkins?

Yes, the provided command line tools allow for an integration of savvytest with Jenkins.

Is it possible to execute multiple unit tests in a batch?

Yes, you can bundle any number of test scenarios in a so-called test suite. If executed, all test scenarios will then be run one after the other.

If we establish savvytest in our company and create numerous unit tests with this tool, are they all lost if once we should want to switch to another tool?

No, with savvytest you do not risk a vendor lock-in. All specifications and test data created with savvytest are filed in an XML format which makes it easy to perform a migration if necessary.