7 research outputs found
Why Research on Test-Driven Development is Inconclusive?
[Background] Recent investigations into the effects of Test-Driven
Development (TDD) have been contradictory and inconclusive. This hinders
development teams to use research results as the basis for deciding whether and
how to apply TDD. [Aim] To support researchers when designing a new study and
to increase the applicability of TDD research in the decision-making process in
the industrial context, we aim at identifying the reasons behind the
inconclusive research results in TDD. [Method] We studied the state of the art
in TDD research published in top venues in the past decade, and analyzed the
way these studies were set up. [Results] We identified five categories of
factors that directly impact the outcome of studies on TDD. [Conclusions] This
work can help researchers to conduct more reliable studies, and inform
practitioners of risks they need to consider when consulting research on TDD.Comment: ESEM '20: ACM / IEEE International Symposium on Empirical Software
Engineering and Measurement (ESEM), October 8--9, 2020, Bari, Ital
Factors influence novice programmers toward test first approach
Test First is one of the Agile development approaches. In practice, Test First needs a developer to design test cases followed by the development of actual codes. The previous study on Test First has been covering the quality of the codes, either internal quality of codes, external quality of codes, or productivity of codes. Also, research on the behavior of the developers toward Test First based on the developers experiences implementing the Test First approach. This research is looking into the behavior of developers, which focus on finding the factors that influence novice programmers’ to execute Test First by using the Theory of Planned Behavior as the theoretical framework. The Theory of Planned Behavior framework is used to identify the factors that contribute to the Intention of novice programmers’ to implement Test First. The factors were identified quantitatively using a set of questionnaire. The results indicated that Behavioral Beliefs, Attitude towards Behavior, Normative Beliefs, and Subjective Norms are the factors that influenced novice programmers to implement Test First. © 2019, World Academy of Research in Science and Engineering. All rights reserved
Aplicación del desarrollo guiado por pruebas como una práctica de la ingeniería de software.
El diseño de aplicaciones móviles es considerado como una de las prioridades tecnológicas en el mundo moderno. Estas se encaminan a satisfacer la demanda de los usuarios para garantizar eficiencia y productividad empresarial mediante la automatización de sus procesos. El objetivo de esta investigación fue desarrollar una aplicación web móvil para el registro de lectura de los medidores del consumo de agua y cobros por servicios prestados. Para su desarrollo se utilizó la metodología ágil, en particular Scrum, que permitió ejecutar las tareas de manera eficaz con participación activa del cliente; se aplicó el Desarrollo Dirigido por Pruebas para la realización de pruebas unitarias en las tareas de programación y pruebas de aceptación para validar funcionalidades. Como principal resultado se obtuvo el diseño y ejecución de una aplicación web/ móvil que cumple con el objetivo previsto y que superó las primeras pruebas de calidad y funcionamiento, estando pendiente en un segundo momento su implementación a escala funcional. La Metodología Scrum y el Desarrollo Dirigido por Pruebas TDD, constituyen herramientas de invaluable valor en el diseño y elaboración de aplicaciones web para ser implementadas en el sector empresarial.The design of mobile applications is considered one of the technological priorities in the modern world. These are aimed at satisfying the demand of users to ensure efficiency and business productivity through the automation of their processes. The objective of this research was to develop a mobile web application for the reading of water consumption meters and charges for services rendered. For its development, the agile methodology was used, , the Scrum method, which allowed executing the tasks efficiently with active participation of the client; Test-Driven Development was applied to perform unit tests in programming tasks and acceptance tests to validate functionalities. The main result was the design and execution of a web application that meets the target and exceeded the first quality and performance tests, pending implementation at a functional scale. The Scrum method and Test Driven Development are tools of invaluable value in the design and development of web applications to be implemented in the business sector
Aplicación del desarrollo guiado por pruebas como una práctica de la ingeniería de software.
El diseño de aplicaciones móviles es considerado como una de las prioridades tecnológicas en el mundo moderno. Estas se encaminan a satisfacer la demanda de los usuarios para garantizar eficiencia y productividad empresarial mediante la automatización de sus procesos. El objetivo de esta investigación fue desarrollar una aplicación web móvil para el registro de lectura de los medidores del consumo de agua y cobros por servicios prestados. Para su desarrollo se utilizó la metodología ágil, en particular Scrum, que permitió ejecutar las tareas de manera eficaz con participación activa del cliente; se aplicó el Desarrollo Dirigido por Pruebas para la realización de pruebas unitarias en las tareas de programación y pruebas de aceptación para validar funcionalidades. Como principal resultado se obtuvo el diseño y ejecución de una aplicación web/ móvil que cumple con el objetivo previsto y que superó las primeras pruebas de calidad y funcionamiento, estando pendiente en un segundo momento su implementación a escala funcional. La Metodología Scrum y el Desarrollo Dirigido por Pruebas TDD, constituyen herramientas de invaluable valor en el diseño y elaboración de aplicaciones web para ser implementadas en el sector empresarial.The design of mobile applications is considered one of the technological priorities in the modern world. These are aimed at satisfying the demand of users to ensure efficiency and business productivity through the automation of their processes. The objective of this research was to develop a mobile web application for the reading of water consumption meters and charges for services rendered. For its development, the agile methodology was used, , the Scrum method, which allowed executing the tasks efficiently with active participation of the client; Test-Driven Development was applied to perform unit tests in programming tasks and acceptance tests to validate functionalities. The main result was the design and execution of a web application that meets the target and exceeded the first quality and performance tests, pending implementation at a functional scale. The Scrum method and Test Driven Development are tools of invaluable value in the design and development of web applications to be implemented in the business sector
Findings from a multi-method study on test-driven development
Context Test-driven development (TDD) is an iterative software development practice where unit tests are defined before production code. A number of quantitative empirical investigations have been conducted about this practice. The results are contrasting and inconclusive. In addition, previous studies fail to analyze the values, beliefs, and assumptions that inform and shape TDD. Objective We present a study designed, and conducted to understand the values, beliefs, and assumptions about TDD. Participants were novice and professional software developers. Method We conducted an ethnographically-informed study with 14 novice software developers, i.e., graduate students in Computer Science at the University of Basilicata, and six professional software developers (with one to 10 years work experience). The participants worked on the implementation of a new feature for an existing software written in Java. We immersed ourselves in the context of our study. We collected qualitative information by means of audio recordings, contemporaneous field notes, and other kinds of artifacts. We collected quantitative data from the integrated development environment to support or refute the ethnography results. Results The main insights of our study can be summarized as follows: (i) refactoring (one of the phases of TDD) is not performed as often as the process requires and it is considered less important than other phases, (ii) the most important phase is implementation, (iii) unit tests are almost never up-to-date, and (iv) participants first build in their mind a sort of model of the source code to be implemented and only then write test cases. The analysis of the quantitative data supported the following qualitative findings: (i), (iii), and (iv). Conclusions Developers write quick-and-dirty production code to pass the tests, do not update their tests often, and ignore refactoring
Findings from a multi-method study on test-driven development
Context: Test-driven development (TDD) is an iterative software development
practice where unit tests are de ned before production code. A
number of quantitative empirical investigations have been conducted about
the practice. The results are somehow contrasting and inconclusive. In addition,
previous studies fail to analyze the values, beliefs, and assumptions
that inform and shape TDD.
Objective: In this paper, we present a study designed, and conducted to
understand the values, beliefs, and assumptions of TDD. Participants in the
study were novice and professional software developers.
Method: We conducted an ethnographically-informed study with 14 novice
software developers, i.e., graduate students in Computer Science at the University
of Basilicata, and six professional software developers (with one to 10
years work experience). The participants worked on the implementation of a
new feature for an existing software written in Java. We immersed ourselves
in the context of our study. We collected qualitative information by means of
audio recordings, contemporaneous eld notes, and other kinds of artifacts.
We collected quantitative data from the integrated development environment
to support or refute the ethnography results.Results: The main insights of our study can be summarized as follows:
(i) refactoring (one of the phases of TDD) is not performed as often as the
process requires and it is considered less important than other phases, (ii) the
most important phase is implementation, (iii) unit tests are almost never upto-
date, and (iv) participants rst build in their mind a sort of model of the
source code to be implemented and only then write test cases. The analysis
of the quantitative data supported the following qualitative ndings: (i),
(iii), and (iv).
Conclusions: Developers write quick-and-dirty production code to pass
the tests, do not update their tests often, and ignore refactoring