A Force-Directed Program Graph Visualizer for Teaching White-Box Testing Techniques

Weifeng Xu, Aqeel Raza Syed, QING ZHENG
2015 ASEE Annual Conference and Exposition Proceedings   unpublished
White-box testing is a critical validation technique commonly used to examine if a unit under the test works as expected. However, students taking software testing related courses often find that studying and practicing white-box testing technique is tedious and error prone, e.g., manually derived paths for a given coverage. In this paper, we demonstrate an automated testing visualization tool to help software engineering students study white-box testing technique. First, we use Java bytecode
more » ... represent the Java method source code so that a compound condition can be decomposed to several simple predicates. The control structure of the bytecode is depicted by a program graph. To visualize the program graph and generated paths for a given coverage, we extend a force-directed graph auto-layout algorithm to compute the positions of vertices and edges of the program graph. The visualization tool is used to demonstrate the control structures of several legacy programs. The empirical study (includes three subjects) results show that the average number missing and incorrect test cases drops from 16% to 5.8% when the tool is utilized for generating test cases.
doi:10.18260/p.23383 fatcat:yyg35kw4hzf6dawvfm7575oxly