Análise experimental entre as técnicas TDD e Test-Last no processo de manutenção corretiva de software - Barros, Gabryela Santana (2019)
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.