TY - JOUR
T1 - Conformance test development with the Java modeling language
AU - Søndergaard, Hans
AU - Korsholm, Stephan E.
AU - Ravn, Anders P.
PY - 2017
Y1 - 2017
N2 - In order to claim conformance with a Java Specification Request, a Java implementation has to pass all tests in an associated Technology Compatibility Kit. This paper presents a model-based development of a Technology Compatibility Kit test suite and a test execution tool for the draft safety-critical Java profile specification. The Java Modeling Language is used to model conformance constraints for the profile. Java Modeling Language annotations define contracts for classes and interfaces. The annotations are translated by a tool into runtime assertion checks. Hereby, the design and elaboration of the concrete test cases are simplified, because the expected results are derived from contracts and thus do not need to be provided explicitly. Bottom-up testing is applied for testing methods of the safety-critical Java classes, whereas top-down testing is applied for testing global properties, such as protocols, memory management, and real-time properties, including scheduling. The tests are executed using a simplified version of JUnit, which makes the test suite executable on resource-constrained platforms.
AB - In order to claim conformance with a Java Specification Request, a Java implementation has to pass all tests in an associated Technology Compatibility Kit. This paper presents a model-based development of a Technology Compatibility Kit test suite and a test execution tool for the draft safety-critical Java profile specification. The Java Modeling Language is used to model conformance constraints for the profile. Java Modeling Language annotations define contracts for classes and interfaces. The annotations are translated by a tool into runtime assertion checks. Hereby, the design and elaboration of the concrete test cases are simplified, because the expected results are derived from contracts and thus do not need to be provided explicitly. Bottom-up testing is applied for testing methods of the safety-critical Java classes, whereas top-down testing is applied for testing global properties, such as protocols, memory management, and real-time properties, including scheduling. The tests are executed using a simplified version of JUnit, which makes the test suite executable on resource-constrained platforms.
KW - Conformance test
KW - Formal specification
KW - Java Modeling Language
KW - Model-based testing
KW - Real-time Java
KW - Safety-critical Java
KW - Technology Compatibility Kit
KW - Test
U2 - 10.1002/cpe.4071
DO - 10.1002/cpe.4071
M3 - Journal article
AN - SCOPUS:85011632659
SN - 1532-0626
VL - 29
JO - Concurrency Computation
JF - Concurrency Computation
M1 - Special Issue Paper
ER -