QCA Test Plan

There are two types of tests that you should consider running on your
QCA build - manual functionality tests, and automated "self checking"
tests.

You should start with a couple of quick manual tests, then do the
automated tests, and then conduct more sophisticated manual tests.



Initial Manual Testing

The fist step is to use the "qcatool" command line tool to verify
basic operation.


Test 1 - Verify startup

Execute the "qcatool" application with no arguments

Expected result: Information on usage of the application is
displayed.



Test 2 - Verify application version

Execute the "qcatool" application with the "--version" option

Expected result: Information on the version of QCA and the version of
qcatool is displayed.



Test 3 - Verify plugin can be loaded

Execute the "qcatool" application with the "plugins" option

Expected result: The plugin paths are displayed (which correspond with
the appropriate plugin directory for Qt, and the current
directory). 

The list of providers is displayed, or "(none)" is displayed if no
providers are installed. Note: "(none)" should not be displayed if any
providers are installed.



Test 4 - Run "self checking" tests

Note: this test does not exercise any providers unless the providers
are installed.

Note: automated unit testing with qmake is experimental.

Run "make test" in the build directory.

Expected result: All (23) tests pass.



Additional "self checking" tests

Depending on test requirements, consider running additional unit tests
that are not in the "make test" set. For example, to run the unit
tests for TLS Server Name Indication, run the "veloxunittest" test
application from the "unittest/velox" directory.

Note that tests outside the "make test" set are potentially fragile,
and should not be expected to pass in all circumstances. Nor should
the tests be expected to fail if there is a problem. You should ensure
that you understand what the test is supposed to be checking before
running the test and attempting to interpret the results.



Additional manual tests

Depending on test requirements, consider using "qcatool" to check for
additional functionality.

Depending on test requirements, consider using code in the "examples"
directory to verify functionality.