Loading…

Exploring the Connection between the TDD Practice and Test Smells—A Systematic Literature Review

Test-driven development (TDD) is an agile practice of writing test code before production code, following three stages: red, green, and refactor. In the red stage, the test code is written; in the green stage, the minimum code necessary to make the test pass is implemented, and in the refactor stage...

Full description

Saved in:
Bibliographic Details
Published in:Computers (Basel) 2024-03, Vol.13 (3), p.79
Main Authors: Marabesi, Matheus, García-Holgado, Alicia, García-Peñalvo, Francisco José
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites cdi_FETCH-LOGICAL-c334t-d565467b21213e1dc35e8be07174a49296ca827217c072e98c528625567f2bff3
container_end_page
container_issue 3
container_start_page 79
container_title Computers (Basel)
container_volume 13
creator Marabesi, Matheus
García-Holgado, Alicia
García-Peñalvo, Francisco José
description Test-driven development (TDD) is an agile practice of writing test code before production code, following three stages: red, green, and refactor. In the red stage, the test code is written; in the green stage, the minimum code necessary to make the test pass is implemented, and in the refactor stage, improvements are made to the code. This practice is widespread across the industry, and various studies have been conducted to understand its benefits and impacts on the software development process. Despite its popularity, TDD studies often focus on the technical aspects of the practice, such as the external/internal quality of the code, productivity, test smells, and code comprehension, rather than the context in which it is practiced. In this paper, we present a systematic literature review using Scopus, Web of Science, and Google Scholar that focuses on the TDD practice and the influences that lead to the introduction of test smells/anti-patterns in the test code. The findings suggest that organizational structure influences the testing strategy. Additionally, there is a tendency to use test smells and TDD anti-patterns interchangeably, and test smells negatively impact code comprehension. Furthermore, TDD styles and the relationship between TDD practice and the generation of test smells are frequently overlooked in the literature.
doi_str_mv 10.3390/computers13030079
format article
fullrecord <record><control><sourceid>proquest_doaj_</sourceid><recordid>TN_cdi_doaj_primary_oai_doaj_org_article_4824e477906f40dcb14ed4a8d83580bd</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><doaj_id>oai_doaj_org_article_4824e477906f40dcb14ed4a8d83580bd</doaj_id><sourcerecordid>2989723537</sourcerecordid><originalsourceid>FETCH-LOGICAL-c334t-d565467b21213e1dc35e8be07174a49296ca827217c072e98c528625567f2bff3</originalsourceid><addsrcrecordid>eNplUU1LAzEQXUTBUvsDvAU8V_O1m-RY2qqFgmIreAvZ7Gzdst3UZGvtzR_hL_SXGFsRwbnM8N7jzRsmSc4JvmRM4SvrVutNCz4QhhnGQh0lHYoF63NGno7_zKdJL4QljqUIk5R0knz8tq6dr5oFap8BDV3TgG0r16Ac2i1As4fnoxG69yYSFpBpCjSH0KLZCuo6fL5_DNBsF1pYmcijaRWTmHbjAT3AawXbs-SkNHWA3k_vJo_X4_nwtj-9u5kMB9O-ZYy3_SLNUp6JnBJKGJDCshRkDlgQwQ1XVGXWSCooERYLCkralMqMpmkmSpqXJesmk4Nv4cxSr321Mn6nnan0HnB-oY2PCWvQXFIOXAiFs5LjwuaEQ8GNLCRLJc6L6HVx8Fp797KJx-ql2_gmxtdUSSUoS5mIKnJQWe9C8FD-biVYf39G__sM-wKm5oNF</addsrcrecordid><sourcetype>Open Website</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2989723537</pqid></control><display><type>article</type><title>Exploring the Connection between the TDD Practice and Test Smells—A Systematic Literature Review</title><source>Publicly Available Content Database</source><creator>Marabesi, Matheus ; García-Holgado, Alicia ; García-Peñalvo, Francisco José</creator><creatorcontrib>Marabesi, Matheus ; García-Holgado, Alicia ; García-Peñalvo, Francisco José</creatorcontrib><description>Test-driven development (TDD) is an agile practice of writing test code before production code, following three stages: red, green, and refactor. In the red stage, the test code is written; in the green stage, the minimum code necessary to make the test pass is implemented, and in the refactor stage, improvements are made to the code. This practice is widespread across the industry, and various studies have been conducted to understand its benefits and impacts on the software development process. Despite its popularity, TDD studies often focus on the technical aspects of the practice, such as the external/internal quality of the code, productivity, test smells, and code comprehension, rather than the context in which it is practiced. In this paper, we present a systematic literature review using Scopus, Web of Science, and Google Scholar that focuses on the TDD practice and the influences that lead to the introduction of test smells/anti-patterns in the test code. The findings suggest that organizational structure influences the testing strategy. Additionally, there is a tendency to use test smells and TDD anti-patterns interchangeably, and test smells negatively impact code comprehension. Furthermore, TDD styles and the relationship between TDD practice and the generation of test smells are frequently overlooked in the literature.</description><identifier>ISSN: 2073-431X</identifier><identifier>EISSN: 2073-431X</identifier><identifier>DOI: 10.3390/computers13030079</identifier><language>eng</language><publisher>Basel: MDPI AG</publisher><subject>agile ; anti-patterns ; Critical path ; Investigations ; Literature reviews ; Organizational structure ; practitioners ; Productivity ; Software ; Software development ; Students ; Systematic review ; TDD ; test smells</subject><ispartof>Computers (Basel), 2024-03, Vol.13 (3), p.79</ispartof><rights>2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c334t-d565467b21213e1dc35e8be07174a49296ca827217c072e98c528625567f2bff3</cites><orcidid>0000-0001-9663-1103 ; 0000-0001-7646-554X ; 0000-0001-9987-5584</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://www.proquest.com/docview/2989723537/fulltextPDF?pq-origsite=primo$$EPDF$$P50$$Gproquest$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://www.proquest.com/docview/2989723537?pq-origsite=primo$$EHTML$$P50$$Gproquest$$Hfree_for_read</linktohtml><link.rule.ids>314,776,780,25731,27901,27902,36989,44566,75096</link.rule.ids></links><search><creatorcontrib>Marabesi, Matheus</creatorcontrib><creatorcontrib>García-Holgado, Alicia</creatorcontrib><creatorcontrib>García-Peñalvo, Francisco José</creatorcontrib><title>Exploring the Connection between the TDD Practice and Test Smells—A Systematic Literature Review</title><title>Computers (Basel)</title><description>Test-driven development (TDD) is an agile practice of writing test code before production code, following three stages: red, green, and refactor. In the red stage, the test code is written; in the green stage, the minimum code necessary to make the test pass is implemented, and in the refactor stage, improvements are made to the code. This practice is widespread across the industry, and various studies have been conducted to understand its benefits and impacts on the software development process. Despite its popularity, TDD studies often focus on the technical aspects of the practice, such as the external/internal quality of the code, productivity, test smells, and code comprehension, rather than the context in which it is practiced. In this paper, we present a systematic literature review using Scopus, Web of Science, and Google Scholar that focuses on the TDD practice and the influences that lead to the introduction of test smells/anti-patterns in the test code. The findings suggest that organizational structure influences the testing strategy. Additionally, there is a tendency to use test smells and TDD anti-patterns interchangeably, and test smells negatively impact code comprehension. Furthermore, TDD styles and the relationship between TDD practice and the generation of test smells are frequently overlooked in the literature.</description><subject>agile</subject><subject>anti-patterns</subject><subject>Critical path</subject><subject>Investigations</subject><subject>Literature reviews</subject><subject>Organizational structure</subject><subject>practitioners</subject><subject>Productivity</subject><subject>Software</subject><subject>Software development</subject><subject>Students</subject><subject>Systematic review</subject><subject>TDD</subject><subject>test smells</subject><issn>2073-431X</issn><issn>2073-431X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>PIMPY</sourceid><sourceid>DOA</sourceid><recordid>eNplUU1LAzEQXUTBUvsDvAU8V_O1m-RY2qqFgmIreAvZ7Gzdst3UZGvtzR_hL_SXGFsRwbnM8N7jzRsmSc4JvmRM4SvrVutNCz4QhhnGQh0lHYoF63NGno7_zKdJL4QljqUIk5R0knz8tq6dr5oFap8BDV3TgG0r16Ac2i1As4fnoxG69yYSFpBpCjSH0KLZCuo6fL5_DNBsF1pYmcijaRWTmHbjAT3AawXbs-SkNHWA3k_vJo_X4_nwtj-9u5kMB9O-ZYy3_SLNUp6JnBJKGJDCshRkDlgQwQ1XVGXWSCooERYLCkralMqMpmkmSpqXJesmk4Nv4cxSr321Mn6nnan0HnB-oY2PCWvQXFIOXAiFs5LjwuaEQ8GNLCRLJc6L6HVx8Fp797KJx-ql2_gmxtdUSSUoS5mIKnJQWe9C8FD-biVYf39G__sM-wKm5oNF</recordid><startdate>20240301</startdate><enddate>20240301</enddate><creator>Marabesi, Matheus</creator><creator>García-Holgado, Alicia</creator><creator>García-Peñalvo, Francisco José</creator><general>MDPI AG</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PHGZM</scope><scope>PHGZT</scope><scope>PIMPY</scope><scope>PKEHL</scope><scope>PQEST</scope><scope>PQGLB</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>Q9U</scope><scope>DOA</scope><orcidid>https://orcid.org/0000-0001-9663-1103</orcidid><orcidid>https://orcid.org/0000-0001-7646-554X</orcidid><orcidid>https://orcid.org/0000-0001-9987-5584</orcidid></search><sort><creationdate>20240301</creationdate><title>Exploring the Connection between the TDD Practice and Test Smells—A Systematic Literature Review</title><author>Marabesi, Matheus ; García-Holgado, Alicia ; García-Peñalvo, Francisco José</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c334t-d565467b21213e1dc35e8be07174a49296ca827217c072e98c528625567f2bff3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>agile</topic><topic>anti-patterns</topic><topic>Critical path</topic><topic>Investigations</topic><topic>Literature reviews</topic><topic>Organizational structure</topic><topic>practitioners</topic><topic>Productivity</topic><topic>Software</topic><topic>Software development</topic><topic>Students</topic><topic>Systematic review</topic><topic>TDD</topic><topic>test smells</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Marabesi, Matheus</creatorcontrib><creatorcontrib>García-Holgado, Alicia</creatorcontrib><creatorcontrib>García-Peñalvo, Francisco José</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>ProQuest advanced technologies &amp; aerospace journals</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central (New)</collection><collection>ProQuest One Academic (New)</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Middle East (New)</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Applied &amp; Life Sciences</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central Basic</collection><collection>DOAJ Directory of Open Access Journals</collection><jtitle>Computers (Basel)</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Marabesi, Matheus</au><au>García-Holgado, Alicia</au><au>García-Peñalvo, Francisco José</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Exploring the Connection between the TDD Practice and Test Smells—A Systematic Literature Review</atitle><jtitle>Computers (Basel)</jtitle><date>2024-03-01</date><risdate>2024</risdate><volume>13</volume><issue>3</issue><spage>79</spage><pages>79-</pages><issn>2073-431X</issn><eissn>2073-431X</eissn><abstract>Test-driven development (TDD) is an agile practice of writing test code before production code, following three stages: red, green, and refactor. In the red stage, the test code is written; in the green stage, the minimum code necessary to make the test pass is implemented, and in the refactor stage, improvements are made to the code. This practice is widespread across the industry, and various studies have been conducted to understand its benefits and impacts on the software development process. Despite its popularity, TDD studies often focus on the technical aspects of the practice, such as the external/internal quality of the code, productivity, test smells, and code comprehension, rather than the context in which it is practiced. In this paper, we present a systematic literature review using Scopus, Web of Science, and Google Scholar that focuses on the TDD practice and the influences that lead to the introduction of test smells/anti-patterns in the test code. The findings suggest that organizational structure influences the testing strategy. Additionally, there is a tendency to use test smells and TDD anti-patterns interchangeably, and test smells negatively impact code comprehension. Furthermore, TDD styles and the relationship between TDD practice and the generation of test smells are frequently overlooked in the literature.</abstract><cop>Basel</cop><pub>MDPI AG</pub><doi>10.3390/computers13030079</doi><orcidid>https://orcid.org/0000-0001-9663-1103</orcidid><orcidid>https://orcid.org/0000-0001-7646-554X</orcidid><orcidid>https://orcid.org/0000-0001-9987-5584</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2073-431X
ispartof Computers (Basel), 2024-03, Vol.13 (3), p.79
issn 2073-431X
2073-431X
language eng
recordid cdi_doaj_primary_oai_doaj_org_article_4824e477906f40dcb14ed4a8d83580bd
source Publicly Available Content Database
subjects agile
anti-patterns
Critical path
Investigations
Literature reviews
Organizational structure
practitioners
Productivity
Software
Software development
Students
Systematic review
TDD
test smells
title Exploring the Connection between the TDD Practice and Test Smells—A Systematic Literature Review
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-22T09%3A31%3A38IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_doaj_&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Exploring%20the%20Connection%20between%20the%20TDD%20Practice%20and%20Test%20Smells%E2%80%94A%20Systematic%20Literature%20Review&rft.jtitle=Computers%20(Basel)&rft.au=Marabesi,%20Matheus&rft.date=2024-03-01&rft.volume=13&rft.issue=3&rft.spage=79&rft.pages=79-&rft.issn=2073-431X&rft.eissn=2073-431X&rft_id=info:doi/10.3390/computers13030079&rft_dat=%3Cproquest_doaj_%3E2989723537%3C/proquest_doaj_%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c334t-d565467b21213e1dc35e8be07174a49296ca827217c072e98c528625567f2bff3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=2989723537&rft_id=info:pmid/&rfr_iscdi=true