Test-driven development with mutation testing – an experimental study
Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on c...
Ausführliche Beschreibung
Autor*in: |
Roman, Adam [verfasserIn] |
---|
Format: |
Artikel |
---|---|
Sprache: |
Englisch |
Erschienen: |
2020 |
---|
Schlagwörter: |
---|
Anmerkung: |
© The Author(s) 2020 |
---|
Übergeordnetes Werk: |
Enthalten in: Software quality journal - Springer US, 1992, 29(2020), 1 vom: 18. Nov., Seite 1-38 |
---|---|
Übergeordnetes Werk: |
volume:29 ; year:2020 ; number:1 ; day:18 ; month:11 ; pages:1-38 |
Links: |
---|
DOI / URN: |
10.1007/s11219-020-09534-x |
---|
Katalog-ID: |
OLC2124473069 |
---|
LEADER | 01000naa a22002652 4500 | ||
---|---|---|---|
001 | OLC2124473069 | ||
003 | DE-627 | ||
005 | 20230505090638.0 | ||
007 | tu | ||
008 | 230505s2020 xx ||||| 00| ||eng c | ||
024 | 7 | |a 10.1007/s11219-020-09534-x |2 doi | |
035 | |a (DE-627)OLC2124473069 | ||
035 | |a (DE-He213)s11219-020-09534-x-p | ||
040 | |a DE-627 |b ger |c DE-627 |e rakwb | ||
041 | |a eng | ||
082 | 0 | 4 | |a 004 |q VZ |
100 | 1 | |a Roman, Adam |e verfasserin |0 (orcid)0000-0002-1020-5128 |4 aut | |
245 | 1 | 0 | |a Test-driven development with mutation testing – an experimental study |
264 | 1 | |c 2020 | |
336 | |a Text |b txt |2 rdacontent | ||
337 | |a ohne Hilfsmittel zu benutzen |b n |2 rdamedia | ||
338 | |a Band |b nc |2 rdacarrier | ||
500 | |a © The Author(s) 2020 | ||
520 | |a Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. | ||
650 | 4 | |a TDD | |
650 | 4 | |a Test-driven development | |
650 | 4 | |a Mutation testing | |
650 | 4 | |a Test-first approach | |
700 | 1 | |a Mnich, Michal |4 aut | |
773 | 0 | 8 | |i Enthalten in |t Software quality journal |d Springer US, 1992 |g 29(2020), 1 vom: 18. Nov., Seite 1-38 |w (DE-627)131154087 |w (DE-600)1131702-4 |w (DE-576)04308236X |x 0963-9314 |7 nnns |
773 | 1 | 8 | |g volume:29 |g year:2020 |g number:1 |g day:18 |g month:11 |g pages:1-38 |
856 | 4 | 1 | |u https://doi.org/10.1007/s11219-020-09534-x |z lizenzpflichtig |3 Volltext |
912 | |a GBV_USEFLAG_A | ||
912 | |a SYSFLAG_A | ||
912 | |a GBV_OLC | ||
912 | |a SSG-OLC-MAT | ||
951 | |a AR | ||
952 | |d 29 |j 2020 |e 1 |b 18 |c 11 |h 1-38 |
author_variant |
a r ar m m mm |
---|---|
matchkey_str |
article:09639314:2020----::etrvneeomnwtmttotsign |
hierarchy_sort_str |
2020 |
publishDate |
2020 |
allfields |
10.1007/s11219-020-09534-x doi (DE-627)OLC2124473069 (DE-He213)s11219-020-09534-x-p DE-627 ger DE-627 rakwb eng 004 VZ Roman, Adam verfasserin (orcid)0000-0002-1020-5128 aut Test-driven development with mutation testing – an experimental study 2020 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © The Author(s) 2020 Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. TDD Test-driven development Mutation testing Test-first approach Mnich, Michal aut Enthalten in Software quality journal Springer US, 1992 29(2020), 1 vom: 18. Nov., Seite 1-38 (DE-627)131154087 (DE-600)1131702-4 (DE-576)04308236X 0963-9314 nnns volume:29 year:2020 number:1 day:18 month:11 pages:1-38 https://doi.org/10.1007/s11219-020-09534-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT AR 29 2020 1 18 11 1-38 |
spelling |
10.1007/s11219-020-09534-x doi (DE-627)OLC2124473069 (DE-He213)s11219-020-09534-x-p DE-627 ger DE-627 rakwb eng 004 VZ Roman, Adam verfasserin (orcid)0000-0002-1020-5128 aut Test-driven development with mutation testing – an experimental study 2020 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © The Author(s) 2020 Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. TDD Test-driven development Mutation testing Test-first approach Mnich, Michal aut Enthalten in Software quality journal Springer US, 1992 29(2020), 1 vom: 18. Nov., Seite 1-38 (DE-627)131154087 (DE-600)1131702-4 (DE-576)04308236X 0963-9314 nnns volume:29 year:2020 number:1 day:18 month:11 pages:1-38 https://doi.org/10.1007/s11219-020-09534-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT AR 29 2020 1 18 11 1-38 |
allfields_unstemmed |
10.1007/s11219-020-09534-x doi (DE-627)OLC2124473069 (DE-He213)s11219-020-09534-x-p DE-627 ger DE-627 rakwb eng 004 VZ Roman, Adam verfasserin (orcid)0000-0002-1020-5128 aut Test-driven development with mutation testing – an experimental study 2020 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © The Author(s) 2020 Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. TDD Test-driven development Mutation testing Test-first approach Mnich, Michal aut Enthalten in Software quality journal Springer US, 1992 29(2020), 1 vom: 18. Nov., Seite 1-38 (DE-627)131154087 (DE-600)1131702-4 (DE-576)04308236X 0963-9314 nnns volume:29 year:2020 number:1 day:18 month:11 pages:1-38 https://doi.org/10.1007/s11219-020-09534-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT AR 29 2020 1 18 11 1-38 |
allfieldsGer |
10.1007/s11219-020-09534-x doi (DE-627)OLC2124473069 (DE-He213)s11219-020-09534-x-p DE-627 ger DE-627 rakwb eng 004 VZ Roman, Adam verfasserin (orcid)0000-0002-1020-5128 aut Test-driven development with mutation testing – an experimental study 2020 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © The Author(s) 2020 Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. TDD Test-driven development Mutation testing Test-first approach Mnich, Michal aut Enthalten in Software quality journal Springer US, 1992 29(2020), 1 vom: 18. Nov., Seite 1-38 (DE-627)131154087 (DE-600)1131702-4 (DE-576)04308236X 0963-9314 nnns volume:29 year:2020 number:1 day:18 month:11 pages:1-38 https://doi.org/10.1007/s11219-020-09534-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT AR 29 2020 1 18 11 1-38 |
allfieldsSound |
10.1007/s11219-020-09534-x doi (DE-627)OLC2124473069 (DE-He213)s11219-020-09534-x-p DE-627 ger DE-627 rakwb eng 004 VZ Roman, Adam verfasserin (orcid)0000-0002-1020-5128 aut Test-driven development with mutation testing – an experimental study 2020 Text txt rdacontent ohne Hilfsmittel zu benutzen n rdamedia Band nc rdacarrier © The Author(s) 2020 Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. TDD Test-driven development Mutation testing Test-first approach Mnich, Michal aut Enthalten in Software quality journal Springer US, 1992 29(2020), 1 vom: 18. Nov., Seite 1-38 (DE-627)131154087 (DE-600)1131702-4 (DE-576)04308236X 0963-9314 nnns volume:29 year:2020 number:1 day:18 month:11 pages:1-38 https://doi.org/10.1007/s11219-020-09534-x lizenzpflichtig Volltext GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT AR 29 2020 1 18 11 1-38 |
language |
English |
source |
Enthalten in Software quality journal 29(2020), 1 vom: 18. Nov., Seite 1-38 volume:29 year:2020 number:1 day:18 month:11 pages:1-38 |
sourceStr |
Enthalten in Software quality journal 29(2020), 1 vom: 18. Nov., Seite 1-38 volume:29 year:2020 number:1 day:18 month:11 pages:1-38 |
format_phy_str_mv |
Article |
institution |
findex.gbv.de |
topic_facet |
TDD Test-driven development Mutation testing Test-first approach |
dewey-raw |
004 |
isfreeaccess_bool |
false |
container_title |
Software quality journal |
authorswithroles_txt_mv |
Roman, Adam @@aut@@ Mnich, Michal @@aut@@ |
publishDateDaySort_date |
2020-11-18T00:00:00Z |
hierarchy_top_id |
131154087 |
dewey-sort |
14 |
id |
OLC2124473069 |
language_de |
englisch |
fullrecord |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01000naa a22002652 4500</leader><controlfield tag="001">OLC2124473069</controlfield><controlfield tag="003">DE-627</controlfield><controlfield tag="005">20230505090638.0</controlfield><controlfield tag="007">tu</controlfield><controlfield tag="008">230505s2020 xx ||||| 00| ||eng c</controlfield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/s11219-020-09534-x</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627)OLC2124473069</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-He213)s11219-020-09534-x-p</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="082" ind1="0" ind2="4"><subfield code="a">004</subfield><subfield code="q">VZ</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Roman, Adam</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(orcid)0000-0002-1020-5128</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Test-driven development with mutation testing – an experimental study</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="c">2020</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">ohne Hilfsmittel zu benutzen</subfield><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Band</subfield><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">© The Author(s) 2020</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">TDD</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Test-driven development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Mutation testing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Test-first approach</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Mnich, Michal</subfield><subfield code="4">aut</subfield></datafield><datafield tag="773" ind1="0" ind2="8"><subfield code="i">Enthalten in</subfield><subfield code="t">Software quality journal</subfield><subfield code="d">Springer US, 1992</subfield><subfield code="g">29(2020), 1 vom: 18. Nov., Seite 1-38</subfield><subfield code="w">(DE-627)131154087</subfield><subfield code="w">(DE-600)1131702-4</subfield><subfield code="w">(DE-576)04308236X</subfield><subfield code="x">0963-9314</subfield><subfield code="7">nnns</subfield></datafield><datafield tag="773" ind1="1" ind2="8"><subfield code="g">volume:29</subfield><subfield code="g">year:2020</subfield><subfield code="g">number:1</subfield><subfield code="g">day:18</subfield><subfield code="g">month:11</subfield><subfield code="g">pages:1-38</subfield></datafield><datafield tag="856" ind1="4" ind2="1"><subfield code="u">https://doi.org/10.1007/s11219-020-09534-x</subfield><subfield code="z">lizenzpflichtig</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_USEFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SYSFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_OLC</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OLC-MAT</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">AR</subfield></datafield><datafield tag="952" ind1=" " ind2=" "><subfield code="d">29</subfield><subfield code="j">2020</subfield><subfield code="e">1</subfield><subfield code="b">18</subfield><subfield code="c">11</subfield><subfield code="h">1-38</subfield></datafield></record></collection>
|
author |
Roman, Adam |
spellingShingle |
Roman, Adam ddc 004 misc TDD misc Test-driven development misc Mutation testing misc Test-first approach Test-driven development with mutation testing – an experimental study |
authorStr |
Roman, Adam |
ppnlink_with_tag_str_mv |
@@773@@(DE-627)131154087 |
format |
Article |
dewey-ones |
004 - Data processing & computer science |
delete_txt_mv |
keep |
author_role |
aut aut |
collection |
OLC |
remote_str |
false |
illustrated |
Not Illustrated |
issn |
0963-9314 |
topic_title |
004 VZ Test-driven development with mutation testing – an experimental study TDD Test-driven development Mutation testing Test-first approach |
topic |
ddc 004 misc TDD misc Test-driven development misc Mutation testing misc Test-first approach |
topic_unstemmed |
ddc 004 misc TDD misc Test-driven development misc Mutation testing misc Test-first approach |
topic_browse |
ddc 004 misc TDD misc Test-driven development misc Mutation testing misc Test-first approach |
format_facet |
Aufsätze Gedruckte Aufsätze |
format_main_str_mv |
Text Zeitschrift/Artikel |
carriertype_str_mv |
nc |
hierarchy_parent_title |
Software quality journal |
hierarchy_parent_id |
131154087 |
dewey-tens |
000 - Computer science, knowledge & systems |
hierarchy_top_title |
Software quality journal |
isfreeaccess_txt |
false |
familylinks_str_mv |
(DE-627)131154087 (DE-600)1131702-4 (DE-576)04308236X |
title |
Test-driven development with mutation testing – an experimental study |
ctrlnum |
(DE-627)OLC2124473069 (DE-He213)s11219-020-09534-x-p |
title_full |
Test-driven development with mutation testing – an experimental study |
author_sort |
Roman, Adam |
journal |
Software quality journal |
journalStr |
Software quality journal |
lang_code |
eng |
isOA_bool |
false |
dewey-hundreds |
000 - Computer science, information & general works |
recordtype |
marc |
publishDateSort |
2020 |
contenttype_str_mv |
txt |
container_start_page |
1 |
author_browse |
Roman, Adam Mnich, Michal |
container_volume |
29 |
class |
004 VZ |
format_se |
Aufsätze |
author-letter |
Roman, Adam |
doi_str_mv |
10.1007/s11219-020-09534-x |
normlink |
(ORCID)0000-0002-1020-5128 |
normlink_prefix_str_mv |
(orcid)0000-0002-1020-5128 |
dewey-full |
004 |
title_sort |
test-driven development with mutation testing – an experimental study |
title_auth |
Test-driven development with mutation testing – an experimental study |
abstract |
Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. © The Author(s) 2020 |
abstractGer |
Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. © The Author(s) 2020 |
abstract_unstemmed |
Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code. © The Author(s) 2020 |
collection_details |
GBV_USEFLAG_A SYSFLAG_A GBV_OLC SSG-OLC-MAT |
container_issue |
1 |
title_short |
Test-driven development with mutation testing – an experimental study |
url |
https://doi.org/10.1007/s11219-020-09534-x |
remote_bool |
false |
author2 |
Mnich, Michal |
author2Str |
Mnich, Michal |
ppnlink |
131154087 |
mediatype_str_mv |
n |
isOA_txt |
false |
hochschulschrift_bool |
false |
doi_str |
10.1007/s11219-020-09534-x |
up_date |
2024-07-03T23:54:06.156Z |
_version_ |
1803604036062019584 |
fullrecord_marcxml |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01000naa a22002652 4500</leader><controlfield tag="001">OLC2124473069</controlfield><controlfield tag="003">DE-627</controlfield><controlfield tag="005">20230505090638.0</controlfield><controlfield tag="007">tu</controlfield><controlfield tag="008">230505s2020 xx ||||| 00| ||eng c</controlfield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/s11219-020-09534-x</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627)OLC2124473069</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-He213)s11219-020-09534-x-p</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="082" ind1="0" ind2="4"><subfield code="a">004</subfield><subfield code="q">VZ</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Roman, Adam</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(orcid)0000-0002-1020-5128</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Test-driven development with mutation testing – an experimental study</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="c">2020</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">ohne Hilfsmittel zu benutzen</subfield><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Band</subfield><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">© The Author(s) 2020</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Abstract Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which combines test-driven development process together with the mutation approach. The aim was to check whether this modified approach allows the developers to write a better quality code. We verify our approach by conducting a controlled experiment and we show that it achieves better results than the sole TDD technique. The experiment involved 22 computer science students split into eight groups. Four groups (TDD+M) were using our approach, the other four (TDD) – a normal TDD process. We performed a cross-experiment by measuring the code coverage and mutation coverage for each combination (code of group X, tests from group Y). The TDD+M tests achieved better coverage on the code from TDD groups than the TDD tests on their own code (53.3% vs. 33.5% statement coverage and 64.9% vs. 37.5% mutation coverage). The TDD+M tests also found more post-release defects in the TDD code than TDD tests in the TDD+M code. The experiment showed that adding mutation into the TDD process allows the developers to provide better, stronger tests and to write a better quality code.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">TDD</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Test-driven development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Mutation testing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Test-first approach</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Mnich, Michal</subfield><subfield code="4">aut</subfield></datafield><datafield tag="773" ind1="0" ind2="8"><subfield code="i">Enthalten in</subfield><subfield code="t">Software quality journal</subfield><subfield code="d">Springer US, 1992</subfield><subfield code="g">29(2020), 1 vom: 18. Nov., Seite 1-38</subfield><subfield code="w">(DE-627)131154087</subfield><subfield code="w">(DE-600)1131702-4</subfield><subfield code="w">(DE-576)04308236X</subfield><subfield code="x">0963-9314</subfield><subfield code="7">nnns</subfield></datafield><datafield tag="773" ind1="1" ind2="8"><subfield code="g">volume:29</subfield><subfield code="g">year:2020</subfield><subfield code="g">number:1</subfield><subfield code="g">day:18</subfield><subfield code="g">month:11</subfield><subfield code="g">pages:1-38</subfield></datafield><datafield tag="856" ind1="4" ind2="1"><subfield code="u">https://doi.org/10.1007/s11219-020-09534-x</subfield><subfield code="z">lizenzpflichtig</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_USEFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SYSFLAG_A</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_OLC</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SSG-OLC-MAT</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">AR</subfield></datafield><datafield tag="952" ind1=" " ind2=" "><subfield code="d">29</subfield><subfield code="j">2020</subfield><subfield code="e">1</subfield><subfield code="b">18</subfield><subfield code="c">11</subfield><subfield code="h">1-38</subfield></datafield></record></collection>
|
score |
7.399276 |