View
52
Download
2
Category
Preview:
Citation preview
Desenvolvemos produtos digitais
Quality AssuranceA importância dos testes para o desenvolvimento mobile
Oscar José Fernandes Tanner
• Formado em Ciência da Computação • Mestre em Engenharia de Software • Desenvolvedor Ruby por paixão • Entusiasta de Especificação por Exemplo • QA na Concrete Solutions
• oscar.tanner@concretesolutions.com.br
Agenda
• Desafios ao iniciar
• Ambiente
• Processos utilizados e ferramentas
• Benefícios
Desafios ao iniciar
• Por que testar? • Meu código é à prova de bugs • Se programarmos direito não precisamos testar • Não terei tempo para testar, meu sprint está lotado
Desafios ao iniciar
• Preconceito • QA = erros
• Chave para vencer o preconceito • QA = Qualidade
Desafios ao iniciar
• O que são erros?
• Problemas em produção (Regressão) => Erro no processo
• Após 6 meses, cliente nega a solução => Erro na especificação
• Retrabalho => Erro no processo / especificação
Desafios ao iniciar
• Por que utilizar?
• Qualidade • Especificação atualizada • Validações automatizadas • Melhoria na comunicação • Agilizar a solução de problemas
Ambiente
• Principal conceito: Especificação por exemplo
• Profissional de QA como parte integrante da equipe ágil
• Automatização das especificações
• Validação Contínua
Especificação por exemplo
• Especificação NÃO é Teste.
• Especificação precisa ser clara
• Todos devem entender • Deve focar no negócio • Não deve estar vinculada à implementação
Focar no que DEVE SER FEITO. NÃO em COMO DEVE SER
FEITO
Especificação por exemplo
• Especificação precisa ser automatizada
• Automatização gera três tipos de teste: • Teste de aceitação • Teste de integração • Teste de regressão
Especificação por exemplo
1. Logar com o usuário Tom
2. Navegar para a página Home 3. Procurar por Specification by Example 4. Adicionar o primeiro resultado no carrinho 5. Procurar por Beautiful Testing 6. Adicionar o segundo resultado no carrinho 7. Verificar se o número de itens no carrinho é igual a 2
CUIDADO!
• Script não é Especificação
• Dificuldades técnicas e de implementação devem ser solucionadas na camada de automação
Equipe Ágil
Equipe Ágil
• Mais proximidade com o cliente • Facilidade de obtenção dos requisitos
• Mais proximidade com os desenvolvedores • Mais agilidade na identificação e resolução de inconsistências
Automatizando a Especificação
• Existem diversas ferramentas e/ou técnicas
• Utilizamos Cucumber e Calabash
• Diminuição do trabalho manual
• Aumento na frequência de execução dos testes
Validação Contínua
• Se as especificações estão automatizadas, por não executá-‐las frequentemente?
• Atualmente utilizamos Jenkins
Benefícios
• Facilidade de comunicação e entendimento das funcionalidades por todos os membros da equipe • Documentação precisa e atualizada • Mais facilidade em processos futuros de manutenção • Testes de aceitação, integração e regressão automatizados • Mais agilidade na identificação e solução de inconsistências
ConfiançaPalavra chave
Especificação + Automação
=
Living Documentation
Dica de Leitura
• Specification By Example (Gojko Adzic)
blog.concretesolutions.com.br www.concretesolutions.com.br
São Paulo Rua Sansão Alves dos Santos, 433
4º andar - Brooklin, São Paulo CEP: 04565-001
Tel.: +55 11 4119-0449
Rio de Janeiro Rua São José, 90 Sala: 2121 Centro, Rio de Janeiro CEP: 20010-020 Tel.: +55 21 2240-2030
ESTAMOS CONTRATANDO!
Recommended