Agile Testing

22
www.qualister.com.br (48) 4052-9536 / 9540 [email protected] Agile Testing Terceirização de profissionais Consultoria de teste Avaliação de usabilidade Automação de testes Testes de performance Treinamentos 2˚ Encontro GTS-CE 05 de Abril de 2014 Fortaleza, Ceará

description

Por Elias Nogueira, Consultor da Qualister

Transcript of Agile Testing

Page 1: Agile Testing

www.qualister.com.br

(48) 4052-9536 / 9540

[email protected]

Agile Testing

• Terceirização de profissionais

• Consultoria de teste

• Avaliação de usabilidade

• Automação de testes

• Testes de performance

• Treinamentos

2˚ Encontro GTS-CE

05 de Abril de 2014 – Fortaleza, Ceará

Page 2: Agile Testing

www.qualister.com.br

Sobre o Palestrante

Elias NogueiraQA Engineer, Consultor de Teste na Qualister

Email: [email protected]

Blog: http://eliasnogueira.com

Blog: http://qualister.com.br/blog

Twitter: @eliasnogueira

Twitter: @qualister

SlideShare: http://slidshare.net/elias.nogueira

Page 3: Agile Testing

www.qualister.com.br

Sobre a Qualister

• Fundação: 2007.

• Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união

de profissionais qualificados e certificados na área de testes e qualidade de

software, com o objetivo de integrar, implementar e implantar soluções com base nas

melhores práticas do mercado e normas internacionais.

• Colaboradores: A Qualister é composta por colaboradores pós-graduados e

certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de

Tecnologia da Informação.

• Área de atuação: A Qualister é uma empresa especializada em serviços de

qualidade e teste de software. Tem como linhas de atuação consultoria em

teste/qualidade de software, outsourcing (terceirização dos serviços através da

alocação de profissionais) e treinamentos.

• Localização: A Qualister está localizada em Biguaçu na Grande Florianópolis/SC e

está instalada no CITEB – Centro de Inovação Tecnologia de Biguaçu no campus da

universidade UNIVALI.

Page 4: Agile Testing

www.qualister.com.br

O que iremos aprender?

• O que é Agile Testing

• Como escrever/expressar testes num ambiente ágil

• Automação!!!

– Unitário – TDD – Test Driven Development

– Serviços – BDD – Behavior Driven Development

– Aceitação – Sem técnica específica (mas olhando ATDD)

• Testes Manuais no ambiente ágil

Page 5: Agile Testing

www.qualister.com.br

Como iremos aprender

Sistema fictício de pré-cadastro eleitoral

Page 6: Agile Testing

www.qualister.com.br

Onde vai estar o código-fonte dos exemplos?

https://github.com/eliasnogueira/2-

encontro-gts-ce

Page 7: Agile Testing

www.qualister.com.br

Estrutura de Testes Atualmente

Analista Desenvolvedor

Testador

Tira dúvidas

Envia documento

Estrutura Time Tradicional Comunicação Time Tradicional

Page 8: Agile Testing

www.qualister.com.br

Estrutura de Teste com Agile Testing

Analista Desenvolvedor

Testador

Estrutura Time Ágil Comunicação no Ágil: Interação

Page 9: Agile Testing

www.qualister.com.br

O que é Agile Testing?

Definimos Agile Testing neste caminho:

um profissional que encara as mudanças,

colabora bem com pessoas técnicas e de

negócio e entende o conceito de utilizar

testes para documentar os requisitos e

guiar o desenvolvimento.

Page 10: Agile Testing

www.qualister.com.br

Simulação 1: O que o cliente quer...

Necessito de um sistema web de pré-

cadastro eleitoral para pessoas que ainda

não tem título de eleitor, informando se ela

pode ou não tirar o seu título

Page 11: Agile Testing

www.qualister.com.br

Refinamento... (pergunte o óbvio)

• Campos: Nome e Ano de Nascimento

• Regra:

– Menor de 16: não pode

– 16 a 18: facultativo

– 70 ou mais: facultativo

– diferente disso: obrigatório

• Não tem Restrição, a não ser a regra acima

