This page shows you what we do to achieve a
high level of quality for our software so that you can be confident that our
software simply works for you instead of annoying you with bugs.
The core of our software, our OCL parser and semantic checker is written in C++.
This assures fast processing and the capability to integrate the parser in
almost every software environment.
Unit testing
Central to our development process are unit tests with
CppUnit.
As of version 1.5.3 of our OCL parser (corresponding to version 1.7.3 of
Oclarity for Rational Rose) our test suite contains 105 tests with 859
distinct checks.
Static code checking
We use
PC-Lint for static code
checking. Here is the list of
suppressions that we use.
Run time checking
We execute our unit test suite regularly with a runtime checker that detects
memory allocation problems, pointer problems and much more.
Testing the modeling tool adapter
Our unit tests use a
mocked model repository.
But of course Oclarity uses the actual model repository of Rational Rose.
To test the binding to Rational Roses internal repository, we have created
a dedicated
test AddIn.
This AddIn reads all required information from an
XML-file and then checks all expressions. The information that is retrieved from
the XML-file is
-
The path to the Rational Rose model file that is to be used for the
tests. This file is loaded automatically when the tests are executed.
-
A symbolic name that identifies each OCL expression.
-
Some technical information (like the number of nodes in the syntax tree)
that is used to verify the correct parsing and checking of the
expression.
-
The actual OCL expression.
We use various such files, mostly derived from the
official OCL specification and from the
OCL book (both editions).