An approach for applying Test-Driven Development (TDD) in the development of randomized algorithms

Authors

  • André A. S. Ivo Centro Nacional de Monitoramento e Alertas de Desastres Naturais (CEMADEN)
  • Eduardo M. Guerra Instituto Nacional de Pesquisas Espaciais (INPE)
  • Sandy M. Porto Instituto Nacional de Pesquisas Espaciais (INPE)
  • Joelma Choma Instituto Nacional de Pesquisas Espaciais (INPE)
  • Marcos G. Quiles Universidade Federal de São Paulo (UNIFESP)

Keywords:

TDD, Randomized, Tests, Framework, JUnit, Metadata, Code, Annotations

Abstract

TDD is a technique traditionally applied in applications with deterministic algorithms, in which the input and the expected result are known. However, the application of TDD with randomized algorithms have been a challenge, especially when the execution demands several random choices. The goal of this paper is to present an approach to allow the use of TDD in the development of randomized algorithms, and the Random Engagement for Test (ReTest) framework, a JUnit extension that provides support for the proposed approach. Furthermore, this paper present the results of a single-subject experiment carried out to assess the feasibility of the proposed approach, and a study on developer experience when using ReTest framework. Our results support the claim that the proposed approach is suitable for the development of randomized software using TDD and that the ReTest framework is useful and easy to use.

; &

Downloads

Download data is not yet available.

Downloads

Published

2018-09-18

How to Cite

Ivo, A. A. S., Guerra, E. M., Porto, S. M., Choma, J., & Quiles, M. G. (2018). An approach for applying Test-Driven Development (TDD) in the development of randomized algorithms. Journal of Software Engineering Research and Development, 6, 9:1 – 9:31. Retrieved from https://sol.sbc.org.br/journals/index.php/jserd/article/view/447

Issue

Section

Research Article