KCMS Test Suite User's Guide

Approach To Testing

The KCMS test scripts are organized to focus on a specific function call and exercise it through the range of its parameters. Because some functions depend upon the successful completion of previous functions, by necessity, a given test consists of several different API function calls.

To absolutely verify that a profile is loaded successfully would require examining internal framework variables for specific values. Such an approach to testing the API is too intrusive to be effective. The KCMS test scripts, instead, rely on the status returned from each of the KCMS API functions along with some inferred conclusions about the results of functions yet to be executed. For example, the status returned from connecting two profiles is one indication that a connection succeeded. Following this, the new complete profile can be used in a call to KcsEvaluate()() and the status returned from the evaluation can be used as another indication of the success of the connection. This assumes that the evaluation has no errors associated with it. If you want to further verify the connection, you can examine the image resulting from the call to KcsEvaluate()() and compare it to some expected output.

In the above testing scenario, subsequent framework calls are used to verify an initial call, and conclusions about the initial call are drawn from the results of subsequent calls.

The ultimate goal of using the KCMS framework is to evaluate the results of applying color correction to images. The test images are organized in TIFF file format. To preserve system resources, many of the test scripts do not save the resulting TIFF image (however, you have the option to save the image). The main test concern is to demonstrate that the evaluation completes successfully for a given profile.

The scripts described in this guide do not focus on the color quality of the images tested. In a few cases, the color-managed image can be displayed for verification purposes, however the primary focus of the tests is to demonstrate the software color quality. In most cases, you must visually inspect an image to verify it.