Desde 2021, quando comecei a palestrar sobre qualidade e desenvolvimento de software no The Developer's Conference, surgiram frequentes questionamentos sobre o impacto da Inteligência Artificial (IA) no setor de Quality Assurance (QA), com perguntas como: "a IA irá extinguir a função de QA?" e "com a IA, será realmente necessário mais de uma pessoa desenvolvedora por projeto?". A resposta para ambas as questões é um inequívoco NÃO. A Inteligência Artificial não tem o objetivo de eliminar postos de trabalho.
É normal que novidades no modo de trabalhar sejam vistas com desconfiança por profissionais. Para se ter uma ideia, nos anos 80 com a introdução das primeiras Integrated Development Environment (IDEs) que permitiram a edição e compilação de códigos anteriormente desenvolvidos em editores de texto e compiladores, o mercado teve questionamentos semelhantes. Porém, hoje em dia é quase impossível pensar em desenvolvimento de software sem uma IDE.
Mas o que são ferramentas de codificação com AI? Tratam-se de softwares que utilizam Inteligência Artificial e algoritmos de aprendizado de máquina para auxiliar profissionais de desenvolvimento e QA em suas atividades de codificação e testes. Essas ferramentas oferecem suporte em diversas tarefas, incluindo a escrita e depuração de códigos, revisão por pares através da utilização de prompts contendo validações de regras e padrões de desenvolvimento de software, elaboração de documentação de testes e automação, entre outras.
Um exemplo significativo de ferramenta de Inteligência Artificial é a StackSpot AI, uma ferramenta de IA desenvolvida pela Zup Innovation que é capaz de usar suas bases de conhecimento e decisões tecnológicas para gerar sugestões contextualizadas.
As vantagens de ferramentas de IA nos processos de qualidade são muitas. Com a StackSpot AI é possível uma rápida assimilação de novas linguagens e técnicas e aumentar de forma significativa a produtividade. Por exemplo, usando a ferramenta, profissionais que não conheciam bem os frameworks JEST e SuperTest conseguiram aprender a desenvolver testes com eles.
Um dos diferenciais da StackSpot AI é a criação de Quick Commands, que são instruções predefinidas enviadas para a linguagem de larga escala (LLM) para executar ações específicas. Esses comandos cadenciados oferecem uma maneira eficiente de contextualizar a LLM. Por exemplo, foi desenvolvido um Quick Command, que gera toda a documentação necessária – incluindo Estórias de Usuários, Critérios de Aceite, Plano de Testes e Cenários de Testes – a partir de um requisito. Em vez de levar um dia para redigir toda a documentação manualmente, é possível obtê-la em minutos.
Para profissionais de desenvolvimento, a StackSpot IA também oferece oportunidades valiosas nos processos de qualidade. É possível criar Quick Commands para realizar revisões de código com base em parâmetros de qualidade definidos, melhorar a cobertura de testes sugerindo padrões de desenvolvimento, criar métodos, corrigir bugs, configurar pipelines, entre outros. Para equipes que não dispõem de uma pessoa dedicada a testes, foi criado um Quick Command que gera cenários de testes a partir de uma classe, com base na pirâmide de testes definida pelo Syllabus.
Embora a IA ofereça inúmeras possibilidades, também apresenta desafios significativos. Diversos profissionais enfrentam desafios na adoção de IA. Um dos principais é a curva de aprendizado necessária para dominar a engenharia de prompt, garantindo o uso assertivo da ferramenta. Além disso, muitos profissionais são especialistas e apegados a uma única stack de ferramentas, o que dificulta a integração da IA em suas rotinas. Outro risco é a dependência excessiva da IA, que pode enfraquecer habilidades críticas de resolução de problemas, resultando em códigos superficiais e aumento do retrabalho. Além disso, a segurança dos dados e a privacidade dos projetos são desafios cruciais ao utilizar ferramentas de IA.
Ainda dentro desse contexto vale a pena sinalizar que com o uso da StackSpot AI tenho experimentado as diversas possibilidades que uma ferramenta de IA pode proporcionar. Tenho experimentado uma ferramenta que tem me estimulado a ser cada vez mais assertiva e completa na criação dos meus prompts para que, como profissional da qualidade eu possa ter cada vez mais confiança naquilo que estou desenvolvendo com a IA. Outro ponto em que a StackSpot me ganha é na questão de segurança. A ferramenta possui algumas LLMs que cuidam da parte de segurança de dados e da LGPD, o que faz com que eu me sinta cada vez mais segura em utilizá-la dentro do contexto dos meus projetos.
Em resumo, o presente e o futuro da qualidade e do desenvolvimento de software estão relacionados à IA. É essencial aproveitar ao máximo as vantagens oferecidas pela IA, mantendo a vigilância sobre os desafios que ela impõe. A necessidade de contínuo desenvolvimento profissional, estudo e aprimoramento é fundamental para atender às exigências deste novo momento na área tecnológica. Como tenho dito em algumas palestras, a Inteligência Artificial não vai substituir profissionais de TI, mas profissionais que sabem tirar o melhor proveito da IA vão substituir aqueles que não sabem. Sendo assim, comece hoje a adotar a IA dentro da realidade dos seus projetos e seja o tipo de profissional que as empresas têm procurado.
Dani Cavalcanti, Engenheira de Desenvolvimento de Software em Testes na Zup Innovation.