70
Testes de Software MSc. Marcelo Aires

Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Testes de SoftwareMSc. Marcelo Aires

Page 2: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Planejamentode Testes

Page 3: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Relembrando▫ Introdução▫ Controle ágil, rápido e confiável de qualidade▫ Tipos de automação:

▫ Testes dirigidos a dados (TDD)▫ Graphical user interface▫ Testes baseados em API

3

Page 4: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Agenda▫ Introdução▫ Estimativas de Testes

▫ Técnicas para estimativa de software▫ Pontos para testes de software funcionais

▫ Planos de Testes▫ Importância do planejamento▫ Estrutura do plano de teste▫ Exemplos de planos de testes

4

Page 5: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Introdução▫ Imagine que você vai desenvolver um software para

um cliente.▫ Você e ele não documentaram por escrito o que seria

feito e tudo é tirado da cabeça do cliente.▫ Seu cliente, ao término de uma tarefa, lhe passa a

próxima funcionalidade e você desenvolve.▫ Isso continua durante todo o projeto.▫ Qual o problema? O que falta?

5

Page 6: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Introdução▫ Basicamente, faltam-se um guia e uma estimativa:

▫ guia: para seguir os passos de forma correta, até agrupando possíveis funcionalidades;

▫ estimativa: uma vez dito como deve ser feito, espera-se ou estima-se que algo saia de determinada maneira.

▫ Estimativa de testes terá a mesma função▫ são documentos que ajudam a estimar o quanto de esforço ainda

é necessário e em quais etapas.▫ Estimativas e planejamento estão ligados, não há

como planejar sem estimar.6

Page 7: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estimativasde Testes

Page 8: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estimativas de Testes▫ Compreensão com exemplo (suposição)

▫ Lançamento de um jogo▫ desenvolvedores estimam 20 horas de jogo;▫ depois de jogar por um tempo, salvou com 9 horas jogadas;▫ com base na expectativa, faltam 11 horas;▫ Mesmo sem saber o progresso, sabe-se que jogou 45% -

estimativa auxiliou.

8

Page 9: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estimativas de Testes▫ Em testes de software, funciona do mesmo jeito.▫ Importância das estimativas:

▫ fazem parte de qualquer planejamento bem-feito;▫ são essenciais para lidar com previsões e cronogramas;▫ ajudam no andamento do projeto e o quanto precisa de reparos;▫ se aplicadas corretamente, facilitam o gerenciamento, o

planejamento e o controle do projeto.▫ Existe uma série de técnicas que são aplicáveis a

cada tipo de projeto e necessidade.9

Page 10: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Técnicas para estimativa de software▫ O sucesso das estimativas está ligado a técnica

escolhida.▫ insucessos podem ocorrer devido a heterogeneidade dos

projetos.▫ importante criar um padrão que funcione para a maioria dos

projetos.▫ Alguns podem podem ser destacados para seguir

que funciona independente do tipo de técnica escolhido.

10

Page 11: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Técnicas para estimativa de software▫ Os pontos são (Veenendaal e Dekkers, 1999):

▫ Conhecer os requisitos essenciais do software;▫ Conhecer o domínio do software;▫ Considerar os riscos e a complexidade do projeto;▫ Conhecer a fundo a equipe do projeto;▫ Conhecer os resultados e as técnicas das estimativas de projetos

anteriores;▫ Conferir se possíveis bugs são considerados nas estimativas;▫ ALguns pontos referentes à equipe pode influenciar (férias,

doença, etc).

11

Page 12: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Técnicas para estimativa de software▫ Existem diversas técnicas, as principais são:

▫ Técnica de estimativa de teste de software em três pontos;▫ Método de ponto de caso de uso;▫ Estrutura de quebra de serviço;▫ Análises de testes de pontos;▫ Método de porcentagem de esforço;▫ Distribuição de porcentagem;▫ Método do melhor palpite;▫ Método baseado em experiências.

