testes-manuais-automatizados-quem-leva-a-melhor-2

Muito se tem comentado sobre a necessidade casa vez maior da automação de testes para aumentar a produtividade, ganhar velocidade e gerar confiança na avaliação da qualidade de sistemas.

Existem diferentes posicionamentos sobre esse assunto. Alguns sugerem que o ideal é focar em testes automatizados desde o início do projeto de teste enquanto outros pregam que testes manuais devem compor a maior parte das atividades.

Antes de qualquer coisa é preciso saber que teste de software, seja ele manual ou automatizado é essencial e deve compor o planejamento do projeto, passando por todas suas etapas até a finalização e entrega do software totalmente funcional. Esta prática tem por intuito a descoberta de defeitos já nas fases iniciais do ciclo de desenvolvimento.

Vamos conhecer a seguir algumas características das duas abordagens.

Testes manuais

Dentre os objetivos do teste de software estão verificar se as funcionalidades de um produto atendem especificações e requisitos, além de prevenir falhas para que este atinja o nível de Qualidade esperado e faça realmente o que se propõe a fazer.

Neste contexto, uma das formas de alcançar estes objetivos é realizar as tarefa e procedimentos de teste de forma manual. Testes manuais são imprescindíveis para os projetos, pois visam principalmente cobrir os critérios de aceitação exigidos pelos usuários, clientes e demais partes interessadas.

Apesar de parecer relativamente fácil, testes manuais devem ser realizados com objetivos previamente definidos, planejamento e técnicas adequadas.

É importante para o sucesso desta atividade que os envolvidos tenham uma atitude colaborativa e se possível que seja realizada por profissionais especializados, como por exemplo, testadores de software.

Testes automatizados

Automatizar testes é basicamente executar através do computador atividades que geralmente são realizadas de forma manual por pessoas utilizando-se ferramentas específicas para este fim. Isso é feito normalmente através da criação e execução dos chamados (scripts) de teste.

É fato que testes automatizados trazem segurança e agilidade. Isso porque eles permitem a execução e principalmente a repetição de procedimentos de teste em menos tempo, comparando-se aos manuais. Desta forma, eles otimizam o tempo, aumentam a velocidade e consequentemente a confiabilidade na avaliação das aplicações.

Entretanto, nem tudo são flores, pois um dos principais desafios da automação de testes é a manutenção e atualização dos scripts de teste. Scripts de testes desatualizados e/ou incorretos por vezes também falham perdendo a sua eficácia.

Vale lembrar que até mesmo a automação depende da interferência humana. Assim sendo, certamente testes automatizados não excluem a necessidade de testes manuais, inclusive a iniciativa de automação pode ser iniciada à partir de um processo de teste manual, estabelecido e maduro.

Mas afinal, quem leva a melhor?

Devido à complexidade do processo de desenvolvimento, Controlar a Qualidade de Sistemas nem sempre é uma tarefa fácil para as empresas. Para ajudar nesse desafio, tanto testes manuais como automatizados devem ser utilizados.

A seguir, listaremos algumas características de ambas as abordagens para que você possa extrair o melhor de cada uma delas.

Teste de Regressão

Segundo Pressman, uma das autoridades mais reconhecidas na engenharia de software, Teste de Regressão é a re-execução de algum subconjunto de testes que já foram conduzidos para garantir que as modificações realizadas em um produto não propagaram efeitos colaterais indesejáveis. Efeitos colaterais, neste caso, são problemas causados em partes do sistema que estavam funcionando antes que tais modificações fossem feitas.

Este tipo de teste pode ser realizado tanto de forma manual quanto automatizada. Porém, se a quantidade de casos de teste a serem executados for grande, testes automatizados são mais indicados devido aos ganhos de velocidade e fácil repetitividade dos procedimentos.

Interação Humana

Mesmo com todos os benefícios conhecidos dos testes automatizados, esta abordagem nunca irá substituir totalmente a necessidade da intervenção humana na validação de sistemas. Isso porque softwares são utilizados por pessoas e ninguém melhor que os testadores para simular os diversos cenários e situações reais em que os usuários finais irão utilizar as aplicações.

Portanto, a experiência e intuição da equipe de testes são primordiais para realizar revisões e avaliações objetivas com o propósito de assegurar que o planejado está sendo realizado e aplicado aos projetos.

Processo Maduro

Várias empresas acreditam que testes automatizados são a “bala de prata” e irão resolver todos os seus problemas em relação à qualidade. Ledo engano.

Tanto a teoria quanto a prática mostram que para um projeto de automação ter sucesso é imprescindível que, antes de qualquer coisa, um processo de teste minimamente maduro exista e sirva como base para a criação e manutenção do mesmo.

Assim sendo, possuir uma estrutura de testes formal e consistente é primordial para que as iniciativas em relação à automação tenham êxito e gerem os resultados esperados.

Utilização de Ferramentas

Seguindo na linha do item anterior, muitos gestores acreditam que apenas adquirir uma ferramenta de automação é suficiente para resolver os problemas no processo de desenvolvimento.

Cuidado! Embora ferramentas sejam imprescindíveis para a automação, é indispensável realizar análises e estudos prévios antes de adotá-las para verificar qual se adapta melhor e atende as necessidades da empresa.

Ademais, é preciso considerar também os custos de aquisição, infraestrutura necessária para instalação, equipe e capacitação necessárias para utilizá-las.

Automatizar Tudo

Outra visão equivocada é imaginar que se deve automatizar tudo. Devido à complexidade dos sistemas em geral isso é inviável e muito custoso.

Então, uma boa prática é eleger os casos de teste candidatos à automação com base em características pré-definidas, como por exemplo, os que simulam fluxos mais críticos, os que fazem parte das suítes de regressão, tarefas repetitivas, etc.

A automação de testes deve ser vista como um projeto de longo prazo e, deste modo, as ações devem ser bem planejadas principalmente em relação ao que deve ser automatizado.

Métodos Ágeis

A automação de testes é indispensável em metodologias ágeis e estas enfatizam a sua utilização para aumentar a produtividade e diminuir o tempo de testes. Inclusive, em muitos casos a validação dos sistemas inicia-se justamente pelos testes automatizados.

Contudo, mesmo nesse contexto os testes manuais se fazem necessários e devem ser iniciados desde o primeiro dia da Sprint sabendo-se que em metodologias ágeis o papel da equipe de testes passa por uma mudança e necessita estar mais próximo dos analistas de negocio, desenvolvedores e clientes.

Automatizar é Fácil

Muitos profissionais ainda possuem a ideia de que automação é simplesmente gravar as interações do usuário com a aplicação e posteriormente executar o script de teste.

Apesar deste procedimento ser fundamental , automatizar testes vai muito além disso e na maioria das vezes é preciso atuar na codificação dos scripts de teste para trabalhar com testes complexos. Além do mais, por vezes é preciso alterar a aplicação para que ela suporte a execução da automação.

Nós da Testing Company acreditamos que a combinação entre testes manuais e automatizados é uma ótima forma de aumentar a cobertura dos testes e cada uma possui as suas vantagens.

Lembrando que o objetivo principal deve ser sempre aumentar as chances de sucesso e não comprometer a qualidade das aplicações.

Gostou do nosso artigo? Deixe o seu comentário e compartilhe nas redes sociais !!

Escrito por Cristiano Baumgartner