1

QA: Teste manual vs. teste automatizado

#Java
Gustavo Pereira
Gustavo Pereira

Introdução


Os testes de software têm tido uma crescente demanda no desenvolvimento de software e uma das principais decisões que os profissionais de TI tem que tomar é quando testar manualmente ou usar o teste automatizado. 


No teste manual (como o nome sugere), os testes são executados apenas manualmente, ou seja, por humanos. Nenhum suporte de ferramentas ou scripts é usado. É por isso que o conhecimento de scripts não é necessário, mas o processo é demorado.


Já nos testes automatizados, os casos de teste são executados com o auxílio de softwares e scripts. O objetivo é concluir a execução dos testes em menos tempo através de tarefas repetitivas e com testes de regressão sem a intervenção do testador manual. Mas mesmo neste caso, esforços manuais são necessários para que os scripts de testes sejam criados.


Em ambos os métodos - manual e automatizado, são realizados tipos de testes específicos como: teste unitário, teste de integração, teste de sistema, teste de aceitação, teste de desempenho e teste de carga. No entanto, alguns desses tipos de teste são melhor executados na abordagem manual e alguns por automação.


Com o teste manual, por exemplo, podemos obter um feedback mais preciso com base na experiência humana, e também não precisar de conhecimento de codificação. Os testes automatizados, por outro lado, ajudam a encontrar mais falhas por um processo rápido e eficiente, e que pode ser registrado.


Neste artigo vamos ver alguns casos em que as equipes de QA devem usar testes manuais em vez de testes automatizados.


Quando a flexibilidade é necessária


Embora o teste manual nem sempre seja tão preciso quanto o automatizado, os processos manuais permitem que os testadores tenham mais flexibilidade em suas operações. Como o teste automatizado é inerentemente útil para casos repetidos, isso geralmente significa que o mesmo código e scripts sempre serão aproveitados. 


Se os testadores têm uma ideia na qual querem trabalhar imediatamente, no entanto, fazê-lo com automatização requer estabelecer casos de testes, programá-los com a ferramenta de automação e depois executar o teste, o que leva muito tempo. 


Nesse caso, seria mais fácil - e mais rápido - executar por meio de operações manuais e ver os resultados. Nesse sentido, os testes automáticos demoram mais para serem configurados, o que não permite testar ideias de forma rápida e fácil.


Quando projetos de curto prazo estão ativos


A automação requer muito investimento e planejamento, os quais podem ser inconvenientes em projetos de curto prazo. Em uma entrevista com a TechTarget, John Overbaugh, líder SDET sênior da Microsoft, afirmou que o teste automatizado não faz sentido nestes casos por causa dos custos. 


O preço inicial para automatizar um projeto como esse pode ser muito alto para o retorno sobre o investimento e o valor oferecido pelo produto acabado. Neste caso, o teste manual seria mais barato e mais benéfico para os resultados financeiros.


"O teste automatizado não faz sentido em projetos de curto prazo onde a despesa de configuração da automação excede o valor", disse Overbaugh.


Quando a usabilidade está sendo testada


O sucesso ou o fracasso de um aplicativo depende muito de sua usabilidade. No entanto, isso vai muito além da simples execução de testes automatizados para garantir que não existam defeitos. 


Os computadores não têm pensamento original - eles executam ações que são programadas e não podem fornecer o tipo de feedback que um usuário humano daria ao usar um aplicativo. Por exemplo, os testes automatizados podem localizar facilmente erros no código, mas não podem dizer como os usuários interagiriam com um determinado recurso ou quão bem as pessoas serão capazes de navegar no programa.


Se os usuários descobrirem que uma ferramenta no software não funciona da maneira que eles precisam, isso pode ser um fator crítico para determinar se outras pessoas estão adotando ou não o aplicativo. Este é o tipo de informação que o teste manual geraria


O consultor de desenvolvimento de software Kevlin Henney observou que os testes exploratórios e de usabilidade precisarão de percepções humanas, pois as máquinas "são ótimas na repetição perfeita, mas menos eficazes na exploração e seguindo palpites". Isso pode ajudar a detectar e mitigar rapidamente os defeitos que surgem quando os usuários se envolvem com o aplicativo de certas maneiras.


Conclusão


Os testes automatizados tem inúmeras vantagens para os processos de teste, mas o teste manual pode ser mais benéfico em certos casos. Ao compreender qual método é o melhor para a situação, as equipes de QA podem agilizar as operações, aumentar a produtividade e melhorar a qualidade geral de todo processo de desenvolvimento de software.



🤔 DESAFIO: Como implementar testes automatizados nesses casos que foram citados?



Espero que este artigo tenha sido útil! Gostou? Aperta "^" ali em cima do lado esquerdo 😊


Outras fontes:


https://www.scnsoft.com/software-testing/manual-vs-automated-testing

https://www.perfecto.io/blog/automated-testing-vs-manual-testing-vs-continuous-testing


Gustavo Pereira

https://github.com/gustavofpereira

https://www.linkedin.com/in/gustavo-pereira-915b4a/


Outros artigos:

0
15

Comentários (0)

Estudando Coding na Uninassau

Brasil