12

Page 13: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Técnica deestimativa de teste de

software em três pontos

Page 14: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Técnica de estimativa de teste de software em três pontos▫ Cada método consiste em uma tarefa que é

subdivida em 3 partes (3 estimativas): estimativa ideal, esperada e completamente errada.

▫ Para esta técnica é utilizada a seguinte fórmula:

14

P: positivos (otimista) - condições ideais.N: negativos - podem dar errado; mais provável.E: pessimistas - todo processo dará errado.

Page 15: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Técnica de estimativa de teste de software em três pontos▫ Exemplo: Se você tem uma tarefa A com estimativa

otimista de 12h, mais provável de 17h e pessimista de 28h, o resultado seria uma média de 18h para realizá-la:

A = (P + 4 x N + E) / 6A = (12 + 4 x 17 + 28) / 6

A = 18 h

15

Page 16: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método de pontode caso de uso

Page 17: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método de ponto de caso de uso▫ Considera-se atores e casos de uso.▫ Baseia-se nas especificações do usuário e de outros

interessados no software.▫ Foco em estimar o tamanho do sistema baseado em

casos de uso.▫ Cálculo utiliza pesos por atores, pesos por caso de

uso, pesos por fatores técnicos e pesos por fatores ambientais.

17

Page 18: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

18

Page 19: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método de ponto de caso de usoEtapas:

1.1. Soma-se os pesos por atores (TPNAA);1.2. Soma-se os pesos por casos de uso ajustados (TPNAUC);1.3. Calcula-se os casos de uso não ajustados (PCUNA);1.4. Determina-se o fator de complexidade técnica;

1.4.1. FCT = 0.6 + (0.01 * Somatório do Fator técnico)1.5. Determina-se o fator de complexidade ambiental;

1.5.1. FCA = 1,4 + (-0,03 * Somatório do Fator Ambiental)1.6. Estima-se o tamanho;

1.6.1. PCUA = PCUNA * FCT * FCA1.7. Estima-se o esforço.

1.7.1. UCP * Produtividade * Gestão * Risco19

Page 20: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estrutura dequebra de serviço

Page 21: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estrutura de quebra de serviço▫ Os testes são divididos em vários módulos e cada

módulo dividido em vários submódulos.▫ Cada submódulo é dividido em funcionalidades e

cada funcionalidade é dividida em subfuncionalidades.

▫ Útil para estimar o quanto a equipe já trabalhou e o quanto precisa trabalhar para finalizar.

21

Page 22: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

22

Page 23: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Análises detestes de pontos

Page 24: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Análises de testes de pontos▫ Aplicada a testes de caixa-preta.▫ Uma das técnicas mais aceita para estimar o

tamanho do projeto.▫ Usada quando há pouca documentação.▫ Realiza-se:

▫ pontos de prova dinâmicos (funções do sistema), pontos de prova estáticos (sistema como um todo), fator ambiental, fator de produtividade, horas de testes primários, fator de controle e total de horas de teste.

24

Page 25: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Análises de testes de pontos▫ Os principais componentes desta técnica são:

▫ Pontos de função de dados não ajustados▫ arquivo interno e interface externa.

▫ Pontos de transição de função não ajustado▫ entrada de usuário, saída de usuário e perguntas do usuário.

▫ Fórmulas:n° casos de testes = [n° pontos de função] * 1,2

Total de esforço = (n° casos de testes) * (% de esforço de desenvolvimento/100)

25

Page 26: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método deporcentagem de esforço

Page 27: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método de porcentagem de esforço▫ Nesta técnica divide-se em porcentagens as

estimativas esperadas de cada tipo de esforço.▫ (nem sempre o projeto será da maneira estimada)▫ Ajuda a ter um caminho a seguir, o que falta, o que

foi completado e, o mais importante, se as expectativas estão sendo alcançadas.

27

Page 28: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Distribuição de porcentagem

