TDD

Um assunto muito cobrado pelas diversas bancas para os cargos da área de tecnologia da informação é o de testes de software, um tema relevante dentro de diversas temáticas da Engenharia de Software.

Avatar


21 de Março de 2023

Olá Pessoal!

Um assunto muito cobrado pelas diversas bancas para os cargos da área de tecnologia da informação é o de testes de software, um tema relevante dentro de diversas temáticas da Engenharia de Software. Neste artigo vamos explicar um pouco do funcionamento de TDD (Test-Driven Development ou Desenvolvimento Dirigido a Teste), bem como os principais aspectos desse tipo de teste de software, analisando algumas questões que volta e meia são cobrados.

TDD envolve escrever testes automatizados antes de escrever o código do aplicativo. Ao invés de escrever o código primeiro e, em seguida, escrever testes para ver se o código funciona, o programador inicia o processo pelo teste, escrevendo pequenas unidades de código e em seguida testando-as. Esse método de desenvolvimento é altamente iterativo, com testes e código sendo escritos em pequenos ciclos, muitas vezes com duração de minutos. Neste artigo, exploraremos os benefícios do TDD, como ele funciona e como implementá-lo em um projeto.

 

O processo de TDD geralmente começa com a escrita de um teste automatizado que descreve o comportamento desejado da aplicação. Este teste, inicialmente, sempre irá falhar, pois ainda não há código para suportá-lo. Em seguida, o programador escreve a quantidade mínima de código necessário para fazer o teste passar. O código é, então, refatorado e o teste é executado novamente para verificar se o comportamento continua sendo o esperado. Conforme Figura 1:

Figura 1 – TDD

Uma das principais vantagens do TDD é que ele ajuda a garantir que o código está sendo desenvolvido com o comportamento desejado em mente. Ao escrever os testes antes do código, o programador está forçado a pensar em como a aplicação deveria se comportar. Isso pode ajudar a prevenir erros, uma vez que o programador está trabalhando com uma compreensão clara do que a aplicação deve fazer.

Isso ajuda a melhorar a qualidade do código. Ao escrever testes automatizados para cada parte do código, o programador pode se sentir mais confiante de que o código está funcionando corretamente. Além disso, o código escrito utilizando TDD é frequentemente mais fácil de manter, já que é organizado em pequenas unidades que são testadas independentemente.

 

Outra vantagem do TDD é que ele pode ajudar a reduzir o tempo gasto em depuração e resolução de problemas. Como o código é testado desde o início do desenvolvimento, problemas podem ser encontrados e resolvidos antes que o código se torne muito complexo. Isso pode ajudar a prevenir problemas maiores e mais difíceis de resolver no futuro.

 

Além de melhorar a qualidade do código, TDD também pode ajudar a melhorar a produtividade da equipe. Ao escrever testes automatizados, os programadores podem se sentir mais confiantes de que o código está funcionando corretamente e, portanto, podem gastar menos tempo testando manualmente. Isso pode liberar mais tempo para o desenvolvimento de novos recursos ou para a resolução de problemas mais complexos. Para implementar o TDD em um projeto, o primeiro passo é escolher uma ferramenta de teste automatizado, que trataremos nos próximos artigos. Vamos ver algumas questões sobre TDD agora:

Questão 1

Ano: 2018 Banca: UECE-CEV Órgão: Funceme Prova: UECE-CEV – 2018 – Funceme – Pesquisador – Informática – Sistema de Suporte de Decisão

Test-driven Development (TDD) é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código (Sommerville, I. Engenharia de Software, 9a edição, 2011).

A respeito do TDD, é correto afirmar que

Alternativas

a)consiste em um processo iterativo que se inicia escrevendo um código de uma funcionalidade do sistema e, logo em seguida, testa-o para saber se a implementação foi correta.

b)apesar de útil, não diminui o custo de testes de regressão do sistema.

c)sua utilização elimina a necessidade de testes de validação do sistema, uma vez que ele já foi testado incrementalmente.

d)apesar de ter sido apresentado como parte dos métodos ágeis, também pode ser usado em outros processos de desenvolvimento de software.

Questão 2

Ano: 2015 Banca: CESPE / CEBRASPE Órgão: STJ Prova: CESPE – 2015 – STJ – Técnico Judiciário – Tecnologia da Informação

Em relação a desenvolvimento orientado a testes (TDD) e a testes automatizados, julgue o próximo item.

Um dos passos executados no ciclo de atividades do processo TDD é a criação de novos testes para as falhas encontradas no código original, sem alteração deste.

Alternativas

Certo

Errado

 

O gabarito pode ser consultado no final desse artigo.

Para Pensar !!!

Encerro esse pequeno artigo sobre TDD ! Bons Estudos !

Até mais !

Gabarito:

Questão 1: LETRA D.

Questão 2: ERRADO. Nesse caso, o desenvolvedor deve corrigir o código para passar nos testes já existentes e, em seguida, criar testes para verificar que as falhas foram corrigidas e que a funcionalidade está funcionando corretamente. Portanto, a afirmação “um dos passos executados no ciclo de atividades do processo TDD é a criação de novos testes para as falhas encontradas no código original, sem alteração deste” está incorreta.

Professor Washington Almeida

 


Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil?
Clique nos links abaixo:

CONCURSOS ABERTOS

CONCURSOS 2023

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
Clique no link abaixo e inscreva-se gratuitamente:

TELEGRAM

Avatar


21 de Março de 2023