1
3 noções básicas para automação de testes efetivos
Taíse Dias da Silva
2
Apresentação
Use #TWnaMTC2015 e siga ThoughtWorks_pt pra concorrer ao livro Antologia Brasil
@taisedias taisedias taise-‐dias-‐da-‐silva
Taíse Dias da Silva
3
Sumário
1.Por que automatizar testes? 2.Passo 1: definir o valor do negócio 3.Passo 2: automatizar os testes 4.Passo 3: refatorar para baixa manutenção
4
Por que automatizar testes?
Source: http://gatariadavila.blogspot.com.br/
5
Por que automatizar testes?
Source: http://gatariadavila.blogspot.com.br/
6
Passo 1: Definir o valor do negócio
-‐ Não testar por testar -‐ Escrever narrativas -‐ valor da funcionalidade -‐ Escrever através de exemplos em texto puro antes de implementar (BDD)
-‐ Pegar feedback do cliente -‐ E se estiver errado? -‐ Vocabulário específico do domínio do negócio
-‐ Cucumber: documentação viva
7
Passo 1: Definir o valor do negócio
8
Passo 1: Definir o valor do negócio
9
Passo 2: Automatizar os testes
10
Passo 2: Automatizar os testes
Selenium Web Driver: -‐ iniciada em 2004 pelo ThoughtWorker Jason Huggins
-‐ simula ações no browser -‐ movido por código, linguagem de programação
PageObject: -‐ mapea os elementos da classe em uma página usando seus elementos
11
Passo 2: Automatizar os testes
12
Passo 2: Automatizar os testes
13
Passo 2: Automatizar os testes
14
Passo 2: Automatizar os testes
-‐ Testes em linguagem natural com Cucumber + Selenium -‐ Testes automatizados = documentação + executável + manutenível -‐ Melhor do que ferramentas como TestLink -‐ manutenção da documentação -‐ execução
15
Passo 3: Refatorar para manter
16
Passo 3: Refatorar para manter
-‐ Uso do padrão page object -‐ Escrever funcionalidades declarativas (não incluir informações técnicas)
17
Passo 3: Refatorar para manter
-‐ Evitar passos que contêm duas ações
18
Passo 3: Refatorar para manter
-‐ Evitar passos que contêm duas ações
19
Revisão
-‐ Automatizar para: -‐ ter mais segurança de que novas funcionalidades não impactarão negativamente as existentes
-‐ feedback constante sobre alterações no código
20
Revisão
-‐ Automatizar em 3 passos: -‐ definir valor de negócio utilizando ferramenta de BDD
-‐ utilizar biblioteca de automação junto com padrões de projeto como page object para implementar a face de negócio da ferramenta
-‐ refatorar código de teste
21
@taisedias
E assim criar testes automatizados com alto valor de negócio e baixo custo de manutenção.