Automação de testes funcionais: Por onde começar?



Talvez os primeiros passos sejam os mais difíceis quando falamos de automação de testes. Quero dizer, eu, particularmente, tive bastante dificuldade em começar. E o que fazer pra começar?

O inicio efetivo é essa ideia ter surgido, os próximos passos são estudar e entender o seu desafio.

O que estamos propondo?


Quando falamos de automação de testes, estamos propondo criar scripts que reproduzem as ações de um ser humano com intuito de testar mais rápido, de forma mais precisa e com total disponibilidade.
Precisa, nesse caso, significa que os testes automatizados não estarão suscetíveis as distrações humanas e sempre vão funcionar da mesma forma. Disponibilidade porque você pode executar os testes sempre que precisar, sem precisar da disponibilidade de uma pessoa do seu time de testes (ou do time inteiro) na hora em que você precisar.

Vamos criar uma aplicação que vai testar as funcionalidades de outra aplicação. Vai acessar, interagir e te dizer se as coisas estão funcionando como deveriam.


O que você testa? 


Identifique o que está sendo testado por seu time de testes. Você tem uma aplicação, você tem pessoas que testam suas funcionalidades, mas você tem isso documentado? Os testes são feitos com base em quê?
Uma execelente especificação para um projeto de testes são seus casos de teste. Se isso ainda não existe, é preciso dar um passo atrás e criar.
Se seu time não escreve casos de teste, mas tem documentação suficientemente atualizada para usar como base para os testes, perfeito! Essa documentação vai ser base também para o projeto de testes automatizados.

Que tecnologia você usa?


Para cada tipo de tecnologia existe uma solução mais aderente. É importante pesquisar e estudar a melhor forma de incorporar testes automatizados à sua aplicação, ao seu ciclo de desenvolvimento, aos seus mecanismos de deploy, whatever.

Provando conceitos


Antes de decidir o que você vai usar para seus testes automatizados, valide as soluções que você encontrou. Verifique como elas se aplicam à sua realidade e tenha mais clareza em relação as vantagens e desvantagens de cada opção que você tiver.

Inicie seu projeto


Faça disso um projeto, de verdade. Fazer isso nas horas vagas não vai funcionar, fazer "quando der" não vai pra frente. É importante planejar o que será feito, como, em quanto tempo e como será incorporado ao seu processo de desenvolvimento. 


Estude


A internet tem muita coisa pra ser estudada, mas se você quiser, no Brasil algumas instituições tem cursos bem legais sobre o tema. Existem cursos presenciais e a distancia. Existem livros "reais" e digitais. Bastante coisa pra aprender, antes, durante e depois do seu projeto.


Be happy! :)


Obviamente, esse post não é algo a ser seguido como "by the book". É apenas uma tentativa de clarear as ideias de quem está chegando nesse tema e não sabe o que fazer primeiro.

Karoline Leite

Software Quality Engineer

3 comentários:

  1. Legal sua iniciativa! =) Estou começando a estudar automatização de software. Tenho que aprender QTP para aplicar no trabalho. Você estará postando no blog conteúdo sobre ferramentas específicas? Abraços!

    ResponderExcluir
    Respostas
    1. Olá DYP! =)
      A ideia é postar sobre algumas ferramentas específicas sim. Especialmente, Selenium-webdriver, watir-webdriver, capybara, Microsoft Test Manager, Jmeter, entre outras. O QTP, infelizmente, ainda não tive oportunidade de conhecer, mas espero que algo aqui no blog possa ser útil pra você. Abraço!

      Excluir
    2. Hummm estas ferramentas eu também não conheço... estarei acompanhando as novidades então! Abraços! =)

      Excluir