Visualization/JaBUTi

De Software testing
Ir para: navegação, pesquisa

Facts

  • In JaBUTi, when the Java source code is available, the corresponding source code of the current class can also be displayed in colors, mapped back from the bytecode, facilitating the identification of which part of the source code should be covered first. <bib>vincenzi-etal:2003, 6</bib>
  • JaBUTi represents common nodes with single-lined circles. <bib>vincenzi-etal:2003, 7-8</bib>
  • JaBUTi represents exit nodes with bold single-lined circles. <bib>vincenzi-etal:2003, 7-8</bib>
  • JaBUTi represents call nodes with double-lined circles. <bib>vincenzi-etal:2003, 7-8</bib>
  • Considering the All-Edges-ei and All-Edges-ed criteria, their requirements (DUG edges) are colored using a 2-layer approach. For All-Edges-ei criterion, only the nodes with more than one out-going edge (decision nodes) are painted in the first layer. in case a given method has no decision node, only the entry node is painted in the first layer and its child in the second layer. In this case, edges criterion is equivalent to nodes criterion, since, in a normal execution, once the entry node is exercised, all the other nodes and edges are. <bib>vincenzi-etal:2003, 8</bib>, <bib>vincenzi-etal:2003, 9</bib>
  • In the bytecode view, only the last bytecode instruction of a decision node is highlighted, not the entire node. <bib>vincenzi-etal:2003, 8</bib>
  • By clicking either in a colored bytecode instruction or in a DUG node, all destination nodes of the branches associated with the selected decision node are highlighted and the decision node itself changes to a different color. <bib>vincenzi-etal:2003, 9</bib>
  • For the All-Edges-ed criterion, the same approach is used. In the first layer, all nodes with at least one secondary out-going edge, instead of decision nodes, are highlighted. For each such a node, its weight is the maximum weight of its branches and a node with more that one secondary out-going edge is considered covered (zero weight) if and only if all exception-handler associated with such a node is covered. <bib>vincenzi-etal:2003, 9-10</bib>
  • Similar to a decision and its branches are displayed, a 2-layer representation is also used to display def-use associations for the All-Uses-ei and All-Uses-ed criteria. The first layer shows all the definitions which have at least one c-use or p-use association. Clicking on a definition goes to the second layer displaying all c-use and p-use associated with the selected definition. For each definition, its weight is the maximum weight of its c-uses or p-uses. <bib>vincenzi-etal:2003, 10-12</bib>
  • Clicking with the right mouse button over a definition point (bytecode offset, source code line or DUG node), a pop-up menu is opened showing all the variables defined in that point such that it is possible to choose which variable definition to select. <bib>vincenzi-etal:2003, 12</bib>
  • When a definition point is clicked with the left mouse button the definition with the highest weight is considered selected. If all of then have the same weight, the first is selected. <bib>vincenzi-etal:2003, 12</bib>