Agile testing

22
www.qualister.c om.br (48) 4052-9536 / 9540 contato@qualister. com.br 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

Agile testing

Transcript of Agile testing

Page 1: Agile testing

www.qualister.com.br

(48) 4052-9536 / [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

Envia documento

Tira dúvidas

Tira dúvidas

Envia documento

Repo

rta

Bug

Corr

ige

Bug

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 eleitorEu quero efetuar meu pré-cadastroDe 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é-cadastroQuando 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 eleele tem de critérios de aceite. Nós como testadores iremos “parear” para levantarpossíveis cenários de teste, como no exemplo abaixo utilizando uma tabela dedecisã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