teste de software - rosefib.webnode.com.br 2... · atividades de teste 4 “uma solução para não...

32
Teste de Software Rosemary Silveira Filgueiras Melo [email protected] 1 Planejamento de Teste

Upload: dangdan

Post on 04-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Teste de Software

Rosemary Silveira Filgueiras Melo

[email protected]

1

Planejamento de Teste

Agenda

Atividades de Teste

Conceitos importante no Contexto de Teste

Abordagem de Teste

2

Atividades de Teste

3

“ O objetivo da atividade de teste é encontrar defeitos e nunca afirmar que os sistemas não tem defeito”

Atividades de Teste

4

“Uma solução para não se ter problema no software é testar todas as possibilidades ? ”

“Quanto tempo levaria para executar este teste exaustivo ?”

Exemplo : É possível testar para todos os possíveis valores inteiros de “j” ?

j varia entre -32768 e 32767 necessário realizar 65536 testes

Atividades de Teste

5

Na prática não se consegue testar completamente um programa nem garantir que ele esteja livre de defeitos

Quase impossível testar todas as possibilidades

Sistemas Críticos chegam perto do ideal

Custo muito alto

Solução: Aplicar os critérios de teste para ajudar a definir melhor os casos de teste e os dados de entrada a fim de encontrar defeito.

Conceitos importantes no Contexto de Teste

6

Plano de Teste

Casos de Teste

Cenário de Teste

Plano de teste

7

Documento com as definições do planejamento de testes

Baseado nos requisitos da aplicação e nos requisitos do teste

Importantes porque

Documenta o projeto de teste

Permite que testes possam ser repetidos

Sempre que houver modificação

Controlados

Controlar a execução do plano

Define o nível de cobertura a ser alcançado

Impossível testar tudo então, cobrir partes críticas do sistema

8

Itens do Plano de Teste(Modelo PMBOK)

Plano de teste IEEE 829

Escopo • define o que será coberto pelos testes

Custo •Métricas

Tempo •Cronograma

Qualidade •Abordagens dos testes

Integração •Ambiente de teste

Recursos humanos •Pessoal•Responsabilidades

Comunicação •Entregas

Riscos •Riscos do processo de teste•Plano de riscos e contingências

Suprimentos •Ferramentas de teste

Modelo PMBOK e a proposta de plano da IEEE

Plano de teste

Itens do Plano de teste

9

Escopo

o que será coberto pelo teste

requisitos

Interface com o outros softwares, componentes, elementos da rede que possam afetar o projeto

Custo

Usar métrica para medir o tamanho do projeto

Métricas de teste

ex.: pontos de casos de teste

Tempo

Ligado também ao tamanho do projeto

Itens do Plano de teste

10

Qualidade

Abordagem de teste

Integração

Com o projeto de desenvolvimento

Recursos humanos

Quantidade de homem/hora necessária

Comunicação

Reuniões de controle, relatórios de progresso

Itens do Plano de teste

11

Riscos

Não misturar os riscos do projeto de teste com os riscos do negócio

Ex.: uso de uma ferramenta de automação que o testador não conheça

Suprimentos

Compra de ferramentas, etc.

Endereços de templates com plano de testes:

www.stickminds.com

Outra referência de plano de teste está em IEEE 829-1998

Casos de Teste

12

O que é Casos de Teste ?

Sequência de passos que devem ser executados no sistema,sendo que os dados de entrada e saída esperado para cadapasso são especificadas.

Objetivo dos Casos de Teste

Direcionar as ações do testador em uma determinadafuncionalidade para que ele observe se o resultado obtido emcada passo, equivale ao resultado esperado de acordo com os

requisitos.

Itens do Caso de Teste

13

A norma (IEEE 829-2008, 2008) menciona que um caso de teste deve conter:

Item Descrição1.

1. Identificador do Caso de Teste Número único de identificação do caso de teste

2. Objetivo do Caso de Teste Indicar o objetivo do caso de teste

3. Entradas Todas as entradas consideradas no caso de teste

4. Saídas Saídas esperadas de acordo com as entradas indicadas na execução dos testes

5. Ambientes necessários Ambiente de hardware e software que deve ser montado para execução do Caso de teste em questão

Itens do Caso de Teste

14

A norma (IEEE 829-2008, 2008) menciona que um caso de teste deve conter:

Item Descrição1.

6. Procedimentos especiais para execução do Caso de Teste

Especifica o que deve ser testado e a forma que o teste deve ser executado.

7. Dependência com outros Casos de Teste

Especificar casos de teste relacionados

Exemplo de Caso de Teste

15

Item Descrição

1. Identificação do Caso de Teste Caso de Teste 1 Função: exemplo_simples (slide 4)

2. Objetivo do Caso de Teste Verificar se entradas negativas são possíveis

3. Entradas - 30000

4. Saídas 0,99

5. Ambientes necessários Nenhum

6. Procedimentos especiais para execução do Caso de Teste

Nenhum

7. Dependência com outros Casos de Teste

Nenhum

Exemplo 1:

Exemplo de Caso de Teste

16

Item Descrição

1. Identificação do Caso de Teste

Caso de Teste 2 - Login

2. Objetivo do Caso de Teste Verificar login inválido

3. Entradas E1 – selecione no ícone do aplicativoE2- insira um email inválido, sem o @ (ex.: professor.gmail.com) e selecione nextE3 – selecione OK na mensagem

