Tags:

Por que eu deveria automatizar minha aplicação?

Em post anterior Automação de testes de software é só record and play #SQN comentamos sobre a necessidade de estruturar e planejar muito bem uma suite de testes automáticos ao invés de sair automatizando direto, o famoso record and play.

Naquele momento não abordamos os motivos e a importância da automação para os projetos de software. Então, agora é a hora. Vamos lá!

Por que eu gastaria tempo e dinheiro para automatizar minha aplicação?

1. Regressão 

Às vezes temos a impressão de que a única aplicação de testes automáticos seria para facilitar os testes de regressão. Podemos dizer que ela seria uma delas, talvez a finalidade mais importante se considerarmos custo x benefício.

Não é bem esse tipo de Regressão que estamos falando, acompanhem abaixo
Não é bem esse tipo de Regressão que estamos falando, acompanhem abaixo[3]

Testes de regressão podem ser massantes e um tempo em que poderíamos gastar com testes exploratórios, estressando outros cenários gastamos com testes manuais para garantir que as alterações liberadas na nova versão não quebraram o funcionamento das funcionalidades já existentes.

Para quem não sabe, testes exploratórios são aqueles que fazemos enquanto estamos testando seguindo nossos roteiros de teste, porém eles surgem no momento em que fugimos um pouco deles. Sempre que começamos a testar algo e até mesmo após encontrar algum erro, idéias do que poderia ser validado e outros cenários não previstos inicialmente e que seriam interessantes são pensados no meio do teste. Isso enriquece nosso trabalho e aumenta a margem de qualidade do software. São os testes onde nossa criatividade aflora, muitas vezes executamos eles sem perceber, pois já é da natureza do testador ser curioso e sair “fuçando” em tudo em busca dos erros no software, leia mais sobre esse assunto na postagem Quais as qualidades de um bom analista de teste? , mas vamos voltar para o foco inicial.

Quem nunca sentiu-se um "Inspetor bugiganga" durante os testes?
E quem nunca sentiu-se um “Inspetor Bugiganga” durante os testes?[4]

Um exemplo simples que posso citar para aplicação dos testes automáticos na regressão seria em um projeto de atualização tecnológica da linguagem de programação de sistemas legados utilizando um migrador/conversor automático o qual estou participando. Nós criamos uma suite de testes automáticos inicialmente com as telas que já funcionavam na nova tecnologia, selecionando tipos de telas diferentes e esses testes são executados em uma integração contínua onde sempre que novos commits são realizados os testes são programados para serem executados, se houver uma mudança de comportamento para alguma tela ela poderá ser facilmente identificada pelo relatório de execução de teste que a ferramenta fornece. Na MATERA Systems para testes automáticos utilizamos a ferramenta QF-Test e para rodar a integração contínua utilizamos o TeamCity.

Agora imagina você a cada nova alteração retestar todas as telas em um teste de regressão, até o final do projeto quantas vezes isso seria necessário e quanto tempo levaríamos para executá-los? Se consideramos o tamanho do sistema e nível de complexidade é praticamente inviável isso. E viva os testes automáticos!

2. Perfomance 

Uma ferramenta de automação não é apropriada para medição da performance, é evidente que para essa medição será necessário aplicação de outra ferramenta, porém pode ajudar e muito na preparação do ambiente de teste no que diz respeito ao volume de dados.

E quem nunca "patinou" para criar um volume de dados na mão?
E quem nunca “patinou” para criar uma massa de dados com alto volume na mão?

Por exemplo, precisamos validar a performance de uma funcionalidade que cadastra pedidos de venda. Manualmente cadastrar um a um perderá muito tempo preparando essa massa de dados. Com a ferramenta de testes automáticos é possível gravar essa criação uma vez, em uma estrutura de loop para ser executado N vezes conforme sua necessidade. Dessa forma, agilizando na criação da sua massa de dados para esse tipo de teste, perdendo tempo com de fato o que é necessário, que nesse caso, é o desempenho do sistema com volume maior.

3. Dia a Dia

Ficou espantado com esse tópico?

Mas sim, podemos utilizá-los para facilitar nossa vida nos testes diários. Assim como no teste de performance ele pode ser utilizado para ajudar nos testes manuais facilitando na criação da massa de dados para o teste.

Enfim, são diversas as aplicações dos testes automáticos, cada qual com sua importância para os testes de software.

Quando falo de testes automáticos sempre gosto de ressaltar que um teste não isenta outro. Sendo mais clara, isso significa que eu ter uma suite de testes automáticos não quer dizer que anularia os testes manuais, mesmo porque neles como comentamos acima fazemos testes exploratórios que na automação não conseguimos aplicar essa prática.

Diria que um teste complementa o outro. Cada um com sua função e importância dentro de cada teste que realizamos.

Achou que eu poderia ter explorado mais algum tópico dentro desse assunto? Vamos debater e trocar informações  a respeito disso.

Desejo ótimos testes, manuais e automáticos para todos! 🙂

 Links

[1] http://www.matera.com/br/2015/07/10/automacao-de-testes-de-software-e-so-record-and-play-sqn/

[2] http://www.matera.com/br/2011/04/14/matera-utiliza-testes-de-regressao-automatizados/

[3] http://www.matera.com/br/2011/11/29/teamcity-conheca-a-ferramenta-e-seus-principais-beneficios/

[4] http://www.qfs.de/en/qftest/

[5] http://www.matera.com/br/2015/04/29/quais-as-qualidades-de-um-bom-analista-de-teste/

Referências

[1] http://www.qualister.com.br/blog/testes-exploratorios-parte-1-introducao

[2] https://pt.wikipedia.org/wiki/Teste_de_regress%C3%A3o

[3] http://www.portaleducacao.com.br/psicologia/artigos/19594/regressao-psicanalise

[4] http://minilua.com/desenhos-que-marcaram-epoca-inspetor-bugiganga/

[5] http://lostininternet.com/tall-stacks-tiny-cart-a-look-into-shanghais-expansion/

Por ARIANE FERREIRA IZAC

Analista apaixonada por testes, dançarina, corredora e colecionadora de viagens! Filha de peixe (jornalista) peixinho (blogueira) é. Meu grupo no LinkedIn só poderia ser "Diário de uma paixão: Teste de Software"

Postado em: 18 de setembro de 2015

Confira outros artigos do nosso blog

REST não é JSON

21 de agosto de 2017

Bruno Sofiato

[Webinar] Profile de aplicações Java com Oracle Mission Control e Flight Recorder

24 de julho de 2017

Danival Calegari

Criando Mocks de serviços REST com SoapUI

27 de junho de 2017

Monise Costa

JavaScript 6: diferença entre var, let e const

09 de maio de 2017

Otávio Felipe do Prado

Deixe seu comentário