A longa onda de inteligência artificial atinge a automação de testes também
Na era DevOps, a discussão sobre a integração entre o mundo de Dev (Eloper) e OP (ERATION) é frequentemente animada. A ênfase está quase sempre na automação de compilações, testes de unidade, liberações. Mas, em um contexto em que os ciclos de desenvolvimento se tornam mais curtos, onde os lançamentos são liberados diretamente na produção, os testes manuais correm o risco de se tornar um gargalo.

Por outro lado, a automação dos testes, que prescreve o desenvolvimento e a liberação de scripts, deve ser por razão incluída no ciclo. Mas como não se trata de novas funcionalidades, é considerado como certo, muitas vezes acabando fora dos planos. O resultado é que ele se torna cada vez mais difícil manter os scripts de automação alinhados com as liberações de aplicativos, e um teste inalignado é um teste inutilizável. Além disso, não devemos esquecer que todas as fases do SDLC (ciclo de vida do desenvolvimento de software) devem ser testadas, portanto, segue -se que sempre que falamos sobre desenvolvimento contínuo e integração contínua, devemos introduzir o conceito de teste contínuo.

A mensagem aqui é que no fundamento do conceito de teste automação reside um problema: para criar
Mas se o DevOps tem a missão de integrar todo o ciclo de desenvolvimento, como é possível que os testes tenham se tornado outra fase de desenvolvimento? O motivo está no fato de que as estruturas e ferramentas usadas (antes de tudo Selênio ), não tenha nenhum tipo de inteligência dentro deles. Daqui resulta que, embora sejam muito eficazes na automação, eles são bons apenas para um desenvolvedor.
A “terceira onda”: isto é, inteligência artificial e testes contínuos
Hoje, a maioria das GUI (interfaces gráficas de usuário) é desenvolvida com JavaScript e Node.js, e os testes automatizados são implementados principalmente com estruturas como Selênio e Appium. O problema com essas abordagens é que eles exigem uma grande quantidade de scripts, geralmente são difíceis de manter e é difícil mantê -los atualizados com as liberações contínuas e as mudanças que os acompanham.
A introdução do aprendizado de máquina em testes automatizados introduz alguns pontos cruciais:
- Geração automática de teste: O princípio básico não é diferente de “gravar” com o selênio, com a diferença de que, neste caso, a ferramenta gera executável Etapas de teste funcionais. Algumas ferramentas como Functionize Também possibilite gerar testes que podem ser executados em livros de teste escritos em linguagem natural, usando a tecnologia de PNL.
- Auto-cicatrização: Um dos conceitos mais inovadores dessas tecnologias é a capacidade de adaptar autonomamente os testes às mudanças na interface. Nos casos mais difíceis (por exemplo: alterar a posição e o rótulo de um botão) permitem que o usuário altere o comportamento interativamente, às vezes até com um clique simples
- Sem script: O teste é gerado de maneira transparente, sem a necessidade de desenvolver nenhum código.
- Navegador transversal e dispositivo cruzado: As ferramentas de última geração nos permitem criar testes em execução em diferentes plataformas, que agora são um requisito obrigatório.
- Manutenção zero ou mínima: Graças à geração automática e à auto-recuperação, torna-se possível criar testes que acompanhem os desenvolvimentos e liberações sem derramamento de sangue.
Os principais jogadores
Functionize
Functionize Apresenta -se como a “primeira plataforma de teste completamente autônoma”. A característica mais interessante é a criação autônoma de testes a partir de uma lista de testes escrita em linguagem natural, através de NLP. Os testes são criados com muitas capturas de tela clicáveis, a plataforma “adapta” para o aplicativo através Aprendizado de máquina algoritmos e se torna mais robusto para as mudanças de layout à medida que o número de execuções aumenta. Você pode ver uma apresentação dos recursos mais interessantes Aqui abaixo.
https://vimeo.com/284729631
AppLitools
O principal recurso que eles afirmam é “Teste de Validação Visual”, que é a capacidade de validar layouts inteiros, emulando processos visuais humanos, sem a necessidade de calibração ou configuração. O sistema usa algoritmos ADA adaptativos que poderiam identificar possíveis bugs da GUI dentro de certos níveis de confiança, sem chamar explicitamente os elementos do código.

Outra afirmação interessante é ser capaz de integrar a plataforma com quaisquer testes existentes, graças a uma compatibilidade particularmente ampla de suportado plataformas e estruturas.
Tricentis Tosca
“Test Automation @ DevOps Speed” é o lema de Tricentis, no qual Tosca se destaca por sua automação de testes e Enchente para teste de desempenho.

Outros
Recursos
Como usar a automação de teste de IA (Qainfotech)
Reinvente o teste para galvanizar a transformação digital (Devops.com)
Marlabs e Functionize Partners para transformar o teste de software (Marlabs)
Inteligência Artificial – New Buzz in Automation Testing (Xorant)
Aproveitando a IA em garantia de qualidade (Infosys)
McKinsey: AI, Jobs e Automação da Força de Trabalho (ZDNet)
10 principais ferramentas de teste de automação em 2018 (Guru99)
Andrea trabalha nele há quase 20 anos, cobrindo sobre tudo, do desenvolvimento à análise de negócios, ao gerenciamento de projetos.
Hoje podemos dizer que ele é um gnomo despreocupado, apaixonado por neurociências, inteligência artificial e fotografia