4. Saídas S1- o aplicativo deve exibir a tela de loginS2 – o aplicativo deve deixar a borda do campo login em vermelho e exibir a mensagem “Por favor, digite um login válido”S3 – o cursor de digitação deve estar no campo login e o usuário poderá corrigir o login anterior

Exemplo 2:

Exemplo de Caso de Teste

17

Item Descrição

5. Ambientes necessários Smartphone com aplicativo instalado

6. Procedimentos especiais para execução do Caso de Teste

Nenhum

7. Dependência com outros Casos de Teste

Nenhuma (não é necessário realizar nenhuma ação antes para realizar o login)

Exemplo 2:

Cenário de Teste

18

O que é Cenário de Teste ?

Conjunto de Casos de teste relacionados que testam mesmocomponente ou mesma funcionalidade do sistema.

Objetivos do Cenário de Teste

úteis para o teste de regressão de modo a garantir que asnovas funcionalidades não inseriram defeito nas antigas.

Revalidar mudanças nos casos de teste

Treinar novos testadores e pessoas que darão suporte aosistema.

Declaração de Defeito

19

um defeito ao ser identificado deve ser registrado parapermitir que a equipe de desenvolvimento possaidentificar o defeito e eliminá-lo.

A forma de reportar defeito depende muito de padrõesdefinidos pela empresa ou das ferramentas utilizadas paragerenciar atividade de teste.

Exemplo de ferramentas de teste: Jira e Zephyr daAtlassian, Bugzilla ou Testlink

Declaração de Defeito

20

Modelo para Reportar Defeito

Item Descrição1.

1. Identificador do defeito Identificador único para facilitar a localização e comunicação

2. Descrição do defeito Descrição sucinta do defeito encontrado

3. Versão do produto Versão do produto que o defeito foi encontrado

4. Passos detalhados Descrição dos passos realizados no sistema, incluindo os dados utilizados para encontrar o defeito

5. Data de reporte do defeito Facilitar o gerenciamento

6- Identificação do reportador Testador que identificou o erro

7-Status Situação atual do defeito.Exemplo de possíveis status: novo/aberto, designado, em verificação, resolvido, fechado, etc.

Declaração de Defeito

21

Modelo para Reportar DefeitoItem Descrição1.

8-Identificação do responsável pela correção

Nome do desenvolvedor que corrigiu o defeito

9 – Data de encerramento Data que o defeito foi dado como inexistente

10- Severidade Indica o grau de gravidade do defeitoEx.: bloqueia a versão, crítico, pequeno

11- Prioridade Prioridade em corrigir o defeito: alta, média e baixa.

Abordagem de teste

Definição:

Nível de teste

Técnica de teste a ser aplicada

Critério de teste a ser utilizado

Tipo de teste a ser aplicado no software

22

Identifica as fases em que o teste será aplicado

Teste de unidade

Relacionado ao teste dos módulos do sistema

Teste de integração

Integração entre os módulos

Teste de sistema

Atendimento dos requisitos funcionais e não funcionais

Teste de aceitação

Aceitação do usuário

Teste de regressão

Aplicados na fase de manutenção 23

Definição da abordagem de testeNível de teste

Foco nas menores unidades do programa Funções, procedimentos, métodos ou classes

Espera-se encontrar erros relacionados a : Algoritmos incorretos

Estruturas de dados incorretas

Erros de programação

24

Definição da abordagem de testeNível de teste – Teste de Unidade

Cada unidade é testada separadamente

Aplicado a medida que é implementado

Aplicado pelo desenvolvedor

Não demanda que o sistema esteja completamente pronto

25

Definição da abordagem de testeNível de teste – Teste de Unidade

Realizado após o teste de unidade

Ênfase na construção da estrutura do sistema

Verifica se a integração entre as unidades funciona

Necessário conhecimento sobre as estruturas internas e sobre as interações entre as partes

Em geral executado pela equipe de desenvolvimento

26

Definição da abordagem de testeNível de teste – Teste de Integração

Após as partes terem sido integradas

Verificar se as funcionalidades dos requisitos estão implementadas corretamente

Explorar coesão, completude, requisitos não funcionais, segurança, performance ...

Equipes diferentes podem ser designadas para realizar o teste

27

Definição da abordagem de testeNível de teste – Teste de Sistema

Executado pelo usuário

Valida se o software faz o que foi pedido

28

Definição da abordagem de testeNível de teste – Teste de aceitação

Realizado durante a manutenção do software

Após as modificações

Avalia se a mudança funciona como esperado e se os requisitos anteriores continuam válidos

29

Definição da abordagem de testeNível de teste – Teste de Regressão

Depende da fase do desenvolvimento e direciona a escolha dos critérios para geração dos casos de teste

Teste estrutural

Adota critérios com a finalidade de encontrar defeitos nas estruturas internas do software

Teste funcional

Adota critérios com a finalidade de garantir que os requisitos sejam atendidos

Ao se adotar uma técnica escolhe-se um critério a ser usado para gerar os casos de teste

30

Definição da abordagem de testeTécnica de teste

Características do software que poderão ser testados

Teste de Funcionalidade

Teste de Interface

Teste de Desempenho

Teste de Carga (Stress)

Teste de Usabilidade

Teste de Volume

Teste de Segurança31

Definição da abordagem de testeTipos de teste

32

Relação Nível x Técnica x Tipo de teste

(Crespo A. et al, 2005)