RobusTest: A Framework for Automated Testing of Software Robustness
Paper i proceeding, 2011

Robustness of a software system is defined as the degree to which the system can behave ordinarily and in conformance with the requirements in extraordinary situations. By increasing the robustness many failures which decrease the quality of the system can be avoided or masked. When it comes to specifying, testing and assessing software robustness in an efficient manner the methods and techniques are not mature yet. This paper presents RobusTest, a framework for testing robustness properties of a system with currently focus on timing issues. The expected robust behavior of the system is formulated as properties. The properties are then used to automatically generate robustness test cases and assess the results. An implementation of RobusTest in Java is presented here together with results from testing different, open-source implementations of the XMPP instant messaging protocol. By executing 400 test cases that were automatically generated from properties on two such implementations we found 11 critical failures and 15 nonconformance problems as compared to the XMPP specification.

property based testing

testing

Robustness

real time systems

temporal property

timing

Författare

Ali Shahrokni

Chalmers, Data- och informationsteknik, Software Engineering

Robert Feldt

Chalmers, Data- och informationsteknik, Software Engineering

APSEC 2011

1530-1362 (ISSN)

171-178

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Programvaruteknik

DOI

10.1109/APSEC.2011.58

ISBN

9780769546094