Académique Documents
Professionnel Documents
Culture Documents
The International Arab Journal of Information Technology, Vol. 8, No. 2, April 2011
1. Introduction
The purpose of software metrics is to obtain better
measurements in terms of risk management, reliability
forecast, cost repression, project scheduling, and
improving the overall software quality. GUI code has
its own characteristics that make using the typical
software metrics such as lines of codes, cyclic
complexity, and other static or dynamic metrics
impractical and may not distinguish a complex GUI
from others that are not.
There are several different ways of evaluating a GUI
that include; formal, heuristic, and manual testing.
Other classifications of user evaluation techniques
includes; predictive and experimental. Unlike typical
software, some of those evaluation techniques may
depend solely on users and may never be automated or
calculated numerically. This paper is a continuation of
the paper in [13] in which we introduced some of the
suggested GUI structural metrics.
In this paper, we elaborate on those earlier metrics,
suggested new ones and also make some evaluation in
relation to the execution and verification process. We
selected some open source projects for the
experiments. Most of the selected projects are
relatively small; however, GUI complexity is not
always in direct relation with size or other code
complexity metrics.
2. Related Work
Usability findings can vary widely when different
evaluators study the same user interface, even if they
use the same evaluation technique. 75 GUI usability
evaluation methods were surveyed and taxonomy was
125
The International Arab Journal of Information Technology, Vol. 8, No. 2, April 2011
126
CC
LOC
CC/LOC
Notepad
200
4233
4.72%
CDiese Test
36
5271
0.68%
FormAnimation
App
121
5868
2.06%
winFomThreading
316
1.9%
WordInDotNet
26
1732
1.5%
WeatherNotify
83
13039
0.64%
Note1
45
870
5.17%
Note2
14
584
2.4%
Note3
53
2037
2.6%
GUIControls
98
5768
1.7%
ReverseGame
63
3041
2.07%
MathMaze
27
1138
2.37%
PacSnake
45
2047
2.2%
TicTacToe
52
1954
2.66%
Bridges Game
26
1942
1.34%
Hexomania
29
1059
2.74%
Tree Paths
Number
Edges/Tree
Depth
Notepad
CDiese Test
FormAnimation App
winFomThreading
WordInDotNet
WeatherNotify
Note1
Note2
Note3
GUIControls
ReverseGame
MathMaze
PacSnake
TicTacToe
Bridges Game
Hexomania
176
32
116
5
23
82
39
13
43
87
57
22
40
49
16
22
39
17
40
2
12
41
8
6
13
32
31
13
22
25
6
5
Tree
Max
Depth
5
2
3
2
2
2
5
3
4
3
3
3
3
3
4
5
127
0.11
0.472
0.149
1
0.615
0.157
0.378
1
0.358
0.228
0.254
0.630
0.378
0.308
0.731
0.655
0.235
0.888
0.248
1
1
0.313
0.8
1
0.736
0.416
0.508
1
0.733
0.578
1
1
0.385
1
0.463
1
1
0.615
1
1
1
0.713
0.921
1
1
1
1
1
AUT
Notepad
CDiese Test
FormAnimation App
winFomThreading
WordInDotNet
WeatherNotify
Note1
Note2
Note3
GUIControls
ReverseGame
MathMaze
PacSnake
TicTacToe
Bridges Game
Hexomania
Average
50 Test Cases
Notepad
CDiese Test
FormAnimation App
winFomThreading
WordInDotNet
WeatherNotify
Note1
Note2
Note3
GUIControls
ReverseGame
MathMaze
PacSnake
TicTacToe
Bridges Game
Hexomania
25 Test Cases
AUT
50 Test Cases
25 Test Cases
The edges/tree depth can be seen as a normalized treepaths metric in which the average of tree paths per
level is calculated.
Maximum number of edges leaving any node: the
number of children a GUI parent can have determines
the number of choices for that node. The tree depth
metric represents the maximum vertical height of the
tree, while this metric represents between the
maximum horizontal widths of the tree. Those two
metrics are major factors in the GUI complexity as
they decide the amount of decisions or choices it can
have.
In most cases, metrics values are consistent with
each other; a GUI that is complex in terms of one
metric is complex in most of the others.
To relate the metrics with GUI testability, we
studied applying one test generation algorithm
developed as part of this research on all AUTs using
the same number of test cases. Table3 shows the
results from applying AI3 algorithm [1, 3] on the
selected AUTs. Some of those AUTs are relatively
small, in terms of the number of GUI controls. As a
result many of the 50 or 100 test cases reach to the 100
% effectiveness which means that they discover all tree
branches. The two AUTs that have the least amount of
controls (i.e., WinFormThreading and Note 2); achieve
the 100% test effectiveness in all three columns.
Comparing the earlier tables with Table 3, we find
out that for example for the AUT that is most complex
in terms of number of controls, tree depth and tree path
numbers (i.e., Notepad), has the least test effectiveness
values in the three columns; 25, 50, and 100.
0.85
0.256
1
0.67
0.83
NA
0.511
0.316
1
0.79
0.371
NA
0.375
0.39
1
0.619
0.91
0.31
1
0.67
0.67
NA
0.265
0.29
0.855
1
0.217
NA
0.333
0.75
1
0.386
0.808
0.283
0.93
0.67
0.88
NA
0.364
0.17
0.835
1
0.317
NA
0.46
0.57
1
0.346
0.856
0.283
0.976
0.67
0.79
NA
0.38
0.259
0.9
0.93
0.302
NA
0.39
0.57
1
0.450
The International Arab Journal of Information Technology, Vol. 8, No. 2, April 2011
128
[6]
[7]
[8]
[9]
[10]
[11]
References
[1]
[2]
[3]
[4]
[5]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
129