A prática do Test-Driven Development (TDD) é essencial para um desenvolvedor atuante no contexto DevOps. Além de fortalecer a base com testes unitários sólidos, ela desempenha um papel crucial na criação de código robusto, minimizando a acumulação de dívida técnica.

Diante dessa importância, optei por elaborar este artigo, explorando as possibilidades proporcionadas pela Inteligência Artificial para potencializar a adoção do TDD.

Uma das minhas grandes paixões foi o desenvolvimento de software. Eu adorava programar, codificar e me envolver profundamente nesse universo. Ao longo dos anos, entretanto, afastei-me do desenvolvimento para assumir outros papéis profissionais, como gerente de projeto, gerente de TI, instrutor de cursos e consultor.

Retomei ocasionalmente a prática do desenvolvimento ao criar alguns jogos, como o Blockdoku e um jogo de Xadrez interativo, mas apenas como um hobby. Revisitei mais intensamente o desenvolvimento quando ministrei cursos de Test-Driven Development (TDD) com ênfase em DevOps. Nessas ocasiões, tive a oportunidade de liderar várias turmas in-company, utilizando linguagens como PHP, Java, C# e .Net.

USO DO TDD COM APOIO DA INTELIGENCIA ARTIFICIAL:

O Desenvolvedor DevOps usa TDD (Test-Driven Development)

DevOps & IA

O TDD surgiu como uma disciplina no contexto da programação extrema (XP), mas tornou-se extraordinariamente relevante para desenvolvedores DevOps. Essa abordagem possibilita a elaboração de código robusto e bem estruturado, com gerenciamento efetivo da dívida técnica, ao mesmo tempo em que é acompanhado por testes unitários de alta qualidade. Também auxilia aos desenvolvedores na administração da complexidade durante o processo criativo de codificação, proporcionando uma experiência prazerosa, produtiva e mais tranquila.

Contudo, a adoção do TDD tem se mostrado desafiadora. É nesse ponto que a inteligência artificial pode também oferecer mais sua excelente contribuição. A IA pode ser uma aliada valiosa, proporcionando suporte na superação das dificuldades associadas à adoção do TDD, tornando esse processo mais acessível e eficiente.

Um exemplo do uso de TDD usando IA

Vou utilizar um exemplo usado por Mauricio Aniche nos seus livros, o conversor de número romanos como exemplo, e o ChatGPT 3.5. Então seguindo o método, pedimos para criar um primeiro teste unitário para validar o símbolo “I”.

>  Crie um teste unitário para avaliar somente o valor 1 de retorno, para um algoritmo de conversão de números arábico a romanos:

O ChatGPT responde:

Teste Unitário ChatGPT

Só que ele responde também com o algoritmo:

ChatGPT Teste Unitário

Só que ele responde também com o algoritmo:

ChatGPT Teste Unitário

Perfeito!!! código rodando com seus Teste Unitário rodando em forma correta.

Então peço para me entregar todos os testes unitários do algoritmo:

> crie todos os testes unitários para o algoritmo de conversão de números arábico a romanos:

ChatGPT Teste Unitário

Rodamos:

ChatGPT Teste Unitário

Perfeito!!!

Solicito ainda completar com mais testes unitários, já que faltam os números 5, 10, 50, etc.

> inclua os testes unitários de números 5, 10, 50, 11, 23

e ele completa:

ChatGPT Teste Unitário

E roda sem problemas:

ChatGPT Teste Unitário

Este exemplo ilustra o poder da Inteligência Artificial como uma ferramenta valiosa tanto para iniciantes quanto para desenvolvedores experientes. É especialmente útil para aqueles que desejam incorporar Test-Driven Development (TDD) em suas práticas diárias e iniciar suas incursões nas disciplinas do DevOps.

 

Conclusão

Os potenciais são amplos e novas oportunidades continuarão a emergir. O foco está em atender aos resultados cruciais da organização, especialmente em serviços de TI altamente críticos para o mercado.

Produzir código de alta qualidade, simultaneamente protegendo nosso trabalho contra possíveis falhas, nos permite detectar erros mais cedo (durante a codificação) e corrigi-los imediatamente, sem prejudicar a produção. A utilização do TDD é fundamental para qualquer desenvolvedor no contexto DevOps.

Até a próxima!

Fique por dentro de nossos conteúdos se cadastrando na nossa newsletter semanal! Clique aqui!

Leave a Reply