Download - Verdades e mitos sobre testes que eu gostaria

Transcript
Page 1: Verdades e mitos sobre testes que eu gostaria

Verdades e mitos sobre testes que eu gostaria que tivessem

me avisadoLivia Gabos

Page 2: Verdades e mitos sobre testes que eu gostaria

Objetivos da palestra

• Não é fazer vocês desistirem da área de testes.

• Não é fazer vocês pensarem que eu estou reclamando da vida.

• Não é fazer vocês pensarem que o pessoal de testes leva a pior (sempre).

• Não é fazer vocês pensarem que testes são chatos.

Page 3: Verdades e mitos sobre testes que eu gostaria

Objetivos da palestra

• Contar um pouco sobre as minhas experiências.

• Coisas que vi e ouvi em eventos e outras pessoas da área.

Page 4: Verdades e mitos sobre testes que eu gostaria

Livia adverte:

Qualquer situação relatada pode ou não ter acontecido comigo ou com um amigo meu.

Page 5: Verdades e mitos sobre testes que eu gostaria

Testes não são importantes

Page 6: Verdades e mitos sobre testes que eu gostaria

Testes não são importantes

Page 7: Verdades e mitos sobre testes que eu gostaria

Testes não são importantes

Page 8: Verdades e mitos sobre testes que eu gostaria

Testes não são importantes

Defeito Erro Falha

Page 9: Verdades e mitos sobre testes que eu gostaria

Testes não são importantes

• Engano de uma pessoa produz um passo incorreto

• Era para ser x>=4 e virou x>4Defeito

• Estado inconsistente ou inesperadoErro

• Resultado é diferente do resultado esperado

• 1, 2, 3 e 4 não passa...xiii, acho que não funcionouFalha

Page 10: Verdades e mitos sobre testes que eu gostaria

Testes não são importantes

Page 11: Verdades e mitos sobre testes que eu gostaria

Testes são importantes!

• Testes são uma parte da qualidade.

• Já ajudam muito para garantir a qualidade.

• Processo de desenvolvimento deve possuir qualidade.

• “Sem testes, sem defeitos” by @ProgramadorREAL

Page 12: Verdades e mitos sobre testes que eu gostaria

Testes só acontecem no final

Page 13: Verdades e mitos sobre testes que eu gostaria

Testes só acontecem no final

• Final do que?• Da iteração?

• Do desenvolvimento da funcionalidade?

• Do ciclo de desenvolvimento?

• Da semana?

• Do mês?

• Do software ter sido produzido por inteiro?

• Do meu salário?

Page 14: Verdades e mitos sobre testes que eu gostaria

Testes só acontecem no final

• “O produto final do processo de desenvolvimento é exatamente o somatório de todas as decisões e realizações geradas durante todo o ciclo de desenvolvimento.

• Se for desejado produzir software com alta qualidade, será necessário investir em qualidade em todos os pontos do processo.”

• https://patiaragon.wordpress.com/

Page 15: Verdades e mitos sobre testes que eu gostaria

Testes só acontecem no final

Page 16: Verdades e mitos sobre testes que eu gostaria

Testes só acontecem no final

• Espiral

• Ágil

Page 17: Verdades e mitos sobre testes que eu gostaria

Testes só acontecem no final

• Por que isso acontece?• Ninguém gosta de alguém falando que você está errado.

• Ninguém quer alguém questionando suas ideias.

• “Do seu jeito é melhor? Então desenvolve aí...”

Page 18: Verdades e mitos sobre testes que eu gostaria

Testes não acontecem apenas no final

• Existem testes que são papel do desenvolvedor.

• Se você pensa: qualidade = testes, como você deixa a qualidade para o final?

Page 19: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

Page 20: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

Fonte: @c_caetano

Page 21: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

Fonte: @c_caetano

Page 22: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

Fonte: @c_caetano

Page 23: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

Fonte: @c_caetano

Page 24: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

Fonte: @c_caetano

Page 25: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem?

Page 26: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

UI

Integração

Unitário

UI

Integração

Unitário

ManuaisManuais

VS

SIM NÃO

Page 27: Verdades e mitos sobre testes que eu gostaria

Se testar só a última versão está tudo bem!

• Acham que programar script de teste é complicado.

• Acham que teste automatizado é usando ferramenta de play-record.

• Por conta disso, ninguém quer testar antes de nunca mais mexerem um pixel na tela.

• Daí o teste fica tudo no final.

Page 28: Verdades e mitos sobre testes que eu gostaria

Testar tudo!