Page 29: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Distribuição de porcentagem▫ A função é verificar, em porcentagem, o esforço

necessário para o projeto, com base na experiência e horas de testes necessárias.

▫ Ex:▫ em projeto anterior -> 500 pontos de função com um total de

50hrs de testes. Assim, o esforço é:P = (50/500) * 100 = 10%

▫ em um novo projeto, têm-se 1500 pontos de função, então:Total de esforço = 1500 * (P/100) = 1500 * (10/100) = 150h de testes

29

Page 30: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

30

Page 31: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método domelhor palpite

Page 32: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método do melhor palpite▫ Técnica informal e subjetiva, mas que pode dar certo.▫ Baseada em experiências anteriores da equipe.▫ Estimativas levantadas por membros da equipe.

32

Page 33: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método baseadoem experiências

Page 34: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Método baseado em experiências▫ Técnica informal e subjetiva, mas que pode dar certo.▫ Semelhante à anterior, mas basea-se na experiência

pessoal de quem costuma criar estimativa.▫ Fatores levados em conta:

▫ métricas de dados anteriores e resultados de testes de aplicativos similares.

34

Page 35: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Pontos para testesde software funcionais

Page 36: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Análise de pontos de testes (APT)▫ Ajuda a estimar os testes com maior eficácia e

eficiência.▫ Deve-se considerar:

▫ O tamanho do sistema a ser testado;▫ A estratégia de teste:

▫ seleção de componentes de sistema;▫ características de qualidades a serem testadas;▫ cobertura dos testes.

▫ Nível de produtividade.

36

Page 37: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Análise de pontos de testes (APT)▫ O tamanho do sistema e as características de

qualidade determinam o volume de trabalho de testes que será realizado (pontos de testes).

▫ O tempo total para realizar um volume de testes predefinido é chamado de produtividade.

▫ Multiplicando os pontos de teste pela produtividade, tem-se a estimativa de testes em horas.

37

Page 38: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Análise de pontos de testes (APT)▫ Para tornar as estimativas mais eficazes, deve-se considerar

os seguintes fatores:▫ o grau de complexidade do processo de testes;▫ o nível de qualidade pretendida com os casos de testes;▫ o nível de envolvimento de usuários com os testes;▫ as interfaces entre funções testadas e arquivos;▫ a qualidade dos sistemas testados;▫ o nível de cobertura esperado com os testes;▫ a experiência e produtividade por parte da equipe de testes;▫ o grau de automação de testes;▫ a qualidade do ambiente de teste;▫ a capacidade do ambiente de testes de simular o ambiente real;▫ a qualidade da documentação do sistema e requisitos. 38

Page 39: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

39

Page 40: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Pontos de testes dinâmicos (PTD)▫ Os pontos necessários são calculados com base em:

▫ Número de pontos de função atribuídos à função;▫ Fatores de funções dependentes:

▫ complexidade;▫ interface;▫ importância do usuário;▫ intensidade de uso;▫ outros.

▫ Qualidade dos requisitos relacionados;▫ Ou seja: a soma de pontos de cada função é o

número de PTD40

Page 41: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Pontos de testes estáticos (PTE)▫ Os pontos necessários são calculados com base em:

▫ no número total de pontos de função;▫ na qualidade dos requisitos;▫ nas estratégias de testes estáticos.

41

Page 42: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Total de horas primárias (THP)▫ É obtido pela multiplicação de:

▫ número total de pontos de testes;▫ produtividade;

▫ Referem-se ao total de trabalho em fases primárias, as etapas são:▫ preparação;▫ especificação;▫ execução;▫ conclusão.

42

Page 43: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Número total de horas de testes▫ Adicionar os subsídios ao total de horas primárias

indica o total de horas de testes▫ subsídios: planejamento e o controle (fase de gerenciamento);▫ o tamanho dos subsídios depende do tamanho dos testes.

▫ Todas as atividades de teste requerem a estimativa do total de horas testadas.

