|
|
1 | (14) |
|
1.1 Test-First Programming |
|
|
1 | (3) |
|
1.1.1 Mechanisms Behind Test-First Programming that Motivate Research |
|
|
2 | (2) |
|
|
4 | (4) |
|
1.2.1 Empirical Software Engineering |
|
|
4 | (1) |
|
|
5 | (3) |
|
|
8 | (5) |
|
|
8 | (1) |
|
1.3.2 Software Product Quality |
|
|
9 | (3) |
|
1.3.3 Software Development Productivity |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
1.6 Claimed Contributions |
|
|
14 | (1) |
|
2 Related Work in Industrial and Academic Environments |
|
|
15 | (10) |
|
2.1 Test-First Programming |
|
|
15 | (5) |
|
|
20 | (3) |
|
|
23 | (2) |
|
3 Research Goals, Conceptual Model and Variables Selection |
|
|
25 | (14) |
|
|
25 | (1) |
|
|
26 | (2) |
|
|
28 | (11) |
|
3.3.1 Independent Variable (IV) |
|
|
28 | (4) |
|
3.3.2 Dependent Variables (DVs) --- From Goals to Dependent Variables |
|
|
32 | (4) |
|
3.3.3 Confounding Variables |
|
|
36 | (3) |
|
4 Experiments Planning, Execution and Analysis Procedure |
|
|
39 | (22) |
|
|
39 | (2) |
|
|
41 | (1) |
|
|
42 | (2) |
|
|
42 | (1) |
|
4.3.2 ActivilySensor and SmartSensor Plugins |
|
|
43 | (1) |
|
|
43 | (1) |
|
4.4 Experiment accounting |
|
|
44 | (2) |
|
|
44 | (1) |
|
|
44 | (1) |
|
4.4.3 Experimental Materials |
|
|
44 | (1) |
|
|
45 | (1) |
|
4.4.5 Hypotheses and Variables |
|
|
45 | (1) |
|
4.4.6 Design of the Experiment |
|
|
45 | (1) |
|
4.4.7 Experiment Operation |
|
|
46 | (1) |
|
4.5 Experiment Submission |
|
|
46 | (4) |
|
|
47 | (1) |
|
|
47 | (1) |
|
4.5.3 Experimental Materials |
|
|
47 | (1) |
|
|
48 | (1) |
|
4.5.5 Hypotheses and Variables |
|
|
48 | (1) |
|
4.5.6 Design of the Experiment |
|
|
48 | (1) |
|
4.5.7 Experiment Operation |
|
|
48 | (2) |
|
4.6 Experiment Smells&Library |
|
|
50 | (3) |
|
|
50 | (1) |
|
|
50 | (1) |
|
4.6.3 Experimental Materials |
|
|
51 | (1) |
|
|
51 | (1) |
|
4.6.5 Hypotheses and Variables |
|
|
51 | (1) |
|
4.6.6 Design of the Experiment |
|
|
52 | (1) |
|
4.6.7 Experiment Operation |
|
|
52 | (1) |
|
|
53 | (8) |
|
4.7.1 Descriptive Statistics |
|
|
53 | (1) |
|
4.7.2 Assumptions of Parametric Tests |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
55 | (1) |
|
4.7.6 Analysis of Covariance |
|
|
56 | (1) |
|
4.7.7 Process Conformance and Selective Analysis |
|
|
57 | (3) |
|
4.7.8 Combining Empirical Evidence |
|
|
60 | (1) |
|
5 Effect on the Percentage of Acceptance Tests Passed |
|
|
61 | (66) |
|
5.1 Analysis of Experiment Accounting |
|
|
61 | (40) |
|
5.1.1 Preliminary Analysis |
|
|
61 | (24) |
|
|
85 | (16) |
|
5.2 Analysis of Experiment Submission |
|
|
101 | (15) |
|
5.2.1 Preliminary Analysis |
|
|
101 | (9) |
|
|
110 | (6) |
|
5.3 Analysis of Experiment Smells&Library |
|
|
116 | (9) |
|
5.3.1 Preliminary Analysis |
|
|
117 | (4) |
|
|
121 | (4) |
|
|
125 | (2) |
|
6 Effect on the Number of Acceptance Tests Passed per Hour |
|
|
127 | (14) |
|
6.1 Analysis of Experiment Accounting |
|
|
127 | (2) |
|
6.1.1 Descriptive Statistics |
|
|
128 | (1) |
|
6.1.2 Non-Parametric Analysis |
|
|
128 | (1) |
|
6.2 Analysis of Experiment Submission |
|
|
129 | (7) |
|
6.2.1 Descriptive Statistics |
|
|
129 | (2) |
|
|
131 | (1) |
|
6.2.3 Non-Parametric Analysis |
|
|
131 | (5) |
|
6.3 Analysis of Experiment Smells&Library |
|
|
136 | (4) |
|
6.3.1 Descriptive Statistics |
|
|
136 | (2) |
|
|
138 | (1) |
|
6.3.3 Non-Parametric Analysis |
|
|
139 | (1) |
|
|
140 | (1) |
|
7 Effect on Internal Quality Indicators |
|
|
141 | (18) |
|
7.1 Confounding Effect of Class Size on the Validity of Object-Oriented Metrics |
|
|
141 | (1) |
|
7.2 Analysis of Experiment accounting |
|
|
142 | (5) |
|
7.2.1 Descriptive Statistics |
|
|
142 | (3) |
|
|
145 | (1) |
|
|
145 | (2) |
|
7.3 Analysis of Experiment submission |
|
|
147 | (5) |
|
7.3.1 Descriptive Statistics |
|
|
147 | (3) |
|
|
150 | (1) |
|
|
150 | (2) |
|
7.4 Analysis of Experiment Smells&Library |
|
|
152 | (6) |
|
7.4.1 Descriptive Statistics |
|
|
152 | (1) |
|
|
153 | (2) |
|
|
155 | (3) |
|
|
158 | (1) |
|
8 Effects on Unit Tests -- Preliminary Analysis |
|
|
159 | (6) |
|
8.1 Analysis of Experiment Submission |
|
|
160 | (5) |
|
8.1.1 Descriptive Statistics |
|
|
160 | (2) |
|
|
162 | (1) |
|
|
163 | (2) |
|
|
165 | (32) |
|
9.1 Introduction to Meta-Analysis |
|
|
166 | (5) |
|
9.1.1 Combining p-Values Across Experiments |
|
|
166 | (1) |
|
9.1.2 Combining Effect Sizes Across Experiments |
|
|
167 | (4) |
|
9.2 Preliminary Meta-Analysis |
|
|
171 | (13) |
|
9.2.1 Combining Effects on the Percentage of Acceptance Tests Passed (PATP) |
|
|
171 | (4) |
|
9.2.2 Combining Effects on the Number of Acceptance Tests Passed Per Development Hour (NATPPH) |
|
|
175 | (2) |
|
9.2.3 Combining Effects on Design Complexity |
|
|
177 | (7) |
|
9.3 Selective Meta-Analysis |
|
|
184 | (13) |
|
9.3.1 Combining Effects on the Percentage of Acceptance Tests Passed (PATP) |
|
|
185 | (2) |
|
9.3.2 Combining Effects on the Number of Acceptance Tests Passed Per Hour (NATPPH) |
|
|
187 | (1) |
|
9.3.3 Combining Effects on Design Complexity |
|
|
188 | (9) |
|
10 Discussion, Conclusions and Future Work |
|
|
197 | (22) |
|
|
197 | (3) |
|
10.2 Rules of Thumb for Industry Practitioners |
|
|
200 | (2) |
|
10.3 Explaining Plausible Mechanisms Behind the Results |
|
|
202 | (3) |
|
|
205 | (1) |
|
|
206 | (11) |
|
10.5.1 Statistical Conclusion Validity |
|
|
206 | (3) |
|
|
209 | (2) |
|
10.5.3 Construct Validity |
|
|
211 | (2) |
|
|
213 | (3) |
|
10.5.5 Threats to Validity of Meta-Analysis |
|
|
216 | (1) |
|
10.6 Conclusions and Future Work |
|
|
217 | (2) |
Appendix |
|
219 | (4) |
Glossary |
|
223 | (4) |
References |
|
227 | (16) |
Index |
|
243 | |