• Implementar testes unitários, de regressão, testes automatizados com scripts de testes.

Page 29: Verdades e mitos sobre testes que eu gostaria

Você não precisa de documentação para testar!

Page 30: Verdades e mitos sobre testes que eu gostaria

Você não precisa de documentação para testar!• O que você considera documentação?

• Diagrama de classe?

• Documento de requisitos (atualizado)?

• Casos de uso (atualizado)?

• O que você considera documentação de testes?• Plano de testes

• Casos de testes

• Relatório de teste

Page 31: Verdades e mitos sobre testes que eu gostaria

Acho que a função de controle e integração entre o departamento

de marketing e da controladoria pode

ser.....

Page 32: Verdades e mitos sobre testes que eu gostaria

O que ele estava pensando quando escreveu essa

funcionalidade?

Page 33: Verdades e mitos sobre testes que eu gostaria

Você não precisa de documentação para testar!• Documentação serve para comunicar.

• Preciso fazer um longo documento de requisitos (que eu não vou atualizar depois da terceira iteração)?• Não

• Posso escrever de um jeito mais simples o que aquela funcionalidade precisa fazer?• Sim

Page 34: Verdades e mitos sobre testes que eu gostaria

Você não precisa de documentação para testar!Cenário <descrição do teste>

Dado <uma pré-condição>

Quando <passo>

Então <resultado esperado>

Cenário: Consultando um triângulo Escaleno

Dado que eu estou na página de consulta de triângulos

Quando eu informo os lados do triangulo como 3 – 4 – 5

Então o sistema informa que o triângulo é “escaleno”.

Page 35: Verdades e mitos sobre testes que eu gostaria

Você precisa de alguma documentação!

• Você precisa de um oráculo!

• A documentação ajuda para quando não tem ninguém da sua equipe• Todos estão de férias menos você!

Page 36: Verdades e mitos sobre testes que eu gostaria

Todo bug encontrado é culpa do desenvolvedor

Page 37: Verdades e mitos sobre testes que eu gostaria

Todo bug encontrado é culpa do desenvolvedor• Algo não está escrito certo ou está difícil de entender.

• Desenvolvedor não entendeu o que estava escrito.

• Nem tinha documentação.

Page 38: Verdades e mitos sobre testes que eu gostaria

Todo bug encontrado é culpa do desenvolvedor• Porque o desenvolvedor tem que testar?

• Testar =! Debugar

• Códigos de refatoração -> o testador não vai achar isso!

• Teste unitário e integração

Page 39: Verdades e mitos sobre testes que eu gostaria

Todo bug encontrado é culpa do desenvolvedorDepois que o erro é encontrado, podemos declarar que o procedimento ideal seria:

• Analisar o bug, resolvê-lo, e registrar a atividade como “Erro” na ferramenta de controle interno para fins de documentação;

• Utilizar métodos de análise de causa para descobrir como o erro chegou até a produção;

• Certificar-se de que a causa seja resolvida para evitar ocorrências futuras.

Page 40: Verdades e mitos sobre testes que eu gostaria

Todo bug encontrado é culpa do desenvolvedorDepois que o erro é encontrado, podemos declarar que o procedimento ideal seria:

• Analisar o bug, resolvê-lo, e registrar a atividade como “Erro” na ferramenta de controle interno para fins de documentação;

Page 41: Verdades e mitos sobre testes que eu gostaria

Todo bug encontrado é culpa do desenvolvedor• Precisamos achar de quem é a culpa?

• Não

• Porque só se faz isso então?

Page 42: Verdades e mitos sobre testes que eu gostaria

Os bugs encontrados não é culpa de ngm!

• É necessário corrigir o processo que criou o bug e o processo que não encontrou ele a tempo.

Page 43: Verdades e mitos sobre testes que eu gostaria

O teste é responsabilidade apenas do testador

Page 44: Verdades e mitos sobre testes que eu gostaria

O teste é responsabilidade apenas do testador• Porque isso acontece?

• Falta tempo para o desenvolvedor testar

• Falta tempo para o desenvolvedor desenvolver (às vezes)

• Falta experiência

• Sobre preconceito

Page 45: Verdades e mitos sobre testes que eu gostaria

O teste é responsabilidade apenas do testador

UI

Integração

Unitário

UI

Integração

Unitário

ManuaisManuais

VS

Page 46: Verdades e mitos sobre testes que eu gostaria

O teste é responsabilidade apenas do testador• TDD - Test Driven Development

• Programação em duplas

