7 research outputs found

    Why Research on Test-Driven Development is Inconclusive?

    Full text link
    [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

    Get PDF
    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.

    Get PDF
    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.

    Get PDF
    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

    No full text
    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

    Get PDF
    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
    corecore