Algoritmos substituirão os testes manuais de softwares?

A tecnologia se desenvolveu e evoluiu muito, novas linguagens e necessidades mais recentes levaram a um avanço muito grande no desenvolvimento dos algoritmos, hoje muito bem elaborados com conexões múltiplas e a aprendizagem de máquina. Já não vivemos sem a IA, Inteligência Artificial.

Embora vertentes afirmem que o teste de software manual será substituídos por testes de software automatizados, as execuções manuais continuarão sendo importantes por muitos anos e terão um papel complementar à automação de testes.

De acordo com ANSI / IEEE 1059, o teste de software pode ser definido como: “Um processo de analisar um item de software para detectar as diferenças entre as condições existentes e necessários (defeitos/erros/bugs) e avaliar as características do item de software”.

Por que testar é necessário?

  • Para assegurar que as necessidades dos usuários sejam atendidas;
  • Porque é muito provável que o software possua defeitos;
  • Porque falhas podem custar caro;
  • Para avaliar a qualidade do software.

.

Continua após a publicidade:

Algumas razões principais na importância dos testes manuais:

1) Usabilidade, em sua essência, é altamente complexa para ser automatizada: Quando falamos de usabilidade, estamos considerando principalmente as percepções humanas. Existem critérios que podem até ser automatizados, mas a experiência em si é extremamente complicada para um sistema computacional, mesmo sendo ela uma Inteligência Artificial. O Paradoxo de Moravec já deixa isso claro: computações complexas para seres humanos, são fáceis de serem processadas via computador, porém, as habilidades envolvendo percepções estão diretamente relacionadas à nossa evolução biológica, o que torna praticamente impossível criar um modelo computacional que consiga verificar plenamente a usabilidade de uma interface;

2) Testes automatizados podem ter erros: Antes de tudo, não podemos nos esquecer que testes automatizados são códigos de computador criados por um ser humano, dessa forma, os mesmos estão sujeitos a falhas assim como as próprias aplicações alvos dos testes. Uma falha em um teste automatizado pode gerar resultados extremamente desastrosos. Falsos Positivos geram um trabalho extra e, consequentemente, custos adicionais para descoberta de que o sistema está funcionando, enquanto Falsos Negativos geram confiança na liberação de versões verdadeiramente ruins. Outro ponto é que, antes de se automatizar, é preciso de qualquer forma executar o teste manualmente pelo menos uma vez de forma a ter certeza do que o script de testes deverá efetivamente realizar;

3) Limitações de dispositivos: Já pensou em como escrever um teste automatizado para diferentes resoluções e tamanhos de dispositivos? Além disso, como automatizar a experiência do clique e deslize de um dispositivo móvel? Embora a construção dos testes apresente grande potencial de reúso, o custo de acesso e distribuição de scripts em dezenas ou até centenas de equipamentos diferentes é, geralmente, proibitivo em ambientes de desenvolvimento tradicionais. Nesse contexto, o teste manual envolvendo o crowdsourcing de testes apresenta-se altamente estratégico;

4) Custos de produção de teste de software automatizado: O próprio projeto de construção dos testes automatizados já apresenta um considerável custo, pois envolve implementação, uso de frameworks, ambientes específicos para funcionamento etc. No entanto, tem mais um importante ponto a se considerar: Não basta construir o script e deixá-lo lá, os testes automatizados passam por constante manutenção, assim como a sua aplicação. 

Continua após a publicidade:

A Crowdtest

A Crowdtest dispõe de um software para o gerenciamento de testes em sistemas web, móvel e desktop, com o qual é possível utilizar a experiência de testadores freelancers e com conhecimento sobre a temática do sistema, para analisar bugs e outras ocorrências que atrapalham o uso da aplicação.

Oferece soluções para teste de softwares antes do lançamento no mercado, contrata testadores independentes que avaliam os aplicativos no estilo crowdsourcing.

Conheça a CROWDTEST e saiba como ser uma testador de software


Deixe sua opinião nos comentários. O que pensa?

Artigos Relacionados:

Author: mquality.adm

Comente...