Page 47: Verdades e mitos sobre testes que eu gostaria

Todo mundo tem que testar!

• Todo mundo testa com diferentes visões.

Page 48: Verdades e mitos sobre testes que eu gostaria

O teste de sistema/funcional é o mais importante

Page 49: Verdades e mitos sobre testes que eu gostaria

O teste de sistema/funcional é o mais importante• Técnica de teste

• Valor limite• Partição de equivalência• Exploratório

• Nível do teste• Módulo único

• Teste de Unidade

• Agrupamento de módulos • Teste de Integração

• Sistema completo • Teste de Sistema

Page 50: Verdades e mitos sobre testes que eu gostaria

O teste de sistema/funcional é o mais importante• Tem outros?

• Testes funcionais

• Testes não-funcionais• Teste de usabilidade

• Teste de acessibilidade

• Teste de performance

• Teste de carga

• Teste de stress

• Teste de segurança

• Aceitação

• Regressão

Page 51: Verdades e mitos sobre testes que eu gostaria

O teste de sistema/funcional é o mais importante• O que você considera como qualidade?

• O que o seu gerente considera como qualidade?

• O que seu cliente considera como qualidade?

• O que o usuário final considera como qualidade?

Page 52: Verdades e mitos sobre testes que eu gostaria

O teste de sistema/funcional é o mais importante

• Testes funcionais

• Testes não-funcionais• Teste de usabilidade• Teste de acessibilidade• Teste de performance• Teste de carga• Teste de stress• Teste de segurança

• Aceitação

• Regressão

Page 53: Verdades e mitos sobre testes que eu gostaria

Faça testes que garantam o que você precisa !

• Tudo depende do que você precisa garantir para saber qual teste é melhor para você.

Page 54: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional não é importante

Page 55: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional não é importante

• Você sabe escrever um requisito não-funcional?

• Você sabe o que é um requisito não-funcional?

Page 56: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional não é importante

• Requisitos não-funcionais são relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, disponibilidade, segurança e tecnologias envolvidas.

• Muitas vezes, os requisitos não funcionais acabam gerando restrições aos funcionais.

• “Não é preciso o cliente dizer sobre eles, pois eles são características mínimas de um software de qualidade.”

Page 57: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional não é importante

• Declarar os requisitos não-funcionais como user-stories• Como um cliente, quero ser capaz de executar o seu produto em todas as

versões do Windows, do Windows 95 até a versão atual.

• Como diretor de tecnologia, quero que o sistema use nosso banco de dados de pedidos ao invés de criar um novo banco, para não termos mais um banco de dados para manter.

• Como usuário, quero que o site esteja disponível 99,999% do tempo em que tentar acessá-lo, para que eu não fique frustrado e procure outro site.

Page 58: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional não é importante

• Custo de conformidade inicial

• Custo de conformidade contínua

Page 59: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional não é importante

• Equipe de desenvolvimento lembra dos requisitos não-funcionais?• Gerente

• Dev

• Analista de requisitos

• Chega no final de tudo e alguém fala:• Vai testar a acessibilidade?

Page 60: Verdades e mitos sobre testes que eu gostaria

Teste não-funcional é importante sim!

• Existem startup usando teste de usabilidade para avaliar protótipos e ideias.

• Existem testes não-funcionais que são tão importantes quanto os funcionais.

Page 61: Verdades e mitos sobre testes que eu gostaria

Ninguém tem esse nome tão comprido!

Page 62: Verdades e mitos sobre testes que eu gostaria

Ninguém tem esse nome tão comprido!

• Qual o problema com o nome?

• O nome é comprido demais

• O nome é curto demais

• Um nome normal não usa números

Page 63: Verdades e mitos sobre testes que eu gostaria

Ninguém tem esse nome tão comprido!

Page 64: Verdades e mitos sobre testes que eu gostaria

Ninguém tem esse nome tão comprido!

• Antônio Treze de Junho de Mil Novecentos e Dezessete

• Benedito Frôscolo Jovino de Almeida Aimbaré Militão de Souza Baruel de Itaparica Boré Fomi de Tucunduvá

• Brígida de Samora Mora Belderagas Piruégas de Alfim Cerqueira Borges Cabral

• Carlos Alberto Santíssimo Sacramento Cantinho da Vila Alencar da Corte Real Sampaio Carneiro de Souza e Faro

• Napoleão Bonaparte Sem Medo e Sem Mácula

• Simplício Simplório da Simplicidade Simples

Page 65: Verdades e mitos sobre testes que eu gostaria

