Usando o ChatGPT para Testes Automatizados

Ari Mahpour
|  Criada: Maio 3, 2023  |  Atualizada: Setembro 24, 2024
Usando o ChatGPT para Testes Automatizados

Tem sido notícia por toda parte e se você ainda não ouviu falar sobre isso, está na hora de conhecer o ChatGPT da OpenAI. É uma ferramenta incrivelmente poderosa que funciona com base em Inteligência Artificial. O conceito é que você pode perguntar quase qualquer coisa ou dar a ele qualquer tarefa e, hipoteticamente, ele responderia com a resposta correta ou completaria a tarefa para você. Por exemplo, as pessoas o usam para escrever discursos, compor e-mails, pesquisar tópicos ou até mesmo escrever código. Embora o modelo esteja longe de ser perfeito, ainda é muito impressionante e contém muitas informações úteis. Nosso próprio Mark Harris recentemente demonstrou essa capacidade para mim com um script simples que controla um instrumento para testes automatizados. Decidi explorar essa toca de coelho e experimentar com ChatGPT e testes automatizados. Neste artigo, vamos mostrar como começar a usar o ChatGPT, aprender a fazer perguntas e, mais importante, entender quais as perguntas certas são necessárias para alcançar os resultados que você está procurando.

Como Começar com o ChatGPT

Antes de mergulhar, você vai querer se familiarizar com o ChatGPT e o que ele tem a oferecer. Primeiro, navegue até chat.openai.com e cadastre-se ou faça login com uma conta. No momento em que este artigo foi escrito, a ferramenta estava sendo oferecida gratuitamente, então você deve conseguir começar imediatamente. Comece com perguntas básicas como “quanto é 1 + 1?” ou “de que cor é o céu?” Depois disso, você pode começar a dar tarefas como compor um ensaio, redigir um e-mail ou escrever uma função simples em software. A interface é limpa e simples, basta digitar na caixa de mensagem na parte inferior como se fosse enviar qualquer mensagem e clicar em enviar (ou pressionar enter).

 

Using ChatGPT, Automated Testing, AI, Machine Learning, Embedded Software, Altium
Figura 1: Caixa de mensagem com ChatGPT

Escrevendo Bibliotecas de Software

Uma vez que você se sentir confortável em ter uma conversa com o ChatGPT, pode começar a experimentar fazer com que ele gere código para você. Pedidos básicos como "escreva uma função em C para somar dois números" é uma tarefa trivial que ele pode facilmente lidar. Começa a ficar complicado uma vez que você adiciona mais detalhes ao pedido. Eu gosto de ter todo o meu código organizado em classes bem arrumadas, então eu digo explicitamente ao ChatGPT para criar uma classe que faça algo para mim. Aqui está um exemplo:

Test Automation, Chatbot Testing, Software Testing
Figura 2: Pedido para geração de classe

 

Você também notará que eu pedi para ele gerar testes para mim usando Pytest. Ele também lidou com este pedido, mas, infelizmente, o código tinha um monte de bugs que foram um tanto desafiadores para corrigir. Ainda assim, foi um ótimo processo para ver como ele estruturou o código e os testes unitários. Eu, certamente, aprendi uma ou duas coisas ao vê-lo gerar código de uma maneira que eu não teria feito por mim mesmo.

Gerando Código Instrucional no ChatGPT

Uma abordagem descrita acima é ter a IA fornecendo a ferramenta (ou seja, biblioteca de software) para que você possa construir o produto (ou seja, script de teste). Outra abordagem é fornecer especificações de teste específicas para o ChatGPT e fazer com que ele gere o código para você. Isso é ótimo para gerar scripts de teste rápidos e simples para começar antes de precisar ajustar sua configuração e casos de teste. Vamos dar uma olhada em um exemplo.

Eu forneci o seguinte conjunto de instruções, muito simples, para o ChatGPT testar um conversor de energia chaveado:

Escreva-me um script em Python usando Pytest para realizar o seguinte:

1. Ligar uma fonte de alimentação Rigol DP832 e ajustá-la para 5V e 2A no canal 1

2. Ligar uma carga eletrônica Rigol DL3021 e ajustar a carga para 1.5A de corrente constante por 3 minutos

3. Desligar o DP832 e o DL3021

Eu nem sequer incluí testes específicos neste caso. Tudo o que eu queria era observar se o meu conversor DC-DC poderia lidar com uma carga de 1,5A por 3 minutos. O código gerado foi bastante decente, mas de vez em quando eu encontrava bugs que tornavam um pouco desafiador corrigi-los. Você também pode pedir ao ChatGPT para incluir afirmações específicas ou testar falhas específicas, mas eu estava interessado apenas em testar o básico com o aplicativo de IA. Além disso, você pode até solicitar que ele escreva uma classe de teste (com ou sem mocks) para validar o código. Novamente, nem tudo estava perfeitamente alinhado. Eu tive que ajustar o próprio código e a classe de teste para fazê-los funcionar perfeitamente. 

Conclusão

No geral, a experimentação com o ChatGPT foi uma boa experiência. Foi bom ter um “agregador” para juntar alguns conceitos em código sem ter que fazer o trabalho manual ou buscar exemplos na web. Embora não seja perfeito, ainda foi útil e divertido experimentar. Após revisar este artigo, você deve ter uma compreensão decente sobre como:

  1. Acesse o ChatGPT
  2. Faça perguntas básicas
  3. Crie bibliotecas de software com base em um pedido
  4. Crie código de execução de teste com base em um pedido

Eu recomendo fortemente que você confira e execute os exemplos que forneci neste artigo ou tente alguns dos seus próprios. Tenha em mente que o ChatGPT ainda está, tecnicamente, em beta, então não crie expectativas muito altas. Seja paciente e certifique-se de informá-lo quando ele cometer erros para que possa “aprender” com seus equívocos. Feliz programação!

Sobre o autor

Sobre o autor

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Recursos relacionados

Retornar a página inicial
Thank you, you are now subscribed to updates.