43

Page 44: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Metodologiapara análise de

pontos de testes

Page 45: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Metodologia para análise de pontos de testes▫ Os projetos podem se enquadrar em quatro modelos

básicos:▫ Produção de caso de teste: ter um caso de teste bem definido;▫ Criação de script automatizado: automação de casos de testes;▫ Execução manual de testes: considera-se apenas o manual e os

defeitos encontrados;▫ Execução automatizada de testes: considera-se apenas o

automático e os problemas relatados.▫ O projeto possui a junção de, no mínimo, 2 modelos.

45

Page 46: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Metodologia para análise de pontos de testes▫ Para não se perder nos modelos, pode-se seguir

uma metodologia básica (baseada em casos de uso):▫ identificar casos de uso;▫ identificar casos de testes;▫ determinar pontos de teste para criação de casos de testes;▫ determinar pontos de teste para a automação;▫ determinar pontos de teste para a execução manual;▫ determinar pontos de teste para a execução automatizada;▫ determinar pontos totais de testes.

▫ Cada um dos itens requer alguns cálculos.46

Page 47: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Cálculo deesforço de teste

Page 48: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos de teste para criação de casos de testes▫ É preciso considerar a complexidade do caso de teste

48

Page 49: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos de teste para criação de casos de testes▫ O cálculo é realizado da seguinte forma:

Pontos de caso de teste = (n. de casos de testes simples * 6) + (n. de casos de testes médio * 8) + (n. de casos de

testes complexos * 12)

49

Page 50: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos de teste para a automação▫ Deve-se escolher quais testes serão automatizados

50

Page 51: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos de teste para a automação▫ O cálculo é realizado da seguinte forma:

Pontos de automação de caso de teste = (n. de casos de testes simples * 6) + (n. de casos de testes médio * 8) +

(n. de casos de testes complexos * 12)

51

Page 52: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos de teste para a execução manual e automática▫ Escolher quais fatores serão manuais ou automatizados

52

Page 53: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos de teste para a execução manual e automática▫ O cálculo é realizado da seguinte forma:

Pontos de teste para execução (manual/automatizada) = (n. de casos de testes simples * 6) + (n. de casos de

testes médio * 8) + (n. de casos de testes complexos * 12)

53

Page 54: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Determinar pontos totais de testes▫ Determinados:

▫ pontos de casos de testes (PCT);▫ pontos de automação de testes (PAT);▫ pontos de casos de testes para execução manual (PCT-EM);▫ pontos de casos de testes para execução automatizada (PCT-EA).

▫ Pontos de testes totais (PT), é calculado:PT = PCT + PAT + PCT-EM + PCT-EA

▫ Agora é possível obter o esforço de teste necessário.

54

Page 55: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Planosde Testes

Page 56: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Importância do planejamento▫ Planejar é importante em qualquer atividade do dia a

dia. Em testes de software não é diferente.▫ Seu planejamento funcionará como um mapa para

ajudar a alcançar os objetivos, lembrando onde deve chegar.▫ Mapas sempre ajudam a percorrer caminhos desconhecidos.

56

Page 57: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Importância do planejamento▫ O plano serve para reconhecer até onde você chegou

e o quanto falta para completar o projeto.▫ Para se fazer um plano, é necessário o conhecimento

do projeto e seu propósito:▫ Por que ele deve existir?▫ No que e como será útil?▫ Quem vai desenvolvê-lo?▫ Quais serão suas estratégias?▫ E seus planos?

57

Page 58: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Importância do planejamento▫ Um planejamento bem feito engloba 3 tipos de

atividades principais:▫ Cronograma de atividades

▫ Quais atividades devem ser realizadas? Quais etapas serão necessárias?▫ Qual a cronologia de atividades realizadas?▫ Quanto tempo para finalizar o projeto e cada etapa?

▫ Alocação de recursos▫ Quem realizará as tarefas? Quais ferramentas serão utilizadas?▫ Quais recursos serão necessários para a conclusão das etapas?

