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)
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:
Só que ele responde também com o algoritmo:
Só que ele responde também com o algoritmo:
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:
Rodamos:
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:
E roda sem problemas:
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!