Não subestimem a criatividade das pessoas!

• Testar com informações reais e possíveis• Nome: ahskdauhsdkuahskduhakushdkaushdukas

• Sejam criativos

• Façam composições de informações para serem complexas

Page 66: Verdades e mitos sobre testes que eu gostaria

Testes são rápidos/lentos de se fazer. (Deixa pra depois)

Page 67: Verdades e mitos sobre testes que eu gostaria

Testes são rápidos/lentos de se fazer.

• As pessoas pensam que testes são rápidos de se fazerem e por isso deixam para depois. (E não fazem)

• As pessoas pensam que testes são muitos demorados e atrasam o processo de desenvolvimento. (E não fazem)

Page 68: Verdades e mitos sobre testes que eu gostaria

Testes são rápidos/lentos de se fazer.

• Tudo depende se você tem ou não uma métrica.

• Se você entende das necessidades essenciais de teste.

• Não adianta não fazer testes porque demoraram mais a entrega final por conta disso.

Page 69: Verdades e mitos sobre testes que eu gostaria

Sem conhecimento não existe qualidade

• Se você registra as condições do teste, você pode obter métricas e tornar o processo de teste mais inteligente.

• Se você conhece seu produto, entende seu processo de desenvolvimento e sua equipe, você sabe como testá-lo.

• Ter qualidade no processo significa no final que se você fizer o teste no começo, no meio ou no fim de uma iteração o resultado não será trágico.

Page 70: Verdades e mitos sobre testes que eu gostaria

Você não precisa saber programar!

Page 71: Verdades e mitos sobre testes que eu gostaria

Você não precisa saber programar!

UI

Integração

Unitário

Manuais

Page 72: Verdades e mitos sobre testes que eu gostaria

Você não precisa saber programar!

UI

Integração

Unitário

UI

Integração

Unitário

ManuaisManuais

VS

Page 73: Verdades e mitos sobre testes que eu gostaria

Você não precisa saber programar!

• Você só sabe fazer teste manual.

• Você só faz testes com a interface.

• Você não tem voz ativa na equipe de desenvolvimento.

Page 74: Verdades e mitos sobre testes que eu gostaria

Você tem que saber programar sim!

• Saber banco de dados

• Saber programar

• Saber mexer com frameworks de testes

Page 75: Verdades e mitos sobre testes que eu gostaria

Testes são só custos

Page 76: Verdades e mitos sobre testes que eu gostaria

Testes são só custos

• Por que você quer fazer testes?• Provar que tudo funciona?

• Provar que não tem erros?

• Provar que você não vai ter surpresas desagradáveis quando entregar aquilo pro cliente?

• Provar que tem qualidade?

Page 77: Verdades e mitos sobre testes que eu gostaria

Testes são só custos

• Qualidade é o principal.

• Se seu processo de desenvolvimento possui problemas de qualidade não é o teste que vai salvá-lo.

Page 78: Verdades e mitos sobre testes que eu gostaria

Sigam no twitter

• @thoughtworks_pt

• @eliasnogueira

• @qualister

• @c_caetano

• @gutsrs – canal no youtube também

• http://agiletesters.com.br/

Page 79: Verdades e mitos sobre testes que eu gostaria

Sites que usei na apresentação

• http://engtesteagil.blogspot.com.br/

• http://eliasnogueira.com/diferencas-entre-um-testador-real-e-um-testador-fake/

• https://patiaragon.wordpress.com/

• http://www.fredmoreira.com/

• http://bugs-busters.blogspot.com.br/2015/08/7-passos-para-o-desenvolvedor-odiar.html

• http://bugs-busters.blogspot.com.br/2015/09/7-passos-para-o-responsavel-pelo-teste.html

• http://www.andrecelestino.com/bug-software-de-quem-e-culpa-parte-2/

• http://imasters.com.br/desenvolvimento/gerencia-de-projetos/nao-reclame-de-software-ruim-para-o-desenvolvedor-a-culpa-e-dos-gerentes/?trace=1519021197

• http://www.infoq.com/br/news/2011/06/dominando-requisitos-nfuncionais

Page 80: Verdades e mitos sobre testes que eu gostaria

Sites legais

• http://pt.slideshare.net/GTS-CE/

• http://eliasnogueira.com/

• http://bugs-busters.blogspot.com.br/

• http://pt.slideshare.net/stefanteixeira/

Page 81: Verdades e mitos sobre testes que eu gostaria

Dúvidas?

• about.me/liviagabos

• @liviagabos