• Se a pessoa já tem titulo não pode deixar fazer o pre-cadastro. Tem que

adicionar o CPF

• Vai poder pre-cadastrar com 16 anos desde que ele complete 16 no de

nascimento ano informado

• Fluxo:

– Tela com inserção de dados

– Tela de confirmação

– Tela de numero de recibo

Page 12: Agile Testing

www.qualister.com.br

User Story

Funcionalidade: <descrição da funcionalidade>

Como um <papel/persona>

Eu quero <efetuar alguma ação>

De modo <que eu alcance uma meta>

• Quase um requisito

• Dá um entendimento inicial da funcionalidade

• Todos terão a mesma visão

Page 13: Agile Testing

www.qualister.com.br

Escrevendo a User Story

Funcionalidade: Sistema de pré-cadastro eleitoral

Como um possível eleitor

Eu quero efetuar meu pré-cadastro

De modo que eu possa obter meu titulo eleitoral

Page 14: Agile Testing

www.qualister.com.br

Conseguimos testar?

Conseguimos

testar somente com

isso?

Page 15: Agile Testing

www.qualister.com.br

• Expressa o funcionamento da aplicação (quase/é uma regra)

• Escrita de uma forma que todos entendem

• Guia o desenvolvimento

Critérios de Aceitação (nosso caso de teste)

Cenário: <descrição do teste>

Dado <uma pré-condição>

Quando <eu efetuar alguma ação>

Então <eu tenho um resultado esperado>

Page 16: Agile Testing

www.qualister.com.br

Escrevendo o(s) Critério(s) de Aceitação

Cenário: Possível eleitor não pode efetuar o pré-cadastro

Dado que eu estou na tela de pré-cadastro

Quando eu informo o nome “Ator mirim da malhação”

E quando eu informo o ano de nascimento “2000”

Então a pagina de pré-cadastro apresenta a mensagem

“Você não pode votar!”

Page 17: Agile Testing

www.qualister.com.br

Pirâmide de Automação de Teste

Page 18: Agile Testing

www.qualister.com.br

TDD – Test Driven Development

Page 19: Agile Testing

www.qualister.com.br

Ajudando o desenvolvedor a escrever mais testes

Idade Retorno

15 Não pode

16 Facultativo

17 Facultativo

18 Obrigatório

19 Obrigatório

30 Obrigatório

50 Obrigatório

69 Obrigatório

70 Facultativo

71 Facultativo

Desenvolvedor apenas irá criar os testes (isso não é uma regra) para o que ele

ele tem de critérios de aceite. Nós como testadores iremos “parear” para levantar

possíveis cenários de teste, como no exemplo abaixo utilizando uma tabela de

decisão com valores limites da idade para mais testes.

Isso asseguro que não existam erros nas comparações (<= => <> || &&)

Page 20: Agile Testing

www.qualister.com.br

BDD – Behavior Driven Development

BDD pode ser visto como uma técnica de

desenvolvimento ágil que encoraja

colaboração entre os desenvolvedores,

analistas, QA e o pessoal não técnico

(stackeholders) para o sucesso de um projeto

Page 21: Agile Testing

www.qualister.com.br

ATDD – Acceptance Test Driven Development

Page 22: Agile Testing

www.qualister.com.br

Treinamentos da Qualister disponíveis referente a Agile Testing

Unit Testing e TDD com Javahttp://www.qualister.com.br/cursos/unit-testing-e-tdd-com-java

Automação de Testes com Cucumberhttp://www.qualister.com.br/cursos/automacao-de-testes-com-cucumber

Automação de Testes Funcionais com Seleniumhttp://www.qualister.com.br/cursos/automacao-de-testes-funcionais-com-selenium

Teste para Equipes Ágeishttp://www.qualister.com.br/cursos/testes-para-equipes-ageis

Testes ágeis com ATDD: Acceptance Test Driven Developmenthttp://www.qualister.com.br/cursos/testes-ageis-com-atdd-acceptance-test-driven-development

Testes Exploratórioshttp://www.qualister.com.br/cursos/testes-exploratorios