Enregistré dans:
Détails bibliographiques
Auteurs principaux: Peruma, Anthony, Takebayashi, Taryn, Huang, Rocky, Averion, Joseph Carmelo, Hodapp, Veronica, Newman, Christian D., Mkaouer, Mohamed Wiem
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:https://arxiv.org/abs/2408.01751
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866916345925337088
author Peruma, Anthony
Takebayashi, Taryn
Huang, Rocky
Averion, Joseph Carmelo
Hodapp, Veronica
Newman, Christian D.
Mkaouer, Mohamed Wiem
author_facet Peruma, Anthony
Takebayashi, Taryn
Huang, Rocky
Averion, Joseph Carmelo
Hodapp, Veronica
Newman, Christian D.
Mkaouer, Mohamed Wiem
contents Unit testing is an important practice that helps ensure the quality of a software system by validating its behavior through a series of test cases. Core to these test cases are assertion statements, which enable software practitioners to validate the correctness of the system's behavior. To aid with understanding and troubleshooting test case failures, practitioners can include a message (i.e., assertion message) within the assertion statement. While prior studies have examined the frequency and structure of assertion messages by mining software repositories, they do not determine their types or purposes or how practitioners perceive the need for or the usage of various types of assertion messages. In this paper, we survey 138 professional software practitioners to gather insights into their experience and views regarding assertion messages. Our findings reveal that a majority of survey respondents find assertion messages valuable for troubleshooting failures, improving test understandability, and serving as documentation. However, not all respondents consistently include messages in their assertion methods. We also identified common considerations for constructing effective assertion messages, challenges in crafting them, maintenance techniques, and their integration into debugging processes. Our results contribute to the understanding of current practices and provide guidelines for authoring high-quality assertion messages, serving as a foundation for best practices and coding standards. Furthermore, the insights can guide the improvement of automated unit testing tools by incorporating checks for the presence and quality of assertion messages and providing real-time feedback to practitioners.
format Preprint
id arxiv_https___arxiv_org_abs_2408_01751
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle On the Rationale and Use of Assertion Messages in Test Code: Insights from Software Practitioners
Peruma, Anthony
Takebayashi, Taryn
Huang, Rocky
Averion, Joseph Carmelo
Hodapp, Veronica
Newman, Christian D.
Mkaouer, Mohamed Wiem
Software Engineering
Unit testing is an important practice that helps ensure the quality of a software system by validating its behavior through a series of test cases. Core to these test cases are assertion statements, which enable software practitioners to validate the correctness of the system's behavior. To aid with understanding and troubleshooting test case failures, practitioners can include a message (i.e., assertion message) within the assertion statement. While prior studies have examined the frequency and structure of assertion messages by mining software repositories, they do not determine their types or purposes or how practitioners perceive the need for or the usage of various types of assertion messages. In this paper, we survey 138 professional software practitioners to gather insights into their experience and views regarding assertion messages. Our findings reveal that a majority of survey respondents find assertion messages valuable for troubleshooting failures, improving test understandability, and serving as documentation. However, not all respondents consistently include messages in their assertion methods. We also identified common considerations for constructing effective assertion messages, challenges in crafting them, maintenance techniques, and their integration into debugging processes. Our results contribute to the understanding of current practices and provide guidelines for authoring high-quality assertion messages, serving as a foundation for best practices and coding standards. Furthermore, the insights can guide the improvement of automated unit testing tools by incorporating checks for the presence and quality of assertion messages and providing real-time feedback to practitioners.
title On the Rationale and Use of Assertion Messages in Test Code: Insights from Software Practitioners
topic Software Engineering
url https://arxiv.org/abs/2408.01751