ChatGPT: como usar para aprimorar a qualidade de um software?

A cada nova revolução tecnológica que surge no mundo, a mesma pergunta volta à tona: o homem será substituído pela máquina? Desde o temor com a invenção do computador aos dias de hoje, o medo de perder nossos empregos permeia as discussões sobre as tecnologias que prometem virar do avesso as relações de trabalho. Dentro desse debate, uma ferramenta em particular tem se destacado nos últimos meses: o ChatGPT.

Em segmentos intensivamente tecnológicos, logo surgem os promotores e os detratores de qualquer nova ferramenta. É o caso do mundo da Qualidade de Software, que, pela própria natureza da atividade, lida com tecnologia a todo momento, além de abrigar um perfil de profissionais que, por via de regra, estão em constante aprendizado sobre novas ferramentas de trabalho.

O avanço tecnológico pode ser intimidador em alguns momentos. Contudo, com essas novas ferramentas, também surgem oportunidades, principalmente para utilizar essas tecnologias a nosso favor. A título de exemplo, em março deste ano, a empresa Impact Research fez um levantamento com 1000 professores do ensino básico americano e, segundo os resultados, mais da metade dos docentes (51%) estão utilizando o ChatGPT para o planejamento de aulas.

Portanto, a grande pergunta para o setor de Qualidade de Software é: Como eu posso usufruir do ChatGPT para aprimorar o meu trabalho?

As peculiaridades do ChatGPT

O ChatGPT é uma ferramenta treinada por humanos, com uma quantidade incrível de dados para poder correlacionar o que aprendeu com a pergunta recebida. Feito isso, ele exibe uma resposta que, por muitas vezes, é surpreendentemente fascinante. No entanto, apenas essa lógica de pergunta e resposta não basta para agregar valor ao terreno da qualidade. Para ser aplicável nessa área, é preciso adicionar uma camada de contextualização aos questionamentos e interpretação às devolutivas do ChatGPT.

Leia também: Smart Building: o futuro da construção civil

Por mais que a IA esteja sendo considerada uma revolução, há um risco de desinformação considerável. O ChatGPT, como o próprio site da plataforma diz, possui um formato de diálogo por perguntas de acompanhamento, ou seja, a conversa pode ser aprofundada, do mais básico para o mais avançado. Trazendo para o universo corporativo, um profissional que não consiga contextualizar sua dúvida e questionar a ferramenta para obter a melhor solução para seu problema, corre o risco de se contentar com uma resposta incompleta ou, até mesmo, inadequada. É aí que mora o perigo.

Além disso, é plausível vislumbrar outro desafio. Um buscador como o Google exibe diferentes resultados para um questionamento, ao passo que o ChatGPT exibe uma resposta única. Temos aqui, mais um risco: uma diminuição gradual da capacidade cognitiva das pessoas, que, teoricamente, não teriam mais que analisar diferentes fontes de informações, podendo se dar ao luxo de aceitar uma assertiva pronta.

Essa ameaça tem uma estreita relação com a possível aplicabilidade do ChatGPT às atividades de Qualidade de Software, uma vez que, como já mencionamos, é preciso saber pensar no que perguntar à IA para obter uma contribuição útil da ferramenta.

Exemplos de aplicações práticas da IA

Vamos exemplificar algumas aplicações da Inteligência Artificial na área de programação:

  • Em testes unitários, é preciso isolar um código para testá-lo. O ChatGPT pode ajudar na orientação à criação de mocks, que são objetos utilizados em desenvolvimento de software para simular comportamentos de forma controlada.
  • A IA pode ajudar a montar provas de conceito (PoC, Proof of Concept) mais rápido e até comparar diferentes linguagens de programação;
  • O ChatGPT pode sugerir diferentes formas de desenvolver e implementar um código, além de comparar diferentes bibliotecas (libs).

Todas as atividades mencionadas podem economizar algumas horas de uma pessoa programadora, seja ela júnior ou mais experiente. Porém, ela irá funcionar corretamente, dentro do objetivo do projeto, ou precisará ser corrigida inúmeras vezes? Nesta questão reside o dilema da facilidade que uma IA proporciona diante da falsa produtividade.

Os desafios do uso da IA no dia a dia

Criar testes automatizados exige capacidade cognitiva e pensar em contextos, o que é fundamental para realmente entregar software com mais qualidade. Uma empresa madura em QA estimula os seus profissionais a desenvolverem cada dia mais essas competências. Geralmente, as pessoas que estão à frente de times de tecnologia entendem bem a relevância de considerar os desafios técnicos e de negócio.

É possível desenvolver, por exemplo, uma API mais simples se esta for ser acessada por apenas 200 usuários. Já em uma escala de rede social, o “mesmo” desafio de criar uma API é mais caro e complexo. Pode parecer óbvio, porém, para chegar a esse nível de análise, é preciso entender objetivos e perguntas-chave que mudam o contexto de uma API.

Esse caso específico ilustra como os gestores de tecnologia precisam estar atentos à forma que sua equipe encara os obstáculos que se apresentam: será que os seus times sabem pensar em Qualidade de Software com estratégia ou apenas escrevem códigos e criam testes repetitivamente sem planejamento?

Por isso, podemos dizer que o desafio está justamente no uso que se irá fazer da IA. Enquanto há o deslumbramento das pessoas ao ver o ChatGPT escrever um poema com a tinta de Drummond ou compor uma música com o estilo da Anitta, um outro lado fica na penumbra. Trata-se, justamente, do risco oculto de aplicar a IA apenas para obter soluções rasas, sem contexto, e que não oferecem resolução de problemas práticos.

Sendo assim, eis a pergunta: você está pronto para usar a Inteligência Artificial de forma estratégica? Não vale perguntar para o ChatGPT.

*Bruno Abreu é co-fundador e CEO da Sofist

Siga o IT Forum no LinkedIn e fique por dentro de todas as notícias!