Qualidade de software & Inteligência Artificial

Eloisa Potrich
Qualidade de Software
5 min readMay 28, 2021

Qualidade de software, ou melhor, Analista de qualidade de software(QA) é uma pessoa dedicada integralmente na entrega de uma software com a maior qualidade possível. Essa pessoa realiza diversos testes em um sistema, seja ela web, mobile ou desktop, e caso encontre algo de estranho e errado, reporta ao time para que o desenvolvedor possa arrumar.

Já a Inteligência Artificial(IA) é uma simulação da mente humana, indo além da programação de ordens específicas para tomar decisões de forma autônoma, baseadas em padrões de enormes bancos de dados.

Dentro a IA temos diversas ramificações como Machine Learning e Deep Learning, mas aqui neste artigo não entrarei em detalhes do que cada um é, somente como podemos nos beneficiar deles dentro da qualidade de uma software.

Por que devemos começar a pensar em nos unir com IA?

Sabemos que é uma realidade para todos que a IA como um todo está vindo cada vez mais forte para o empreendedorismo e com isso temos que nos adequar a ela, senão ficamos para trás.

No Brasil, não é um tema muito comentado, mas lá fora se ouve alguns murmirinhos. Até mesmo para encontrar material para ler e estudar sobre foi difícil de achar. Bom que trago este artigo para você :)

A ideia de nós, tester/analista de qualidade é não olhar a IA como uma destruidora do nosso cargo mais sim como uma amiga, companheira do nosso dia a dia que pode ajudar a ver coisas que as vezes passa despercebido no momento do teste.

Já parou para pensar na ideia de um mundo onde o software pode testar, diagnosticar e curar a si mesmo e a gente só assistindo isso acontecer e treiná-lo cada dia mais?

Pois bem, com a IA é possível isso acontecer!

Mesmo que muitas empresa/projetos estão migrando para o teste automatizado, ainda sim, existe uma grande quantidade de testes manuais. Mesmo tendo somente teste automatizado em seu sistema/software são criados de maneira manual esses scripts concentra-se em apenas um ou em um pequeno número de aplicativos. Além disso, à medida que recursos são adicionados ao software, a complexidade do aplicativo aumenta a uma taxa exponencial.

No entanto, as abordagens de teste clássicas adicionam casos de teste linearmente, tornando extremamente difícil, senão impossível, obter uma cobertura adequada.

Ai vem nossa amiga IA para nós ajudar. Quanto mais você a treina, mais abrangente é seu teste e seu software fica cada vez mais seguro e de qualidade para os usuários.

Benefícios que IA pode trazer para QA

  • Mais precisa ao encontrar falhas no sistema;
  • Pode utilizar ela para automatizar todo o sistema, tanto back quanto front;
  • Realizar todos os tipos de testes, como: usabilidade, responsividade, carga, integrado, API, entre outros;

Quem já usou IA para realizar testes em um software?

Em minhas pesquisas na web para trazer este tema para você, encontrei um artigo bem bacana da InfoQ falando sobre a experiência de utilizar IA para os testes do aplicativo mobile game Candy Crush Saga.

Nesse artigo, eles comentam que criaram um bot de controle de qualidade para esse tipo de teste, onde ajudava os testadores a realizar tarefas de teste chatas, difíceis e tediosas.

E isso achei bem bacana pois com isso, aumenta a produtividade do tester/analista dentro do time, com mais entregas de qualidade.

Aqui está o artigo para você ler com mais detalhes como foi todo esse processo:

Exemplos de testes dentro da IA:

Aqui separei alguns exemplo pelo que já vi em algumas pesquisas. E é claro que pode vim a ter mais exemplos abrangendo cada um.

Machine Learning:

Aqui você poderá utilizar para automatizar testes de tomada de decisão, como por exemplo, streaming de vídeo, games, entre outros.

Deep Learning:

Aqui você pode utiliza para automatizar testes de processos, como por exemplo, game, processos de pagamento, entre outros.

Computer vision:

Aqui você pode utilizar para automatizar testes de objetos reais e pessoas, como por exemplo, verificar quem está na rua e comprar a informação com o banco de dados, localização de objetos através de câmeras de vigilância, entre outros.

Desvantagem de usar IA para testes

Acabei deixando mais para o final para falar sobre as desvantagens pois talvez você não fique muito feliz com o que irei falar.

Como havia dito acima, a IA pode fazer tudo que um tester/analista de qualidade faz e isso pode vim prejudicar no futuro esse cargo.

Já havia visto em outras redes sociais uma frase que cabe muito bem aqui ao nosso contexto, que é “Se você não corre atrás do conhecimento, ficará para trás”. E é isso que acontecerá caso não formos atrás de conhecimento perante a IA.

Como o tester/analista de qualidade de software pode se adaptar a essa nova realidade?

Aqui vai uma lista de coisas que o tester/analista de qualidade precisa se preparar:

  • Precisa saber como criar testes;
  • Estudar sobre IA;
  • Estudar conceitos de psicologia e comportamento;
  • Estudar algoritmos;

Pratique sempre!

Bom é você pegar um aplicativo móvel ou um site web e utilizar ele como seu guia para fazer os cenários de teste, depois separar cada um deles em camadas e para cada camada, implementar sua IA. Por fim, só ver a magia acontecendo.

Ferramentas/Linguagens para se estudar

Separei algumas ferramentas/linguagens que considero de extrema importância para iniciar os estudos.

  • Python;
  • OpenCV;
  • Estrutura de dados;
  • OCR;
  • Banco de dados;
  • Programação web (HTML, CSS e JS);
  • Entre outras.

Separei este curso para te ajudar a implementar IA no seu código:

Dinâmica

Primeira vez que faço isso aqui, em um post voltado a qualidade de software e inteligência artificial, então, “simbora”.

Quero colocar você para pensar!
Olhando para o sistema/software que você está trabalhando atualmente ou que já trabalho, independendo se ele é web, desktop ou mobile, visualize ele em sua mente e pense no que poderia fazer para se beneficiar dele com IA. Após isso, escreva em cada coluna qual seria a sugestão ou até mesmo solução.

Por fim, compartilhe somente a ideia que teve com cada uma das colunas com o(s) seu(s) líder(es) para ver a opinião deles.

Depois de tudo isso, compartilhe comigo no linkedIn qual foi a(s) ideia(s), o(s) feedback(s) que teve com o(s) seu(s) líder(es) para que mais pessoas se encorajam a fazer o mesmo.

Pode parecer estranho isso, mas na verdade é um simples preparo de um futuro próximo.

Boa sorte!

Leituras extras

Resumindo:

Comece a pesquisar e a estudar mais sobre IA e a pratique para que em um futuro próximo possamos implementar em nosso dia a dia.

Gostou do tema?

Compartilhe!

--

--

Eloisa Potrich
Qualidade de Software

Engenheira de Software, entusiasta de direito, cybersecurity, psicologia e forense.