-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
192 lines (168 loc) · 9.12 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<!DOCTYPE html>
<html>
<head>
<title>Software Unit Test Smells</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/w3.css">
<link rel="stylesheet" href="assets/w3-theme-teal.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-117089382-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-117089382-1');
</script>
</head>
<body>
<ul class="topnav w3-small">
<li><a href="index.html" class="active">Home</a></li>
<li><a href="pages/testsmells.html">Test Smell Types</a></li>
<li><a href="pages/testsmellexamples.html">Test Smell Examples</a></li>
<li><a href="pages/testsmelldetector.html">Test Smell Detector</a></li>
<li><a href="pages/research/home.html">Test Smell Research</a></li>
<li><a href="pages/testsmellpublications.html">Publications</a></li>
</ul>
<!-- Header -->
<header class="w3-container w3-theme w3-padding" id="myHeader">
<div class="w3-center">
<h1 class="w3-xxxlarge w3-animate-bottom">Software Unit Test Smells</h1>
</div>
</header>
<div class="w3-center w3-padding-32">
<h2>Introduction</h2>
<div class="w3-card w3-container w3-justify w3-padded-box">
<p>
Unit test code, just like regular/production source code, is subject to bad programming practices,
known
also as
anti-patterns, defects and smells <a href='#' onclick="document.getElementById('id01').style.display='block'"><span
class="w3-cite">[1]</span></a>. Smells, being symptoms of bad design or
implementation decisions, has
been proven to be responsible for decreasing the quality of software systems from various aspects, such
as
making it harder to understand, more complex to maintain, and more prone to errors and bugs <a href='#'
onclick="document.getElementById('id01').style.display='block'"><span class="w3-cite">[2]</span></a>.
</p>
<p>
Test smells are defined as bad programming practices in unit test code (such as how test cases are
organized, implemented and interact with each other) that indicate potential design problems in the
test
source code <a href='#' onclick="document.getElementById('id01').style.display='block'"><span class="w3-cite">[3],
[4], [5], [6]</span></a>.
</p>
<p>
The objective of this project is to educate developers on the types of unit testing smells that
developers
typically introduce or encounter when writing unit tests. To this extent, this site provides
definitions
(along with examples) of unit test smells and an open-source tool to detect the different smell types
in the
source code.
</p>
<p>
<h5 style="text-decoration: underline">Tool Demonstration</h5>
<iframe width="550" height="305" src="https://www.youtube.com/embed/clJBz6OGq_M?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</p>
</div>
<div class="w3-card w3-padded-box w3-margin-top">
<div class="w3-container w3-third w3-margin-top w3-margin-bottom">
<a href='pages/testsmells.html' style="text-decoration: none;">
<div class="w3-card w3-container">
<h3>Test Smell Types</h3><br>
<i class="fa fa-bug w3-margin-bottom w3-text-theme w3-fa-spin" style="font-size:100px"></i>
</div>
</a>
</div>
<div class="w3-container w3-third w3-margin-top w3-margin-bottom">
<a href='pages/testsmellexamples.html' style="text-decoration: none;">
<div class="w3-card w3-container">
<h3>Test Smell Examples</h3><br>
<i class="fa fa-code w3-margin-bottom w3-text-theme w3-fa-spin" style="font-size:100px"></i>
</div>
</a>
</div>
<div class="w3-container w3-third w3-margin-top w3-margin-bottom">
<a href='pages/testsmelldetector.html' style="text-decoration: none;">
<div class="w3-card w3-container">
<h3>Test Smell Detector</h3><br>
<i class="fa fa-cogs w3-margin-bottom w3-text-theme w3-fa-spin" style="font-size:100px"></i>
</div>
</a>
</div>
</div>
<div class="w3-card w3-padded-box w3-margin-top">
<div class="w3-container w3-third w3-margin-top w3-margin-bottom">
<a href='pages/research/home.html' style="text-decoration: none;">
<div class="w3-card w3-container">
<h3>Test Smell Research</h3>
<span><i>Research Data, Exloratory Studies, etc.</i></span>
<br>
<i class="fa fa-flask w3-margin-bottom w3-text-theme w3-fa-spin" style="font-size:100px"></i>
</div>
</a>
</div>
<div class="w3-container w3-third w3-margin-top w3-margin-bottom">
<a href='pages/testsmellpublications.html' style="text-decoration: none;">
<div class="w3-card w3-container">
<h3>Test Smell Publications</h3><br>
<i class="fa fa-book w3-margin-bottom w3-text-theme w3-fa-spin" style="font-size:100px"></i>
</div>
</a>
</div>
<div class="w3-container w3-third w3-margin-top w3-margin-bottom">
<a href='pages/about.html' style="text-decoration: none;">
<div class="w3-card w3-container">
<h3>About</h3><br>
<i class="fa fa-users w3-margin-bottom w3-text-theme w3-fa-spin" style="font-size:100px"></i>
</div>
</a>
</div>
</div>
<div class="w3-card w3-padded-box w3-margin-top">
<div class="w3-container w3-half w3-margin-top w3-margin-bottom">
</div>
</div>
</div>
<footer class="w3-container w3-teal w3-footer w3-animate-zoom">
<p class="w3-small">
Made with <i class="fa fa-heart fa-stack w3-animate-fading2 w3-fa-spin"></i> at <a href="http://www.se.rit.edu/"
style="text-decoration: none;" target="_blank">RIT</a>
</p>
</footer>
<!-- Modal -->
<div id="id01" class="w3-modal">
<div class="w3-modal-content w3-card-4 w3-animate-top">
<header class="w3-container w3-theme-l1">
<span onclick="document.getElementById('id01').style.display='none'" class="w3-button w3-display-topright w3-large">X</span>
<h4>References</h4>
</header>
<div class="w3-padding">
<p>[1] Fowler, M., & Beck, K. (1999). Refactoring: improving the design of existing code.
Addison-Wesley
Professional.</p>
<p>[2] Mäntylä, M. V., & Lassenius, C. (2006). Subjective evaluation of software evolvability using
code
smells: An empirical study. Empirical Software Engineering, 11(3), 395-431.</p>
<p>[3] Van Deursen, A., Moonen, L., van den Bergh, A., & Kok, G. (2001, May). Refactoring test code. In
Proceedings of the 2nd international conference on extreme programming and flexible processes in
software engineering (XP2001) (pp. 92-95).</p>
<p>[4] Greiler, M., Zaidman, A., Deursen, A. V., & Storey, M. A. (2013, May). Strategies for avoiding
text
fixture smells during software evolution. In Proceedings of the 10th Working Conference on Mining
Software Repositories (pp. 387-396). IEEE Press.</p>
<p>[5] Palomba, F., Di Nucci, D., Panichella, A., Oliveto, R., & De Lucia, A. (2016, May). On the
diffusion
of test smells in automatically generated test code: An empirical study. In Proceedings of the 9th
International Workshop on Search-Based Software Testing (pp. 5-14). ACM.</p>
<p>[6] Meszaros, G. (2007). xUnit test patterns: Refactoring test code. Pearson Education.</p>
</div>
</div>
</div>
</body>
</html>