Análise experimental entre as técnicas TDD e Test-Last no processo de manutenção corretiva de software
Data
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Católica do Salvador
In the context of software development, It is possible to find any approaches. The
test last development technique (TLD) is the most common process in software building
practice. The test-driven development (TDD) is a technique in which tests are applied
before the implementation of a feature. Due to software process improvement and with
the influence of the agile movement, the TDD gained notoriety and nowadays is very
widespread in the community. It is well known about benefits of software development,
but there are few sources of information about corrective maintenance.
This work was done in three steps. The first step had the objective of creating a
dataset of codes made using TDD and TLD aprroach. For the second step a total of ten
valid codes were selected during this phase, five codebases using TLD approach and five
codebases using TDD approach. The third step using code that were create on previous
phase, were submitted for maintenance, where possible implmentation errors should be
detected.
The objective of this research is, through experiments with students of various levels in
the area of computing, is to check the efficiency of TDD in software maintenance compared
to TLD. During development session, It is possible to notice that code built with TDD
has less size and more quality comparing to TLD. In maintenance, it was observed that
the codes built with TDD, had a larger number of bugs solved than the codes built with
TLD. However, results of the time-saving for fixing bugs were inconclusive.
No contexto de desenvolvimento de software, é possível encontrar várias abordagens.
A técnica teste depois do desenvolvimento (TLD) é o processo mais comum na prática de
construção de um software. O desenvolvimento orientado a testes (TDD) é uma técnica
em que os testes são escritos antes da implementação de uma funcionalidade.
Devido ao aprimoramento dos processos de software e com a influência do movimento
ágil, o TDD ganhou notoriedade e atualmente é bastante difundido na comunidade. Muito
se sabe sobre seus benefícios para o processo de desenvolvimento de software, mas há
poucas evidências de seu domínio em relação a manutenção corretiva de software. Dito
isto, o objetivo desta pesquisa é, através de experimentos com estudantes de níveis variados
da área de computação, testificar a eficiência do TDD na manutenção corretiva de software
em comparação com o TLD.
O trabalho foi dividido em três etapas. A primeira fase teve como objetivo a criação de
um dataset contendo códigos desenvolvidos com as técnicas de TDD e TLD. Na segunda
fase foram selecionados um total de dez códigos válidos para os experimentos seguintes:
cinco códigos utilizando TDD e cinco códigos utilizando TLD. Na terceira fase, os códigos
selecionados na fase anterior passaram por um processo de manutenção, onde deveriam
ser detectados possíveis erros de implementação.
Ao final deste estudo é possível analisar o resultado de duas perspectivas: desenvolvimento
e manutenção. No desenvolvimento, percebeu-se que os códigos construídos com
TDD possuem menor tamanho e maior qualidade quando comparado ao TLD. Na manutenção,
percebeu-se que os códigos construídos com TDD, possuíam um número maior
de bugs solucionados do que códigos construídos com TLD. No entanto, os resultados na
economia de tempo para correção de bugs foram inconclusivos.
