Slide 1

Slide 1 text

Creating connections that transform the world. Terminei, só falta…Testar? Monica Craveiro de Menezes https://speakerdeck.com/mocraveirodev

Slide 2

Slide 2 text

This content is restricted Monica Craveiro de Menezes Carioca da gema, ex-patinadora artística, gamer, #TechMaromba, já fiz muitos cálculos por aí, mas hoje em dia fico “só nos compiuter”, arroz de Eventos tech, amante de energético e aspirante a Influencer Tech. Quem sou? @mocraveirodev

Slide 3

Slide 3 text

This content is restricted Testes são importantes? Pense “O que começa o pleito parece justo, até que vem o outro e o examina.” Provébios 18:17 Validação se os requisitos foram atendidos.

Slide 4

Slide 4 text

This content is restricted Por que testar? https://www.instagram.com/p/CxbEgllr-sd/

Slide 5

Slide 5 text

Por que testar? Tem que mostrar que o sistema funciona e não tem falhas! ● Requisitos Funcionais ● Requisitos não Funcionais ○ Usabilidade ○ Desempenho ○ Performance ○ Capacidade ○ Segurança Será que é só isso?

Slide 6

Slide 6 text

This content is restricted 1 Teste mostra a presença de defeitos mas não a ausência deles. 3 Testes iniciais economizam tempo e dinheiro. 7 Princípios do Teste de Software 4 Agrupamento de defeitos 2 Se não dá pra testar todas as possibilidades de entrada e saída, então o teste exaustivo é impossível. 5 Paradoxo do Pesticida 6 Teste depende do contexto. 7 Ilusão da ausência de defeitos.

Slide 7

Slide 7 text

This content is restricted Pirâmide de Testes ● Criado em 2009 Popularizado em 2012 por Martin Fowler ● Segue modelo em V de desenvolvimento

Slide 8

Slide 8 text

This content is restricted Modelo em V de Desenvolvimento

Slide 9

Slide 9 text

This content is restricted ● Precisamos testar tudo? ● Como escrever Casos de Teste? ○ Entrada ○ O que vai acontecer ○ Saída Casos de Teste This content is restricted

Slide 10

Slide 10 text

This content is restricted Recursos utilizados para escrever Bons Casos de Testes Técnicas de teste de software Criar testes antes do código de cada funcionalidade. TDD Test Driven Development

Slide 11

Slide 11 text

This content is restricted Reunir profissionais de diferentes expertises para definir melhor o que deve ser feito. Three Amigos BDD Behavior Driven Development Testes com foco no comportamento do Sistema. Recursos utilizados para escrever Bons Casos de Testes Técnicas de teste de software Como/Eu quero/Para >>> Dado/Quando/Então

Slide 12

Slide 12 text

This content is restricted Teste de Caixa Branca • Parte Estrutural do código • Analisa código-fonte Teste de Caixa Preta • Parte Funcional do código • Baseado no comportamento do Sistema Técnicas de teste de software

Slide 13

Slide 13 text

This content is restricted Recursos utilizados para escrever Bons Casos de Testes Verifica se os requisitos funcionais foram atendidos. Teste de Aceitação Verifica se não quebrou nada ao desenvolver novas funcionalidades. Teste de Regressão Técnicas de teste de software

Slide 14

Slide 14 text

This content is restricted Recursos utilizados para escrever Bons Casos de Testes Técnicas de teste de software Teste baseado em Experiência Teste Exploratório Error Guessing

Slide 15

Slide 15 text

This content is restricted Técnicas de teste de software Teste ocorre internamente. Teste Alpha Teste em Produção mas apenas para uma parte do público. Teste feito por clientes externos em um ambiente controlado. Teste Beta Teste Canary

Slide 16

Slide 16 text

This content is restricted Testa as menores partes do sistema (métodos, funções ou classes), independente das suas integrações. Testa integração do sistema. Teste a integração interna e externa do sistema. Altera operadores do sistema forçando a quebra dos testes unitários. Tipos de Teste de Software Unitários Integração E2E Mutação

Slide 17

Slide 17 text

This content is restricted https://twitter.com/EngineerRabbit/status/1696621524311023867

Slide 18

Slide 18 text

This content is restricted Testa as menores partes do sistema (métodos, funções ou classes), independente das suas integrações. Testa integração do sistema. Teste a integração interna e externa do sistema. Altera operadores do sistema forçando a quebra dos testes unitários. Tipos de Teste de Software Unitários Integração E2E Mutação

Slide 19

Slide 19 text

This content is restricted Teste de Mutação Criado em 1971 em Yale por Richard Lipton Muda os operadores matemáticos, lógicos, de retorno e constantes Quantidade de Falhas / Quantidade de Mutantes = % de efetividade Rotina de Testes Unitários consistente

Slide 20

Slide 20 text

This content is restricted Vale a pena utilizar? Testes Automatizados Quando utilizar? Quais são?

Slide 21

Slide 21 text

Estão preparados para fazer testes mais efetivos? Obrigada! Monica Craveiro de Menezes @mocraveirodev