24
Desenvolvemos produtos digitais

A importância do QA para o desenvolvimento mobile

Embed Size (px)

Citation preview

Page 1: A importância do QA para o desenvolvimento mobile

Desenvolvemos  produtos  digitais

Page 2: A importância do QA para o desenvolvimento mobile

Quality  AssuranceA  importância  dos  testes  para  o  desenvolvimento  mobile

Page 3: A importância do QA 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  

[email protected]

Page 4: A importância do QA para o desenvolvimento mobile

Agenda

• Desafios  ao  iniciar  

• Ambiente  

• Processos  utilizados  e  ferramentas  

• Benefícios

Page 5: A importância do QA para o desenvolvimento mobile

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

Page 6: A importância do QA para o desenvolvimento mobile
Page 7: A importância do QA para o desenvolvimento mobile

Desafios  ao  iniciar

• Preconceito  • QA  =  erros  

• Chave  para  vencer  o  preconceito  • QA  =  Qualidade

Page 8: A importância do QA para o desenvolvimento mobile

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

Page 9: A importância do QA para o desenvolvimento mobile

Desafios  ao  iniciar

• Por  que  utilizar?  

• Qualidade  • Especificação  atualizada  • Validações  automatizadas  • Melhoria  na  comunicação  • Agilizar  a  solução  de  problemas

Page 10: A importância do QA para o desenvolvimento mobile

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

Page 11: A importância do QA para o desenvolvimento mobile

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

Page 12: A importância do QA para o desenvolvimento mobile

Focar  no  que  DEVE  SER  FEITO.  NÃO  em  COMO  DEVE  SER  

FEITO

Page 13: A importância do QA para o desenvolvimento mobile

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

Page 14: A importância do QA para o desenvolvimento mobile

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

Page 15: A importância do QA para o desenvolvimento mobile

CUIDADO!

• Script  não  é  Especificação  

• Dificuldades  técnicas  e  de  implementação  devem  ser  solucionadas  na  camada  de  automação

Page 16: A importância do QA para o desenvolvimento mobile

Equipe  Ágil

Page 17: A importância do QA para o desenvolvimento mobile

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

Page 18: A importância do QA para o desenvolvimento mobile

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

Page 19: A importância do QA para o desenvolvimento mobile

Validação  Contínua

• Se  as  especificações  estão  automatizadas,  por  não  executá-­‐las  frequentemente?  

• Atualmente  utilizamos  Jenkins

Page 20: A importância do QA para o desenvolvimento mobile

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

Page 21: A importância do QA para o desenvolvimento mobile

ConfiançaPalavra  chave

Page 22: A importância do QA para o desenvolvimento mobile

Especificação  +  Automação  

=  

Living  Documentation

Page 23: A importância do QA para o desenvolvimento mobile

Dica  de  Leitura

• Specification  By  Example  (Gojko  Adzic)

Page 24: A importância do QA para o desenvolvimento mobile

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!