The modern IT landscape consist for a large part of communicating systems. The protocols used to facilitate this communication can be very complex. A correct implementation is of utmost importance, as an error in one system must not spread to its peers. In practice, testing these protocol implementations is very hard due to the large amount of possible sequences of interactions, time based properties and parallelism. This commonly results in software of poor quality.
We often observe the following problems.
Low test coverage
Testing all interactions of a protocol is hard, especially when infinitely long sequences of interactions are possible. In practice, only a minimal test coverage is achieved with a manually written test suite.
Huge testing effort
Despite the minimal test coverage achieved, a huge amount of effort is usually spent to write such a minimal test suite.
Due to testing difficulties, errors are often discovered when the systems are being used in production, sometimes with severe consequences.
Our platform is extremely well suited for testing protocol implementations due to the fact that protocols match well with our modeling formalism. This approach to testing is a form of model based testing.
Test cases are automatically generated, executed and assessed using a formal specification of the protocol. This way, our platform completely automates the testing process. Our platform chooses test cases in a smart way to ensure an optimal test coverage. Using this approach, you can be confident that the implementation conforms completely to the specifications and behaves robustly against unexpected behavior.
Model based protocol testing has many advantages compared to the current approach.
Humans do not have to write and maintain test cases, which saves a large amount of effort and prevents mistakes.
High test coverage
Our platform chooses test cases in such a way that test coverage is maximized. It also offers clear feedback on the obtained test coverage of the system under test.
Models represent the specification of the desired system and are completely separated from the actual implementation. This results in an independent check of the delivered system.
Our platform generates long and complex interactions with the system under test. This ensures ... are found in protocol implementations.
Models are easy to maintain. When the specifications are updated, you only have to update the corresponding model. An updated test suite then comes for free.
The models of the protocol serve as unambiguous specifications.
Protocol testing at customers
Protocol testing is being applied successfully among others at ProRail and ITAB.
Sounds interesting? We would love to tell you more. Contact Machiel van der Bijl for additional information.
+31 6 1642 6332