Automação de testes – 7 passos para o sucesso!

Hoje vou apresentar para você leitor um pouco sobre a minha vivência em automação de testes, mais especificamente os primeiros passos para automação de testes funcionais.

Posso dizer que automatizar os testes funcionais nos dias de hoje é essencial para o sucesso e a qualidade de um produto de software, mas para implantar a automação de testes funcionais em uma organização é necessário um estudo e um planejamento para que o mesmo ocorra com sucesso.

Nos parágrafos seguintes estarei apresentando os primeiros passos que você deve analisar e estudar antes de mergulhar no mundo da automação de testes.

1° Passo – Apoio da liderança

liderança

O apoio da liderança é o primeiro passo para que a automação de testes ocorra em uma organização, pois sem ela você não terá forças nem recursos para dar inicio a um projeto de automação de testes. A implantação de testes automatizados requer o investimento de recursos financeiros e humanos, sendo estes obtidos apenas com o consenso da liderança.

A grande dúvida neste passo é: como conseguir a confiança e o apoio da liderança? Para isso você precisa ter um embasamento teórico sobre automação muito forte para conseguir demonstrar com números e estatísticas que a automação trará benefícios suficientemente grandes para tal investimento.

– Onde devo procurar esse conhecimento para convencer meus líderes?

As empresas que vendem ferramentas de automação de testes tem muito material que pode ser estudado e apresentando como benefícios da automação de testes funcionais aos seus líderes. Um exemplo é a Smartbear que, como ajuda aos profissionais da área de teste que querem implantar automação de testes na organização onde trabalham, disponibilizam um material contendo uma lista de benefícios que a implantação de uma ferramenta de automação pode trazer.

Posso listar alguns desses benefícios:

  • Acelerar os testes de um roteiro em vários navegadores
  • Retorno rápido de resultados de falhas no sistema, agilizando o processo de correção
  • Encontrar bugs mais cedo e aumentar a cobertura de testes
  • Executar testes mais rápido que um ser humano
  • Reutilização de testes

Existem muitos outros benefícios que a implantação da automação de testes pode nos trazer, mas isso posso aprofundar em um artigo exclusivo para isso.

2° Passo – Planejamento de escopo e prazo

– Daniel, agora que eu tenho apoio da liderança eu posso sair automatizando tudo?

A resposta é: não. Este é um projeto como qualquer outro e por isso precisa ser planejamento e estimado como tal.

Se você tentar abraçar o mundo tentando automatizar tudo as suas chances de sucesso vão diminuir consideravelmente, pois você não terá como estimar entregar rápidas para demonstrar para a liderança que a automação está gerando resultado. Isso pode levar tanto a sua frustração como automatizador como o descrédito da liderança perante ao projeto por não conseguir ver resultados no horizonte do projeto.

Como todo projeto, a automação também precisa ter um escopo definido para que haja previsões de entrega dos testes automatizados. Você, juntamente com a liderança, deve analisar qual é o produto ou funcionalidade do produto de sua organização que é mais crítico em questão de negócio e que normalmente tem a maior quantidade de problemas encontrados nos testes manuais para eleger este como escopo inicial da automação de testes.

Essa definição ajuda a mensurar os recursos financeiros e humanos que serão necessários para a automação ter o ritmo adequado e apresentar os resultados esperados em um período aceitável. Como também os recursos necessários para ampliar ou acelerar o processo de automação de testes.

3° Passo – Escolha da ferramenta

ferramenta

O próximo passo para a implantação da automação de testes em sua organização é a escolha da ferramenta que será utilizada. Nesta etapa você já tem o apoio da liderança e agora tem como objetivo escolher a ferramenta ideal para a sua organização.

– Como eu sei qual é a ferramenta ideal para a minha organização?

Existem inúmeras ferramentas de automação de testes no mercado, desde as mais caras até as gratuitas. Não é porque uma ferramenta é a mais cara do mercado que ela vai ser a melhor escolha para você.

Neste ponto você deve analisar os produtos de software e as tecnologias que envolvem o produto que a sua organização trabalha e fazer provas de conceito com as ferramentas quem mais se aproximam destas tecnologias.

As empresas com ferramenta comercial disponibilizam versões trial para que essa prova de conceito possa ser feita, não podemos esquecer das ferramentas gratuitas que podem muito bem atender a sua necessidade sem um grande investimento financeiro inicial.

Posso citar algumas das ferramentas mais conhecidas no mercado hoje

Ferramenta

Custo por licença

Selenium

Gratuita

Watir

Gratuita

TestComplete

$4499

QTP HP

$9000 (fonte: Comunidade de testes)

Rational Funcional Tester

$6430

Visual Studio Test Professional

$3292

Como você pode analisar, existem ferramentas de automação de testes para todos os gostos, o seu trabalho será analisar qual delas é o melhor custo benefício para o negócio de sua organização.

