The Tracer and the related material below are property of the Weizmann Institute of Science, Rehovot, Israel.
Model-based trace visualization and exploration for reactive systems
|Case study application: Scenario-based testing of a Nokia smartphone|
In recent work by Maoz, Metsä, and Katara (submitted), a modified version of the S2A compiler, which generates AspectC++ code rather than AspectJ code, was used to execute and monitor scenario-based test cases of a C++ application running on Symbian OS inside a Nokia smartphone (specifically, Nokia model N96). In this work, the Tracer was used to visualize and explore the progress and results of the different test execution traces.
Most relevant features in this context included the Completions view, which allowed us to identify completed, violated, and vacuous test scenarios, and the Model and Trace Properties window, showing aggregated completion-related information for the entire trace. Thus, we could easily answer questions such as which test scenarios have been violated (if any), how many times has each test scenario been completed, etc. The semantics-based filters, specifically the ones related to completion metrics, allowed us to hide the completed scenarios from the view and focus on the violated ones - those representing tests that have failed and hence require further investigation.
Due to confidentiality restrictions, some details of the study cannot be made public. Thus, all class names, method names, scenario and use case names in the examples we show are obfuscated using generic names.
Selected screenshots appear below. Click on the pictures to enlarge.
|Main view and overview, with completion information.|
|Comparing global cuts.|