▫ Marcos de projeto▫ Qual o nosso objetivo em todo o projeto?▫ Qual o marco que pretendemos atingir em cada etapa?

58

Page 59: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Monitoração e supervisão▫ Monitorar e supervisionar o projeto estão em todas

as principais áreas do planejamento.▫ O planejamento traça caminhos, prevê recursos e esforços.▫ A monitoração verifica se está dentro das previsões.

▫ A união do planejamento e da monitoração responde sobre o andamento do projeto.

59

Page 60: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estrutura do plano de teste▫ O plano de teste é um documento com várias

funções. Algumas delas são:▫ Definir escopo dos testes;▫ Definir objetivo dos testes;▫ Identificar elementos contextualizados:

▫ requisitos, estratégias e recursos necessários

▫ O plano de teste integra diversas atividades de testes, é uma forma dos interessados entenderem o projeto e é um guia de execução e controle de todas as atividades de teste.

60

Page 61: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estrutura do plano de teste▫ É comum ter um responsável por criar o plano de

teste, o Gerente de testes.▫ Na ausência de um gerente de testes, pode ser

realizada pelo Gerente do projeto.▫ Lembrando: o plano de testes visa planejar as

atividades, estabelecer métricas e acompanhamento do processo de produção.

61

Page 62: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estrutura do plano de teste▫ O plano deve conter:

▫ Introdução▫ Identifica o projeto;▫ Apresenta definições, abreviações e referências;▫ Define o escopo;▫ Apresenta os objetivos.

▫ Conjunto de requisitos que serão testados▫ Apresentação de todos os tipos de testes usados▫ Definição das ferramentas utilizadas▫ Apresentação de todos os recursos utilizados▫ Cronograma de projeto

▫ Apresenta-se também os marcos.62

Page 63: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Estrutura do plano de teste▫ O plano deve conter:

▫ Introdução▫ Identifica o projeto;▫ Apresenta definições, abreviações e referências;▫ Define o escopo;▫ Apresenta os objetivos.

▫ Conjunto de requisitos que serão testados▫ Apresentação de todos os tipos de testes usados▫ Definição das ferramentas utilizadas▫ Apresentação de todos os recursos utilizados▫ Cronograma de projeto

▫ Apresenta-se também os marcos.63

Page 64: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Exemplos de planos de testes▫ Lembre-se: um plano de teste funciona como um

script ou guia, servindo para monitorar o andamento do projeto.

▫ Cada plano é único e varia de acordo o projeto.▫ A seguir, veremos um exemplo de plano de teste em

um modelo geral e mais aceito baseado no padrão IEEE829.

64

Page 65: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

65

Page 66: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

66

Page 67: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Exemplos de planos de testes▫ Duas considerações importantes:

▫ Na capa do plano, sempre informe o título do projeto e sua versão (1.0, 1.1, 2.4, etc)

▫ Planos de testes podem e devem sofrer alterações até sua versão final. Por isso, insira uma página, após a capa, com um histórico de versões e suas mudanças.

67

Page 68: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

68

Page 69: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Referências▫ Testes de software / organizador Pedro Henrique Cacique Braga. São

Paulo: Person Education do Brasil, 2016.▫ Plano de Teste - Um Mapa Essencial para Teste de Software. Revista

Engenharia de Software, 15 edição. Disponível em: https://www.devmedia.com.br/plano-de-teste-um-mapa-essencial-para-teste-de-software/13824. Acessado em 23 mar 2020.

69

Page 70: Testes de Software · 2020-06-11 · Testes dirigidos a dados (TDD) Graphical user interface Testes baseados em API 3. Agenda Introdução Estimativas de Testes Técnicas para estimativa

Exercícios▫ Responder exercícios de fixação da página 117 do

livro de Testes de software.▫ Ler o panorama da página 118 e responder o

exercício.

70