4° Passo – Definição da linguagem de script

javascript

Todos os integrantes já conhecem a ferramenta que será utilizada para o projeto de automação, agora é preciso definir qual linguagem de script que a organização irá adotar para a escrita dos testes automatizados.

Essa escolhe deve ser muito bem estudada, pois é uma escolha sem volta. A partir do momento que a equipe de automação de testes começa a escrever os scripts, não há outra maneira de mudar de linguagem a não ser excluir tudo e começar do zero.

Normalmente a linguagem de script é escolhida com base na tecnologia que a empresa trabalha, a qual tem mais profissionais que a dominam. Uma empresa que desenvolve softwares em .Net tende escolher c# script, devido a familiaridade que todos já tem com a linguagem como uma empresa que desenvolve em delphi tende a escolher delphi script.

Caso a equipe de automação não esteja preparada para trabalhar com uma linguagem de script ela deverá ser treinada como também foi treinada para o uso da ferramenta.

5° Passo – Treinamentos

destTreinamentos

Mesmo com todo o apoio da liderança e com a ferramenta ideal para a sua organização, você não conseguirá automatizar tudo sozinho. Para o projeto de automação conseguir progredir será necessário ter uma equipe trabalhando para automatizar esses testes.

Essa equipe que estará focada no projeto de automação de testes terá que conhecer a ferramenta, até porque existe um velho ditado na área de automação de testes que diz “um tolo com uma ferramenta continua sendo um tolo”.
Então para você e sua equipe deixarem de serem meros tolos, terão que contratar treinamentos da ferramenta comprada, no caso de uma ferramenta comercial.

No caso de uma ferramenta gratuita, um líder técnico do projeto de automação pode se encarregar de estudar a ferramenta através dos documentos disponibilizados para ela e através de discussões em fóruns e blogs da comunidade de automação de testes. Assim existirá uma referência na equipe para repassar o conhecimento aos demais integrantes.

6° Passo – Inclusão da automação no processo de desenvolvimento

Você está prestes a iniciar a automação de testes na sua organização, mas agora não sabe por onde ou quando começar as suas atividades.

Para que a automação de testes se torne organizada e de um retorno, é necessário incluir a automação no processo de desenvolvimento da organização, fazendo com que a automação comece a fazer parte do dia a dia dos projetos de desenvolvimento.

Nesta etapa é normal incluir o SQA da organização para que o processo e as atividades da automação sejam analisadas para que o processo não fique sobre carregado, mas que seja o suficiente para que as atividades de automação e sua gestão sejam feitas.

7° Passo – Definição da estrutura dos scripts

arquitetura

Não confunda definição da estrutura dos scripts com definição da linguagem de script. Neste passo a linguagem de script já deve ter sido escolhida.

O objetivo deste passo é definir a estrutura funcional dos scripts de teste. Para isso você deve se fazer algumas pergunta:

Como vou separar os scripts de forma que cada script tenha o seu papel claramente definido?
Como vou organizar os scripts para facilitar a reutilização de rotinas?
Como a estrutura pode separar os scripts que contem os testes de regras de negócio e os scripts que possuem o mapeamento do sistema?

Essas são perguntas básicas que devem ser feitas no momento em que a estrutura dos scripts de testes estão sendo definidos. A escolha da estrutura será crucial para o sucesso da automação de testes na organização.

Uma estrutura de scripts mal pensada pode gerar numa pouca reutilização de scripts, fazendo com que o esforço na criação de scripts não diminua com o tempo, gerando uma carga de trabalho continua durante um longo período.

Conclusão

Você pode observar que a automação de testes não é algo trivial que pode ser feito da noite para o dia. É necessário muito estudo e um bom planejamento para que a automação de testes tenha sucesso em uma organização.

Este artigo serve para dar um norte a quem pretende começar na área de automação de testes ou quer implantar automação de testes em uma organização. Cada passo apresentado pode ser mais aprofundado em questão de contexto, porém deixarei para um artigo futuro.

Os passos a cima não são garantia de sucesso, mas aumentarão e muito as chances de você conseguir implantar automação de testes em sua empresa, mas a ausência de algum desses passos com certeza lhe trará muita dor de cabeça no futuro.

Referências

http://smartbear.com/CMSPages/GetFile.aspx?guid=07531430-501d-40b8-bcf8-6e69ae16d6b8

http://www.toolsjournal.com/articles/item/195-10-best-tools-for-test-automation

http://watir.com/

http://docs.seleniumhq.org/

http://www.microsoft.com/visualstudio/en-gb/products/2010-editions/test-professional

http://www-142.ibm.com/software/products/us/en/functional

4 comentários sobre “Automação de testes – 7 passos para o sucesso!

Deixe um comentário