测试驱动开发在嵌入式系统中的应用

IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS
Pietro Cassieri , Michelangelo Esposito , Simone Romano , Giuseppe Scanniello
{"title":"测试驱动开发在嵌入式系统中的应用","authors":"Pietro Cassieri ,&nbsp;Michelangelo Esposito ,&nbsp;Simone Romano ,&nbsp;Giuseppe Scanniello","doi":"10.1016/j.infsof.2025.107779","DOIUrl":null,"url":null,"abstract":"<div><h3>Context:</h3><div><em>Test-Driven Development</em> (<em>TDD</em> ) is an agile development approach where the writing of unit tests precedes the writing of production code. Some software engineers have been advocating the use of TDD to develop <em>Embedded Systems</em> (<em>ESs</em>) despite the lack of empirical evidence on TDD applied to ES development.</div></div><div><h3>Objectives:</h3><div>Our overarching objective is to start building knowledge on TDD applied to ES development. Specifically, we investigated: <em>(i)</em> the claimed benefits of TDD (<em>i.e.,</em> increased external quality of ESs and developers’ productivity) and <em>(ii)</em> how developers apply TDD when developing ESs.</div></div><div><h3>Method:</h3><div>We conducted two empirical investigations. The former investigation, comprising two experiments, aimed to study the claimed benefits of TDD. To that end, we asked Computer Science (CS) Master’s students to fulfill ES development tasks by using TDD or a non-TDD approach. The latter investigation consisted of an ethnographically-informed study to gain insights into how developers apply TDD when developing ESs. In this study, we involved CS Master’s students, who were observed while fulfilling an ES development task. The participants in the two empirical investigations were different.</div></div><div><h3>Results:</h3><div>We found that the external quality of the developed ESs increased when using TDD as compared to a non-TDD approach, while there was not a substantial difference in developers’ productivity. However, TDD is perceived as more difficult to apply, and the development task is deemed more challenging with TDD. Several patterns emerged about how developers approach TDD when developing an ES (<em>e.g.,</em> the participants did not always develop in conformity with TDD).</div></div><div><h3>Conclusion:</h3><div>TDD seems to be a promising approach to the development of ESs, even though further research is needed. In this regard, we believe that our results can pave the way for future research with the involvement of software companies and professionals.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"187 ","pages":"Article 107779"},"PeriodicalIF":3.8000,"publicationDate":"2025-07-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"On the use of Test-Driven Development for Embedded Systems\",\"authors\":\"Pietro Cassieri ,&nbsp;Michelangelo Esposito ,&nbsp;Simone Romano ,&nbsp;Giuseppe Scanniello\",\"doi\":\"10.1016/j.infsof.2025.107779\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><h3>Context:</h3><div><em>Test-Driven Development</em> (<em>TDD</em> ) is an agile development approach where the writing of unit tests precedes the writing of production code. Some software engineers have been advocating the use of TDD to develop <em>Embedded Systems</em> (<em>ESs</em>) despite the lack of empirical evidence on TDD applied to ES development.</div></div><div><h3>Objectives:</h3><div>Our overarching objective is to start building knowledge on TDD applied to ES development. Specifically, we investigated: <em>(i)</em> the claimed benefits of TDD (<em>i.e.,</em> increased external quality of ESs and developers’ productivity) and <em>(ii)</em> how developers apply TDD when developing ESs.</div></div><div><h3>Method:</h3><div>We conducted two empirical investigations. The former investigation, comprising two experiments, aimed to study the claimed benefits of TDD. To that end, we asked Computer Science (CS) Master’s students to fulfill ES development tasks by using TDD or a non-TDD approach. The latter investigation consisted of an ethnographically-informed study to gain insights into how developers apply TDD when developing ESs. In this study, we involved CS Master’s students, who were observed while fulfilling an ES development task. The participants in the two empirical investigations were different.</div></div><div><h3>Results:</h3><div>We found that the external quality of the developed ESs increased when using TDD as compared to a non-TDD approach, while there was not a substantial difference in developers’ productivity. However, TDD is perceived as more difficult to apply, and the development task is deemed more challenging with TDD. Several patterns emerged about how developers approach TDD when developing an ES (<em>e.g.,</em> the participants did not always develop in conformity with TDD).</div></div><div><h3>Conclusion:</h3><div>TDD seems to be a promising approach to the development of ESs, even though further research is needed. In this regard, we believe that our results can pave the way for future research with the involvement of software companies and professionals.</div></div>\",\"PeriodicalId\":54983,\"journal\":{\"name\":\"Information and Software Technology\",\"volume\":\"187 \",\"pages\":\"Article 107779\"},\"PeriodicalIF\":3.8000,\"publicationDate\":\"2025-07-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Information and Software Technology\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0950584925001181\",\"RegionNum\":2,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, INFORMATION SYSTEMS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Information and Software Technology","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0950584925001181","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0

摘要

上下文:测试驱动开发(TDD)是一种敏捷开发方法,在这种方法中,单元测试的编写先于生产代码的编写。一些软件工程师一直在提倡使用TDD来开发嵌入式系统(ESs),尽管缺乏将TDD应用于ES开发的经验证据。目标:我们的首要目标是开始构建应用于ES开发的TDD知识。具体来说,我们调查了:(i) TDD声称的好处(即,增加ESs的外部质量和开发人员的生产力)以及(ii)开发人员在开发ESs时如何应用TDD。方法:进行了两次实证调查。前一项调查包括两个实验,旨在研究TDD所声称的好处。为此,我们要求计算机科学(CS)硕士生通过使用TDD或非TDD方法来完成ES开发任务。后一项调查包括一项民族志研究,以深入了解开发人员在开发ESs时如何应用TDD。在这项研究中,我们涉及CS硕士学生,他们在完成ES开发任务时被观察。这两个实证调查的参与者是不同的。结果:我们发现,与非TDD方法相比,使用TDD方法开发的ESs的外部质量有所提高,而开发人员的生产力没有实质性差异。然而,TDD被认为更难以应用,并且TDD的开发任务被认为更具挑战性。在开发ES时,出现了几种关于开发人员如何使用TDD的模式(例如,参与者并不总是按照TDD进行开发)。结论:TDD似乎是一种很有前途的ESs开发方法,尽管还需要进一步的研究。在这方面,我们相信我们的研究结果可以为软件公司和专业人士的参与铺平道路。
本文章由计算机程序翻译,如有差异,请以英文原文为准。

On the use of Test-Driven Development for Embedded Systems

On the use of Test-Driven Development for Embedded Systems

Context:

Test-Driven Development (TDD ) is an agile development approach where the writing of unit tests precedes the writing of production code. Some software engineers have been advocating the use of TDD to develop Embedded Systems (ESs) despite the lack of empirical evidence on TDD applied to ES development.

Objectives:

Our overarching objective is to start building knowledge on TDD applied to ES development. Specifically, we investigated: (i) the claimed benefits of TDD (i.e., increased external quality of ESs and developers’ productivity) and (ii) how developers apply TDD when developing ESs.

Method:

We conducted two empirical investigations. The former investigation, comprising two experiments, aimed to study the claimed benefits of TDD. To that end, we asked Computer Science (CS) Master’s students to fulfill ES development tasks by using TDD or a non-TDD approach. The latter investigation consisted of an ethnographically-informed study to gain insights into how developers apply TDD when developing ESs. In this study, we involved CS Master’s students, who were observed while fulfilling an ES development task. The participants in the two empirical investigations were different.

Results:

We found that the external quality of the developed ESs increased when using TDD as compared to a non-TDD approach, while there was not a substantial difference in developers’ productivity. However, TDD is perceived as more difficult to apply, and the development task is deemed more challenging with TDD. Several patterns emerged about how developers approach TDD when developing an ES (e.g., the participants did not always develop in conformity with TDD).

Conclusion:

TDD seems to be a promising approach to the development of ESs, even though further research is needed. In this regard, we believe that our results can pave the way for future research with the involvement of software companies and professionals.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Information and Software Technology
Information and Software Technology 工程技术-计算机:软件工程
CiteScore
9.10
自引率
7.70%
发文量
164
审稿时长
9.6 weeks
期刊介绍: Information and Software Technology is the international archival journal focusing on research and experience that contributes to the improvement of software development practices. The journal''s scope includes methods and techniques to better engineer software and manage its development. Articles submitted for review should have a clear component of software engineering or address ways to improve the engineering and management of software development. Areas covered by the journal include: • Software management, quality and metrics, • Software processes, • Software architecture, modelling, specification, design and programming • Functional and non-functional software requirements • Software testing and verification & validation • Empirical studies of all aspects of engineering and managing software development Short Communications is a new section dedicated to short papers addressing new ideas, controversial opinions, "Negative" results and much more. Read the Guide for authors for more information. The journal encourages and welcomes submissions of systematic literature studies (reviews and maps) within the scope of the journal. Information and Software Technology is the premiere outlet for systematic literature studies in software engineering.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信