Processo de Teste de Software - Monografia

78
UnicenP – Centro Universitário Positivo Pós-Graduação em Engenharia de Software Rodrigo Augusto Kammers O PROCESSO DE TESTE E AS ATIVIDADES ENVOLVIDAS EM CADA FASE

description

Monografia apresentada ao curso de Engenharia de Software do Centro Universitário Positivo, sobre Teste de Software, como requisito parcial para a conclusão do curso de pós-graduação. Orientador: Prof. Douglas Mendes 2006 Rodrigo Kammers - Trabalho como coodenador de projetos de Testes de Software à 6 anos na Positivo Infomática.

Transcript of Processo de Teste de Software - Monografia

Page 1: Processo de Teste de Software - Monografia

UnicenP – Centro Universitário Positivo

Pós-Graduação em Engenharia de Software

Rodrigo Augusto Kammers

O PROCESSO DE TESTE E AS ATIVIDADES ENVOLVIDAS EM

CADA FASE

CURITIBA

2006

Page 2: Processo de Teste de Software - Monografia

Rodrigo Augusto Kammers

Monografia apresentada ao curso de Engenharia

de Software do Centro Universitário Positivo,

sobre Teste de Software, como requisito parcial

para a conclusão do curso de pós-graduação.

Orientador: Prof. Douglas Mendes

CURITIBA

2006

2

Page 3: Processo de Teste de Software - Monografia

Rodrigo Augusto Kammers

Entendendo o processo de teste de software e as atividades envolvidas em cada

fase.

Monografia apresentada ao curso de Engenharia de Software do Centro

Universitário Positivo, sobre Teste de Software, como requisito parcial para a

conclusão do curso de pós-graduação.

Unicenp – 2006

______________________________________

Prof. Douglas Mendes

______________________________________

Prof. Silvio Bortoleto

3

Page 4: Processo de Teste de Software - Monografia

RESUMO

Esta proposta de monografia propõe-se a descrever as fases do processo de

teste e as atividades envolvidas.

Através da apresentação dos problemas e dificuldades geradas pelo não uso

de uma metodologia de testes, mostra-se a necessidade de se estudar e entender o

processo.

Para iniciar o trabalho serão definidos os conceitos de qualidade e testes.

Após isto serão especificadas as etapas e subetapas do processo. E para cada

subetapa, serão identificadas as atividades necessárias para alcançar os objetivos.

Palavras-chave: Teste de Software, Qualidade, Metodologia e Processo de Teste.

4

Page 5: Processo de Teste de Software - Monografia

SUMÁRIO

1. INTRODUÇÃO........................................................................................................9

1.1 TEMA.................................................................................................................9

1.2 PROBLEMA.......................................................................................................9

1.3 OBJETIVOS.....................................................................................................10

1.3.1 Objetivo geral...........................................................................................10

1.3.2 Objetivos específicos..............................................................................11

1.4 ETAPAS...........................................................................................................13

1.5 RESULTADOS ESPERADOS..........................................................................13

2. REVISÃO DA LITERATURA.................................................................................14

2.1 QUALIDADE DE SOFTWARE.........................................................................14

2.2 TESTE DE SOFTWARE..................................................................................14

2.3 IMPORTÂNCIA DOS TESTES.........................................................................15

2.4 CUSTO DOS TESTES.....................................................................................16

2.5 SELEÇÃO DO CONJUNTO DE TESTES........................................................16

2.6 DIMENSÕES DO TESTE.................................................................................17

2.6.1 Fases do teste..........................................................................................18

2.6.1.1 Teste de Unidade................................................................................18

2.6.1.2 Teste de Integração............................................................................18

2.6.1.3 Teste de Sistema................................................................................18

2.6.1.4 Teste de Aceitação.............................................................................18

2.6.2 Tipos de teste...........................................................................................19

2.6.2.1 Características da qualidade...............................................................19

2.6.2.2 Tipos de testes....................................................................................19

2.6.3 Técnicas de teste.....................................................................................21

2.6.3.1 Técnicas Funcionais...........................................................................21

2.6.3.2 Técnicas Estruturais............................................................................22

3. METODOLOGIA....................................................................................................23

4. APRESENTAÇÃO DOS RESULTADOS..............................................................24

4.1 PROCESSO DE TESTE DE SOFTWARE.......................................................24

4.2 DESCRIÇÃO DAS ETAPAS DE TESTE..........................................................25

5

Page 6: Processo de Teste de Software - Monografia

4.2.1 Procedimentos iniciais............................................................................25

4.2.1.1 Elaborar o Guia Operacional de Testes..............................................25

4.2.2 Planejamento...........................................................................................26

4.2.2.1 Elaborar o Plano de Testes.................................................................26

4.2.2.2 Elaborar o projeto de testes................................................................27

4.2.3 Preparação...............................................................................................28

4.2.3.1 Adequar o projeto de testes à Gerência de Configuração e/ou de

controle de mudanças.....................................................................................28

4.2.3.2 Disponibilizar infra-estrutura e ferramentas de teste...........................28

4.2.3.3 Disponibilizar pessoal.........................................................................29

4.2.4 Especificação...........................................................................................30

4.2.4.1 Elaborar casos de testes.....................................................................30

4.2.4.2 Elaborar Roteiros de Teste.................................................................30

4.2.5 Execução..................................................................................................31

4.2.5.1 Preparar dados de testes....................................................................31

4.2.5.2 Executar testes...................................................................................32

4.2.5.3 Solucionar ocorrências de testes........................................................32

4.2.5.4 Acompanhar a execução dos casos de testes....................................33

4.2.5.5 Elaborar relatório final.........................................................................33

4.2.6 Entrega.....................................................................................................34

4.2.6.1 Avaliação e Arquivamento da Documentação....................................34

4.3 ALINHAMENTO COM O PROCESSO DE DESENVOLVIMENTO..................35

5. DISCUSSÃO DOS RESULTADOS.......................................................................37

6. CONCLUSÃO........................................................................................................39

6.1 SÍNTESE DO PROJETO..................................................................................39

6.2 CONTRIBUIÇÕES...........................................................................................39

6.3 LIMITAÇÕES...................................................................................................39

6.4 PESQUISAS FUTURAS...................................................................................40

6

Page 7: Processo de Teste de Software - Monografia

7. REFERÊNCIAS.....................................................................................................41

ANEXO 1 – DOCUMENTOS DE TESTE SEGUNDO A NORMA IEEE STD 829-1998

...................................................................................................................................42

ANEXO 2 - CARACTERÍSTICAS E SUBCARACTERÍSTICAS SEGUNDO A

ISO/IEC 9126-1.........................................................................................................45

ANEXO 3 – MODELO DE PLANO DE TESTE.........................................................47

ANEXO 4 - MODELO DE PROJETO DE TESTE......................................................51

ANEXO 5 - MODELO DE CASOS DE TESTE..........................................................52

ANEXO 6 – MODELO DE PROCEDIMENTOS DE TESTE......................................53

ANEXO 7 - MODELO DE ENCAMINHAMENTO DE ITEM DE TESTE....................54

ANEXO 8 - MODELO DE DIÁRIO DE TESTE..........................................................55

ANEXO 9 - MODELO DE RELATÓRIO DE INCIDENTE DE TESTE.......................57

ANEXO 10 - MODELO DE RELATÓRIO RESUMO DE TESTE...............................58

Anexo 11 – guia operacional de teste........................................................................59

7

Page 8: Processo de Teste de Software - Monografia

LISTA DE FIGURAS

Figura 1 – Custo do teste mais o custo da falha .......................................................16

Figura 2 – Relação entre níveis, tipos e técnicas de teste ........................................18

Figura 3 – Processo de desenvolvimento e processo de teste .................................38

8

Page 9: Processo de Teste de Software - Monografia

1. INTRODUÇÃO

1.1 TEMA

Este trabalho tem como tema o processo de teste de software e as atividades

envolvidas em cada fase.

Assim como as fases de um projeto, o processo de teste é executado por

etapas; que se iniciam com um planejamento e se estendem até a avaliação dos

resultados. Cada uma das etapas compreende um conjunto de atividades, que

devem ser gerenciadas para que no final do processo sejam alcançados os objetivos

esperados.

Conforme os sistemas se tornam mais complexos e cruciais para a empresa,

aumenta a importância de um teste eficaz. Vimos que década após década (70 a

90) aumenta a participação do teste no total dos esforços de um projeto. As

atividades de teste que antes eram executadas apenas na última fase de um projeto,

agora atuam a partir do momento em que ele possua requisitos.

Ao observar a importância e complexidade das atividades envolvidas no teste,

vimos a necessidade do uso de uma metodologia para gerir este processo.

Este trabalho visa à elaboração de uma monografia, onde serão descritas as

fases do processo de teste de software e as atividades envolvidas.

1.2 PROBLEMA

O processo de teste de um software é visto como uma tarefa secundária, de

pouca importância. Visto que suas atividades parecem não agregar valor ao projeto

em questão, para muitos ainda é tratado como um mal necessário, para provar ao

cliente que o produto funciona.

Após analisar as combinações de entradas de dados e plataformas

disponíveis, e criarmos os casos de teste, chegamos a números grandes demais.

Que tornam a tarefa de testar um software 100% praticamente impossível.

Esta análise piora ainda mais a imagem das tarefas de teste, que além de não

adicionar nenhuma funcionalidade a um sistema não garante ao cliente que o

software está livre de defeitos.

9

Page 10: Processo de Teste de Software - Monografia

Através da engenharia de software, e aplicando-se uma metodologia de

testes formal, conseguimos fazer com que a execução das atividades de teste seja

eficaz. Encontrando o maior número de defeitos possível antes do usuário final.

Melhorando a satisfação dos clientes e reduzindo os custos com manutenção e

correção dos erros após a finalização do projeto.

Sem a utilização de um processo formal, fica mais difícil treinar as pessoas da

área de teste adequadamente. A comunicação entre o setor de testes e as outras

áreas da equipe de desenvolvimento fica deficiente. Dificultando a visibilidade da

responsabilidade de cada um sobre a qualidade do produto final do produto.

Quando não se usa uma metodologia formal, as tarefas de teste são

esquecidas, e a tendência é a de serem executadas somente na fase final do

projeto. Mas quando o processo de teste integra-se ao processo de

desenvolvimento, atuando logo nas etapas iniciais do projeto, vários problemas já

podem ser detectados e corrigidos antes mesmo do início da implementação do

código.

1.3 OBJETIVOS

1.3.1 Objetivo geral

O objetivo principal deste trabalho é o de descrever as etapas do processo de

teste juntamente com as atividades envolvidas. Dando uma ênfase maior as

atividades mais relevantes de cada fase.

As etapas do processo de teste são:

Procedimentos iniciais

Planejamento

Preparação

Especificação

Execução

Entrega

No final da descrição do processo, será feito um paralelo das atividades de

teste com as fases de desenvolvimento. E quando for necessária uma descrição

10

Page 11: Processo de Teste de Software - Monografia

mais detalhada das ferramentas, metodologias, modelos de documentos, ou outro

artigo, estes serão acrescentados ao final do projeto por meio de anexos.

1.3.2 Objetivos específicos

Antes de entrar na descrição do processo de teste, serão abordados temas

referentes à qualidade e definição de teste.

Lista dos itens a serem abordados na introdução:

O que é Qualidade?

O que é teste?

Importância do teste

Custos do teste versus custo de correção dos erros

Tipos de testes

Teste unitário

Teste de integração

Teste de sistema

Teste de aceitação

Técnicas de teste

Caixa branca

Caixa preta

Tipos de teste

Qualidade

Performance

Usabilidade...

Para cada subetapa, serão levantadas as atividades que levam a criação do

produto a que ela se destina. Abaixo temos algumas tabelas que definem as

subetapas, e quais produtos devem ser criados em cada uma destas fases.

1 - Procedimentos iniciais

Subetapa Produto

11

Page 12: Processo de Teste de Software - Monografia

Elaborar o Guia Operacional de

Testes

Guia Operacional de teste

2 - Planejamento

Subetapa Produto

Estabelecer Plano de Testes Plano de testes – nova versão

Análise de Riscos do Projetos de Testes

Estabelecer Projeto de teste Projeto de teste

3 - Preparação

Subetapa Produto

Adequar o projeto de testes à

Gerência de Configuração e/ou de

controle de mudanças

Registro e controle das diversas versões

do produto:funcional, desenvolvimento,

produto e operacional

Disponibilizar infra-estrutura e

ferramentas de teste

Infra-estrutura e ferramentas de teste

disponíveis para a equipe de testes

Disponibilizar pessoal Equipe de testes definida e capacitada

4 - Especificação

Subetapa Produto

Elaborar casos de testes Casos de Testes(atual e nova versão)

“Scripts” de testes(se usar ferramentas de

automação)

Especificação das necessidades de

dados de testes

Elaborar Roteiros de Teste Roteiros de testes

5 - Execução

Subetapa Produto

Preparar dados de testes Bases/Arquivos de teste disponíveis

Executar testes Resultado dos testes

Relatório de defeitos encontrados

Ajustes no material de testes

12

Page 13: Processo de Teste de Software - Monografia

Solucionar ocorrências de testes Relatório de defeitos encontrados com

status resolvido ou a avaliar

Acompanhar a execução dos

casos de testes

Análise do andamento dos Casos de

Testes

Elaborar relatório final Relatório final dos testes

6 - Entrega

Subetapa Produto

Avaliação e Arquivamento da

Documentação

Relatórios de não conformidade

Relatório final de testes

Documentação arquivada

1.4 ETAPAS

Para entender estes objetivos, este projeto está composto pelas seguintes

etapas:

- Esta introdução, onde se apresenta o tema, problema e objetivos;

- A revisão da literatura, onde se examinam os conceitos ligados a qualidade

e ao teste de software;

- A metodologia utilizada neste trabalho;

- O desenvolvimento do trabalho, que consiste na apresentação das etapas

do teste de software e as atividades envolvidas;

- A discussão dos resultados, onde comparamos a teoria com a prática vivida

pelo autor;

- A conclusão, onde se revê o caminho percorrido neste trabalho e são

sugeridos temas futuros.

1.5 RESULTADOS ESPERADOS

Após a conclusão deste trabalho, espera-se com o documento final, alcançar

os seguintes objetivos:

13

Page 14: Processo de Teste de Software - Monografia

Tornar-se uma referência para a estruturação dos processos de um

setor de testes.

Demonstrar para a organização, a importância das atividades de teste.

Demonstrar para a organização, a economia de manutenção gerada

devido a descoberta de defeitos através da atividade de teste.

Contribuir para o processo de formação de mão de obra especializada

2. REVISÃO DA LITERATURA

2.1 QUALIDADE DE SOFTWARE

Na década de 80, iniciou-se uma abordagem da área da qualidade que visa à

melhoria do processo. Segundo este conceito, a qualidade de um produto ou

serviço, somente pode ser assegurada através da qualidade do processo.

Nessa abordagem, o objetivo é controlar a produção e eliminar a introdução

de elementos que possam gerar não conformidade ao produto final.

Para o desenvolvimento de software, metodologias como o CMMI, PSP e o

TSP colaboraram para assegurar a qualidade do software. E dentro destas

metodologias existem atividades de teste que contribuem na garantia da qualidade

do produto.

E as atividades de teste têm conquistado bastante espaço e autonomia dentro

das organizações. E à medida que se tornam mais complexas, necessitam de

metodologias específicas para que seus processos sejam executados plenamente. E

é neste ponto onde a qualidade do processo de teste se reflete na qualidade do

produto final de software.

2.2 TESTE DE SOFTWARE

Existem varias definições para teste de software, entre elas podemos

destacar as seguintes:

É o processo de executar um programa ou sistema com a intenção de

encontrar defeitos (Glen Meyers).

14

Page 15: Processo de Teste de Software - Monografia

Qualquer atividade que a partir da avaliação de um atributo ou capacidade de

um sistema seja possível determinar se ele alcança os resultados desejados

(Bill Hetzel).

O processo de operação de um sistema ou componente em específicas

condições, observando ou registrando os resultados, e fazendo uma

avaliação em alguns aspectos do sistema ou componente (IEEE).

Na prática, podemos definir o teste como o processo de executar um

programa, utilizando-o completamente e de todas as formas possíveis, a fim de

verificar se ele atende aos requisitos especificados. E tendo como objetivo principal

descobrir defeitos antes que o software seja liberado para o cliente final.

Desta forma, vimos que o teste contribui na satisfação do cliente,

assegurando que o produto entregue chegue com a qualidade esperada. E dentro

da organização, garantindo que os padrões internos sejam cumpridos, reduzindo

assim o custo com re-trabalho após cada fase onde o teste é aplicado.

2.3 IMPORTÂNCIA DOS TESTES.

Além de contribuir para a qualidade do software, o teste tem um papel

fundamento na diminuição dos custos de manutenção e correção do produto.

Segundo Ron Patton, no seu livro Software Testing, os custos para a correção

de um problema aumentam exponencialmente no decorrer do projeto. Quanto mais

tarde for detectado um erro, menor é a chance de existir uma solução viável; que

cause pouco impacto, utilize poucos recursos e se adapte ao tempo disponível.

Por exemplo, um erro que seja identificado logo após a fase de definição de

requisitos, pode ter como correção apenas alguns ajustes na documentação dos

requisitos e no planejamento do projeto. Se este mesmo erro for detectado somente

após a finalização da etapa de implementação, pode ter como conseqüência a

mudança de toda a arquitetura deste produto.

2.4 CUSTO DOS TESTES

15

Page 16: Processo de Teste de Software - Monografia

Vimos que o teste contribui bastante na diminuição dos custos diretos, como

manutenção, suporte e re-trabalho. E também nos custos indiretos, como na

qualidade dos produtos e na satisfação dos clientes. Mas como podemos decidir

quanto devemos investir no teste para que tenhamos o máximo de retorno possível?

Já concluímos que por mais testes que façamos sempre estaremos sujeitos

ao aparecimento de uma falha no produto. Mas quanto mais investimos no teste,

menor será o custo da utilizado para a manutenção. Podemos notar com isso o

aparecimento de um custo total. Este valor total representa a soma do investimento

feito nos testes com aqueles que serão empregados na manutenção e correção.

Se traçarmos um gráfico deste custo total (figura 1), e se conseguirmos na

prática atingir o seu ponto de menor valor, teremos então alcançado o ponto onde a

relação custo benefício mais nos favorece.

Figura 1 – Custo do teste mais o custo da falha

2.5 SELEÇÃO DO CONJUNTO DE TESTES

Quando um produto é enviado para ser testado, uma difícil tarefa durante o

planejamento é a de decidir quais os testes que serão realizados. Dentro de uma

quantidade de tipos de testes e uma variedade de configurações de ambiente

possíveis, podemos chegar à conclusão de que a execução do teste poderá se

tornar custosa demais, ou até extrapolar as datas de finalização do projeto.

Para determinar os testes que serão executados, e quais não, podemos

utilizar como fator de decisão, uma análise de riscos com seus respectivos impactos,

relacionados a cada teste levantado. Uma ferramenta de qualidade que sugerimos

para auxiliar nesta escolha é a matriz GUT.

16

Page 17: Processo de Teste de Software - Monografia

Para definir as prioridades, utilizando a matriz GUT, são definidos valores

para os indicadores de gravidade, urgência e tendência. Para indicar o peso de cada

um destes itens, são utilizadas algumas perguntas chave. Tendo isto, basta

multiplicar para cada item o peso de seus indicadores. Quanto maior o valor maior

será a prioridade de execução deste teste.

Indicador Descrição Perguntas e pesosGravidade Aquilo que afeta

profundamente o resultado. È o dano causado caso o teste não seja executado

O dano é extremamente importante? (5) O dano é muito importante? (4) O dano é importante? (3) O dano é relativamente importante? (2) O dano é pouco importante? (1)

Urgência Pressão do tempo que o sistema sofre. Define qual a importância de se fazer este teste no momento atual.

Tenho que tomar uma ação muito urgente? (5) Tenho que tomar uma ação urgente? (4) Tenho que tomar uma ação relativamente urgente?

(3) Posso aguardar? (2) Não há pressa? (1)

Tendência É o estado que a situação pode apresentar, caso não seja tomada nenhuma medida corretiva. Indica a tendência do erro se agravar com o passar do tempo, caso ele ocorra.

Se não fizer nada, a situação vai piorar muito? (5) Se não fizer nada, a situação vai piorar? (4) Se não fizer nada, a situação vai permanecer? (3) Se não fizer nada, a situação vai melhorar? (2) Se não fizer nada, a situação vai melhorar muito?

(1)

2.6 DIMENSÕES DO TESTE

Para entender as diversas fases e tipos de testes, podemos visualizá-lo em

três dimensões. Sendo que cada uma destas dimensões representa uma de

classificação do testes.

Estas classificações são aplicadas segundo estas visões:

Fase de desenvolvimento – relaciona o teste com a fase de

desenvolvimento onde ele é aplicado.

Tipo de teste – relaciona o teste à característica de qualidade que está

sendo avaliada.

Técnica de teste – são as técnicas utilizadas para se executar o teste.

A figura abaixo nos mostra os níveis de testes com seus tipos associados.

17

Page 18: Processo de Teste de Software - Monografia

Cenpra - Figura 2 – Relação entre níveis, tipos e técnicas de teste

2.6.1 Fases do teste

2.6.1.1 Teste de Unidade

Este é o estágio mais baixo da escala de testes e são aplicados nos menores

componentes de código criados. São aplicados de maneira individual a cada

unidade do sistema. Utiliza as técnicas de teste de caixa branca para a sua

execução, e normalmente é realizado pelo próprio programador;

2.6.1.2 Teste de Integração

È o processo de verificar a interação entre os componentes. Para que esta

fase seja executada, os módulos já devem ter passado pelos testes unitários. Será

dado mais ênfase à interface entre os módulos que estão sendo analisados.

2.6.1.3 Teste de Sistema

Nesta etapa o software é testado por completo. Os teste que são aplicados

são do tipo caixa-preta. Nesta fase se verifica a conformidade com os requisitos,

simulando um ambiente de produção real.

2.6.1.4 Teste de Aceitação

18

Page 19: Processo de Teste de Software - Monografia

Os testes de aceitação, também chamados de teste Alfa e Beta, são

realizados para permitir ao usuário final validar todos os requisitos. Nesta fase o

cliente confirma se todas as suas necessidades foram atendidas pelo sistema.

2.6.2 Tipos de teste

A classificação dos tipos de teste é feita tendo como referência a

característica de qualidade que se deseja alcançar. Existem testes específicos para

se atingir cada uma das características relacionadas pela norma ISO/IEC 9126-1.

2.6.2.1 Características da qualidade

Na tabela abaixo, são mostrados os tipos de características de qualidade e

sua descrição.

Característica Descrição

Funcionalidade

Evidenciar que o conjunto de funções atende às

necessidades explícitas e implícitas para a finalidade

a que se destina o produto.

Confiabilidade

Evidenciar que o desempenho se mantém ao longo

do tempo e em condições estabelecidas.

Usabilidade Evidenciar a facilidade para a utilização do software

Manutenibilidade

Evidenciar que há facilidade para correções,

atualizações e alterações.

Portabilidade

Evidenciar que é possível utilizar o produto em

diversas plataformas com pequeno esforço de

adaptação.

2.6.2.2 Tipos de testes

A quantidade de tipos de teste existente é bastante grande. E tem um

relacionamento direto com o tipo produto de software que esta sendo testado, e com

19

Page 20: Processo de Teste de Software - Monografia

o ambiente onde será utilizado. Abaixo relacionamos os tipos de testes mais

freqüentemente utilizados:

Testes de Carga: visam avaliar a resposta de um software sob uma

pesada carga de dados, repetição de certas ações de entrada de dados,

entrada de valores numéricos grandes, consultas complexas a base de

dados, grande quantidades de usuários simultâneos para verificar o nível

de escalabilidade.

Testes Back-to-back: o mesmo teste executado em versões diferentes do

software e os resultados são comparados.

Testes de Configuração: verificam se o software está apto a funcionar

em diferentes versões ou configurações de ambientes (hardware e

software).

Testes de Usabilidade: verificam o nível de facilidade de uso do software

pelos usuários.

Testes de Instalação: verificam o processo de instalação parcial, total ou

atualização do software.

Testes de Segurança: validam a capacidade de proteção do software

contra acessos interno ou externo não autorizados.

Testes de Recuperação: validam a capacidade e qualidade da

recuperação do software após falhas de hardware ou problemas externos.

Testes de Compatibilidade: validam a capacidade do software de

executar em um particular ambiente de hardware/software/sistema

operacional ou rede.

Testes de Desempenho/Performance: visam garantir que o sistema

atende os níveis de desempenho e tempo de resposta acordados com

usuários e definidos nos requisitos.

Testes Funcionais: grupos de testes que validam se o que foi

especificado foi implementado.

Teste de Qualidade de Código: grupos de testes com o intuito de

verificar o código fonte dos programas em consonância com padrões,

melhores práticas, instruções não executadas e outros.

Testes de Alterações: visam rastrear alterações de programas durante o

processo de teste.

20

Page 21: Processo de Teste de Software - Monografia

Testes de Recuperações de Versões: verificam a capacidade de retornar

a uma versão anterior do software.

Testes de Interoperabilidade: avaliam as condições de integração com

outros softwares e /ou ambientes.

Testes de Sobrevivência: avaliam a capacidade do software em

continuar operando mesmo quando algum elemento (software ou

hardware) fica inoperante ou para de funcionar.

Testes Estéticos: avaliam toda a documentação do projeto, tais como

modelos, requisitos, etc.

Teste Embutido: avalia a capacidade de integração entre o hardware e o

software.

Teste de Conferência de Arquivos: verificam alterações nos arquivos

usados.

Testes Alfa: são executados quando o desenvolvimento está próximo a

sua conclusão.

Testes Beta: são executados quando o desenvolvimento e testes estão

praticamente concluídos.

Teste de Verificação de Sites Web: verificam problemas que possam

haver no site como links inválidos, arquivos órfãos, ligações entre páginas

(Molinari, 2003).

2.6.3 Técnicas de teste

2.6.3.1 Técnicas Funcionais

Os testes funcionais têm por objetivo a verificação da entrada dos dados, do

processamento, e da resposta a este processamento. Através destes métodos

também são verificados se o sistema atende aos requisitos de negócio. Estes

métodos são do tipo caixa-preta.

Alguns exemplos destes tipos de teste são:

Teste baseado em casos de uso

Valores limites

21

Page 22: Processo de Teste de Software - Monografia

Particionamento de equivalência

2.6.3.2 Técnicas Estruturais

Estas técnicas têm por objetivo determinar defeitos na estrutura interna ou no

código do software. Também são chamadas de teste de caixa-branca, e são

normalmente feitas pelos programadores na fase dos testes de unidades.

Alguns exemplos destes tipos de teste são:

Teste de caminhos

Teste de comandos

Teste de ramos

Teste de condições

22

Page 23: Processo de Teste de Software - Monografia

3. METODOLOGIA

Este trabalho tem como objetivo levantar todas as atividades necessárias

para gerir o processo de teste. Auxiliando assim na coordenação das tarefas

realizadas pela equipe de testes, e apontando também os principais pontos para que

o processo de teste esteja alinhado com o processo de desenvolvimento.

Antes de entrar na descrição do processo, é necessário fundamentar os

aspectos essenciais envolvidos nestas atividades. Para isso foi feita uma pesquisa

através de livros e da Internet, identificando os conceitos e metodologias

conhecidas.

Após isto foi feito um estudo mais detalhado sobre a norma IEEE Std 829-

1998, para se identificar e entender os itens necessários para a elaboração dos

documentos de testes. E com base nesta norma e na bibliografia pesquisada, foram

listadas as atividades de teste que contribuem na elaboração destes documentos.

E para que esta metodologia seja mais facilmente aplicada, foi feito um

paralelo do processo de teste com o de desenvolvimento. Assim como a criação de

modelos de todos os documentos citados pela norma IEEE Std 829-1998.

23

Page 24: Processo de Teste de Software - Monografia

4. APRESENTAÇÃO DOS RESULTADOS

4.1 PROCESSO DE TESTE DE SOFTWARE

Como toda atividade de produção de software, o teste requer um

planejamento detalhado. E durante todo o processo, possuir uma documentação

bem estruturada melhora a visibilidade das fases do teste. Uma boa documentação

contribui para o gerenciamento da execução dos testes, e é uma forma de

comunicação entre as partes envolvidas no teste e no projeto como um todo. A

norma IEEE Std 829-1998 descreve um conjunto de oito documentos básicos de

teste de software, que devem ser gerados na atividade de gerência do teste de

software. Esta documentação cobre desde a preparação até o registro dos

resultados. A metodologia de teste que será descrita a seguir, é baseada

principalmente na produção da documentação descrita por esta norma. E as

atividades relacionadas em cada fase do processo de teste, terão como objetivo

principal a geração e manutenção da documentação prevista pela norma.

A norma separa as atividades de teste em três etapas: preparação, execução

e registro do teste. Mas para uma melhor distribuição das atividades envolvidas,

Trayahú Moreira Filho, em seu livro Teste de Software, propõe uma metodologia

dividida em seis partes; sendo que as quatro primeiras são voltadas a preparação, a

quinta é direcionada para a execução e a sexta a finalização do teste.

Estas etapas são:

Planejamento

Procedimentos iniciais

Preparação

Especificação

Execução

Entrega

Mas para que o processo atenda os documentos da norma IEEE Std 829-

1998, devem ser criados os seguintes documentos:

Plano de testes

Especificação do projeto de teste

Especificação dos casos de teste

24

Page 25: Processo de Teste de Software - Monografia

Especificação dos procedimentos de teste

Relatório de encaminhamento dos itens de teste

Diário do teste

Registro de incidentes de teste

Relatório resumo de teste

4.2 DESCRIÇÃO DAS ETAPAS DE TESTE

Para entender melhor cada etapa de teste, elas foram divididas em

subetapas. Cada subetapa agrupa atividades comuns que produzem um

determinado artefato.

Cada uma destas subetapas é composta pelos seguintes itens:

Insumos – são os itens que são pré-requisitos para a realização da

subetapa.

Produtos – são os documentos gerados pela subetapa.

Atividades – tarefas que precisam ser realizadas para conseguir gerar

os produtos esperados.

Nas atividades de teste descritas por Trayahú Moreira Filho, foram feitas

algumas alterações a fim de se gerar todos os documentos propostos pela norma

IEEE a que se foi proposto

4.2.1 Procedimentos iniciais

O projeto de teste se inicia com a análise dos requisitos de negócio. E através

deste estudo deverá ser criado um documento guia para a execução do processo de

teste. Com estes dados iniciais já é possível prever uma lista de atividades de teste,

necessidades de recursos de pessoal e ambiente.

4.2.1.1 Elaborar o Guia Operacional de Testes

Produto

Guia Operacional de teste (termo utilizado por Trayahú Moreira Filho, descrito

no anexo 11)

25

Page 26: Processo de Teste de Software - Monografia

Insumos

Requisitos do negócio

Modelos de dados

Diagramas de fluxo de dados

Diagramas de contexto

Atividades

Planejar as atividades sobre os requisitos de negócio e fazer a sua análise.

Identificar os riscos que envolvem os requisitos de negócio.

Fazer entrevistas com a equipe de desenvolvimento.

Estabelecer datas para a elaboração do plano de teste e projeto de teste.

Elaborar o documento Guia Operacional de Teste

4.2.2 Planejamento

O objetivo desta etapa é o de elaborar o projeto de plano de testes e o projeto

de testes. Sua finalidade é diminuir os riscos do negócio e direcionar as próximas

atividades do teste.

4.2.2.1 Elaborar o Plano de Testes

Produtos

Plano de testes

Insumos

Guia operacional de teste – GOT

Planejamento do sistema que está sendo desenvolvido

Atividades

Identificar o tamanho em pontos de função, ou outra medida, do sistema a ser

testado.

Relacionar as atividades de testes, indicando as datas de início e término, por

subsistema ou módulo para , pelo menos, os seguintes testes:

Testes Unitários, Integração, Testes de Sistema, Testes de Aceitação.

Caracterizar as medições para calcular os indicadores de qualidade e

desempenho.

26

Page 27: Processo de Teste de Software - Monografia

Prever os recursos (hardware,software, pessoal, ambiente) e a estratégia

para a sua obtenção e capacitação (ver a etapa de preparação).

Definir a alocação de responsabilidades para as atividades e testes

específicos.

Definir a necessidade de dados para testes.

Definir os relatórios de acompanhamento do processo de testes e de controle

de correções de defeitos, caso sejam necessários outros relatórios além

daqueles já padronizados.

Definir as regras para a classificação dos defeitos e da sua severidade, caso

já não estejam padronizados.

Identificar os riscos do projeto.

Elaborar o Plano de Testes.

Alinhar o Plano de Testes ao Planejamento do Sistema.

Planejar o cronograma de testes.

Aprovar o Plano de Testes.

4.2.2.2 Elaborar o projeto de testes

Produtos

Especificação do projeto de teste

Análise de riscos do projeto de testes.

Insumos

Plano de teste

Guia operacional de teste – GOT

Atividades

Elaborar a análise de riscos do projeto de testes.

Analisar os requisitos do sistema.

Analisar os diagramas do sistema a fim de entender as tecnologias envolvidas

Planejar os tipos de testes que serão realizados (testes estáticos e dinâmicos,

teste unitário, teste de integração, teste de sistema, teste de aceitação)

Identificar as técnicas estruturais ou funcionais que serão executadas.

Definir a infra-estrutura necessária.

Dividir o teste de acordo com os módulos do sistema

Construir documento de Projeto de testes.

27

Page 28: Processo de Teste de Software - Monografia

4.2.3 Preparação

O objetivo principal desta etapa é preparar o ambiente para a realização dos

testes. As necessidades de equipamentos, pessoal, ferramentas de automação,

hardware e software são levantadas e planejadas.

4.2.3.1 Adequar o projeto de testes à Gerência de Configuração e/ou de controle de

mudanças

Produto

Registro e controle das diversas versões do produto:funcional,

desenvolvimento, produto e operacional

Insumos

Arquitetura do ambiente de desenvolvimento

Arquitetura do ambiente de produção

Ferramentas e procedimentos de Gerência de Configuração e de mudança

Atividades

Definir o nível de controle de versão e controle de mudanças necessárias

para o projeto.

Definir os perfis de acesso.

Definir processos de sincronização entre a equipe do projeto e a equipe de

testes.

Disponibilizar o processo/ferramenta.

Definir o baseline (grupo de produtos) do projeto de testes.

4.2.3.2 Disponibilizar infra-estrutura e ferramentas de teste

Produtos

Infra-estrutura e ferramentas de teste disponíveis para a equipe de testes

Insumos

Projeto de testes

Arquitetura básica do ambiente

28

Page 29: Processo de Teste de Software - Monografia

Arquitetura do ambiente de produção

Ferramentas de teste

Atividades

Instalar hardware e software necessários.

Instalar ferramentas de testes a serem utilizadas.

Configurar ambiente conforme necessidades do projeto.

Estabelecer perfis de atualização.

Disponibilizar para a equipe do projeto.

Resolver problemas referentes a acessos a informações ou processos.

Definir a origem da massa de testes e a forma de sua dispinibilização.

Preparar os ambientes de teste em conformidade com o ambiente real onde o

sistema será processado.

4.2.3.3 Disponibilizar pessoal

Produto

Equipe de testes definida e capacitada

Insumos

Projeto de Testes

Plano de Testes

Ferramentas de Testes

Descrição do ambiente de testes

Atividades

Avaliar o projeto e o plano de testes.

Levantar as características do ambiente de teste.

Levantar as características das ferramentas a serem utilizadas.

Avaliar a disponibilidade e a experiência da equipe de teste do projeto.

Avaliar as necessidades de treinamento.

Capacitar a equipe de testes, se necessário.

Avaliar o tamanho do sistema em pontos de teste ou em outra métrica

adotada para a organização.

29

Page 30: Processo de Teste de Software - Monografia

4.2.4 Especificação

Nesta fase são elaborados os casos de teste e os roteiros de teste. Estes

roteiros são elaborados a medida que os itens do projeto sejam disponibilizados

para a equipe de teste.

4.2.4.1 Elaborar casos de testes

Produtos

Casos de Testes

“Scripts” de testes

Especificação das necessidades de dados de testes

Insumos

Projeto de Testes

Plano de Testes

Documentação técnica do sistema

Necessidades de dados de teste

Posição quanto aos testes já realizados

Atividades

Elaborar Casos de Testes.

Ajustar Casos de Testes existentes.

Preparar “Scripts” de testes (se usar ferramenta automatizada).

Especificar as necessidades de dados de testes.

Revisar os Casos de Testes.

4.2.4.2 Elaborar Roteiros de Teste

Produtos

Roteiros e procedimentos de testes

Insumos

Casos de testes

Planos de Testes

Fluxo de execução dos programas previsto pela equipe de desenvolvimento

Atividades

30

Page 31: Processo de Teste de Software - Monografia

Elaborar os Roteiros de Testes

Analisar o Fluxo de execução dos programas ou os Casos de Usos.

Compatibilizar o fluxo ou os Casos de Usos com os Casos de Testes.

Revisar os Roteiros de Testes.

4.2.5 Execução

O objetivo desta fase é a execução dos testes planejados na fase de

especificação. Nesta fase os testes são executados e os seus resultados

registrados.

4.2.5.1 Preparar dados de testes

Produtos

Bases/Arquivos de teste disponíveis

Insumos

Casos de Testes

“Scripts” de Testes

Roteiros de Testes

Documentação do sistema

Especificação das necessidades de dados de testes

Processo de criação de bases e/ou arquivos de teste

Atividades

Levantar disponibilidade das bases de dados ou arquivos de testes.

Definir o processo de captura de dados.

Elaborar os procedimentos necessários a disponibilização das bases de

dados ou arquivos.

Acordar com os usuários os dados que serão utilizados nos testes.

Acertar com os usuários a condução dos testes em função dos dados a

serem utilizados.

Testar a base de dados de teste.

4.2.5.2 Executar testes

31

Page 32: Processo de Teste de Software - Monografia

Produtos

Resultado dos testes

Relatório de incidentes de teste

Ajustes no material de testes

Insumos

Relatório de encaminhamento de itens de teste

Roteiros de Testes

Casos de Testes

“Scripts” de Testes

Resultados esperados

Atividades

Executar os Roteiros de Testes, Casos de Testes e “Scripts” de Testes

previstos.

Examinar os resultados obtidos versus os resultados esperados.

Emitir relatório de defeitos encontrados.

Registrar os defeitos encontrados.

Acertar com os usuários a execução e condução dos testes.

Submeter aos usuários os resultados de testes.

Caso seja constatado algum defeito nos Casos de Testes, Roteiros de

Testes, “Scripts” de Testes e/ou Resultados esperados, efetuar as correções

devidas.

4.2.5.3 Solucionar ocorrências de testes

Produtos

Relatório de defeitos encontrados com status resolvido ou a avaliar

Insumos

Relatório de Defeitos com status a resolver

Resultados dos testes

Atividades

Analisar os Relatórios de Defeitos encontrados e os Resultados de Testes

correspondentes.

Identificar o módulo/programa/compontente que originou a ocorrência.

32

Page 33: Processo de Teste de Software - Monografia

Identificar e corrigir o problema no módulo/programa/compontente.

Disponibilizar nova versão do módulo/programa/compontente na ferramenta

de gerência de configuração.

Atualizar o Relatório de Defeitos encontrados com o status correspondente.

Corrigir os “Scripts” de testes e/ou Casos de Testes, se for o caso.

4.2.5.4 Acompanhar a execução dos casos de testes

Produtos

Diário de testes

Insumos

Relatório de defeitos(resumo)

Resultado dos testes(resumo)

Projeto de teste

Plano de testes

Casos de testes

Roteiros de testes

Atividades

Obter os Relatórios de Defeitos encontrados (resumo).

Elaborar totalizações, relatórios, documentos e gráficos pertinentes conforme

o Projeto de Testes do projeto.

Elaborar relatório de Análise dos Resultados de Testes.

Submeter os Resultados de Testes aos usuários e desenvolvedores.

Disponibilizar e divulgar o relatório.

4.2.5.5 Elaborar relatório final

Produtos

Relatório resumo dos testes

Insumos

Análise dos resultados do teste

Projeto de teste

Resultados de testes

Relatórios de defeitos – resumo

33

Page 34: Processo de Teste de Software - Monografia

Plano de Testes

Atividades

Avaliar o grau de cumprimento dos objetivos dos testes definidos no Projeto

de teste e nos Planos de Testes.

Elaborar o Relatório Final.

Dimensionar o tamanho final do projeto de teste em Pontos de Testes ou em

outra métrica usada na organização.

Buscar o tamanho final do sistema que foi testado, junto à equipe de

desenvolvimento.

Realizar reunião formal junto às áreas envolvidas visando a terminar o projeto

de testes.

Avaliar o nível de criticidade dos defeitos encontrados e alinhavar possíveis

ações de melhoria de qualidade.

4.2.6 Entrega

Nesta etapa encerra-se o projeto de testes. A documentação é arquivada e as

informações relevantes à melhoria do processo ou pendências são reportadas.

4.2.6.1 Avaliação e Arquivamento da Documentação

Produtos

Relatórios de não conformidade

Relatório final de testes

Documentação arquivada

Insumos

Documentos de testes

Atividades

Avaliar toda a documentação do processo de testes.

Arquivar a documentação do processo de testes.

Elaborar relatório de não conformidades e de conformidades, se for o caso.

Elaborar relatório final de testes.

34

Page 35: Processo de Teste de Software - Monografia

Avaliar os indicadores de testes.

4.3 ALINHAMENTO COM O PROCESSO DE DESENVOLVIMENTO

Durante o processo de teste, existem diversas tarefas que dependem de

informações da equipe de desenvolvimento, e da mesma forma, o desenvolvimento

também necessita dos dados gerados pelo teste. Estas informações são importantes

para que se possa dar continuidade as suas tarefas, ou que os desvios encontrados

sejam corrigidos o mais rápido possível.

Devido a isto é necessário que as duas equipes conheçam claramente estes

pontos de ligação. Os seus cronogramas devem estar sincronizados, para que não

haja perdas de recursos ou tempo gerados por estas dependências. Assim que uma

destas informações ou produtos estiverem finalizados, a outra equipe deve ser

avisada para que possa usufruir destes resultados.

Na figura 3 é mostrado o relacionamento entre os dois processos.

35

Page 36: Processo de Teste de Software - Monografia

Figura 3 – Processo de desenvolvimento e processo de teste

36

Page 37: Processo de Teste de Software - Monografia

5. DISCUSSÃO DOS RESULTADOS

Através deste trabalho, notamos a complexidade que o processo de teste

possui. E que para que ele tenha êxito, é fundamental que as etapas de

planejamento sejam elaboradas com muito critério e detalhamento.

Além disto, as atividades de teste devem estar alinhadas com o processo de

desenvolvimento. Se não houver esta cooperação entre as equipes o processo pode

não ter êxito.

E para que o processo ocorra de modo organizado, deve ser dado ênfase ao

preenchimento correto e pleno da documentação referente a cada etapa do teste.

37

Page 38: Processo de Teste de Software - Monografia

38

Page 39: Processo de Teste de Software - Monografia

6. CONCLUSÃO

6.1 SÍNTESE DO PROJETO

Através da pesquisa feita através de livros e da Internet, foram reforçados os

conceitos essenciais para a atividade de teste. E após esta análise vimos a

importância que possui a norma IEEE Std 829-1998 para o processo.

Com base nisto foram listadas todas as atividades necessárias para se

preencher corretamente as documentações citadas. E para dar um apoio no uso da

metodologia descrita, foram construídos modelos todos os modelos descritos pela

norma.

Antes de encerrar o projeto, foi feito um paralelo do processo de teste com o

de desenvolvimento. Para reforçar os pontos onde o teste interage com o

desenvolvimento.

Desta forma, conseguimos descrever os processos, suas atividades, e a

documentação necessária para a gestão do setor de testes.

6.2 CONTRIBUIÇÕES

Podemos citar as seguintes contribuições deste trabalho:

O levantamento da importância da norma IEEE Std 829-1998, como

base para a construção de um processo de software.

A elaboração de um roteiro para que se possa estruturar e coordenar

uma equipe de testes.

6.3 LIMITAÇÕES

Apesar deste trabalho ainda não ter sido aplicado em um projeto real,

podemos verificar que as atividades levantadas contribuem para a produção dos

documentos descritos pela norma IEEE Std 829-1998.

Para que uma pessoa possa executar as atividades contidas nesta pesquisa,

é necessário ter conhecimento das técnicas de teste e suas aplicações, o que não

foi visto em detalhes neste trabalho.

39

Page 40: Processo de Teste de Software - Monografia

6.4 PESQUISAS FUTURAS

Este trabalho visou mais o aspecto administrativo do processo de teste. Por

isso, possíveis complementações deste projeto poderiam focar na execução do teste

propriamente dito. As sugestões das pesquisas seriam:

Estudo das técnicas de teste e como aplicá-las

Elaboração de casos de teste

Testes automatizados

Execução de teste para aplicações WEB.

40

Page 41: Processo de Teste de Software - Monografia

7. REFERÊNCIAS

Beizer, Boris. Black-Box Testing: techniques for funcional testing of software and systems. New York: Wiley, 1995.

NOBIATO CRESPO, Adalberto. Uma Metodologia para Teste de Software no Contexto da Melhoria de Processo. Campinas. Disponível em: <http://bibliotecadigital.sbc.org.br/download.php?paper=254>

HETZEL, Bill. The Complete Guide to Software Testing. 2ª Edição. John Wiley &Sons, 1988.

The Institute of Electrical and Electronics Engineers. IEEE Std 829: Standard for Software Test Documentation. New York: IEEE Computer Society, 1998.

The International Organization for Standardization and The International Electrotech-nical Commission. ISO/IEC 9126-1 Product Quality. 1ª Edição, 2001.

Moreira Filho, Trayahú R. TESTE DE SOFTWARE. 5ª Edição. Alta Books Ltda,

2003.

Pressman, R. Engenharia de Software. 5ª Edição. Mc GrawHill, 2002.

PRESSMAN, R. S. Engenharia de Software. 5ª Edição. Rio de Janeiro: Mc Graw-Hill, 2002.

MYERS, G.J. The Art of Software Testing. 1ª Edição. New York: Wiley, 1979, 177p.

41

Page 42: Processo de Teste de Software - Monografia

ANEXO 1 – DOCUMENTOS DE TESTE SEGUNDO A NORMA IEEE STD 829-1998

1 Plano de teste

Descrever o escopo, métodos, recursos, e calendário das atividades de teste.

Identifica os itens a serem testados, as características a serem testadas, as tarefas

de teste a serem realizadas, o responsável por cada tarefa, e os riscos associados

ao plano de testes.

Um plano de teste deve possuir a seguinte estrutura:

a) Identificador do plano de teste

b) Introdução

c) Itens de teste

d) Características que serão testadas

e) Características que não serão testadas

f) Metodologia

g) Critérios de aceitação

h) Critério de suspensão e requerimentos de reinicialização

i) Produtos de teste

j) Atividades de teste

k) Necessidades do ambiente

l) Responsabilidades

m) Necessidades de contratação e treinamento

n) Cronograma

o) Riscos e contingências

p) Aprovações.

2 Especificação do projeto de teste

Para especificar os refinamentos da metodologia de teste e identificar os

componentes a serem testados no projeto e seus testes associados.

O projeto de teste deve ter a seguinte estrutura:

a) Identificador do projeto de teste

b) Componentes a serem testados

c) Refinamentos da metodologia

d) Identificação dos testes

e) Critérios de aceitação

42

Page 43: Processo de Teste de Software - Monografia

3. Especificação do caso de teste

Definir um caso de teste identificado por um projeto de teste

Um caso de teste deve conter a seguinte estrutura:

a) Identificador da especificação do caso de teste

b) Itens de teste

c) Especificações de entrada

d) Especificações de saída

e) Necessidades de ambiente

f) Requerimentos de procedimentos especiais

g) Dependencia de outro caso de teste.

4 Especificação de procedimento de teste

Especificar os passos para execução de um conjunto de casos de teste. São

os passos usados para analisar um item de software em ordem para avaliar as suas

características.

Um procedimento de teste deve conter a seguinte estrutura.

a) Identificador da especificação do procedimento de teste

b) Propósito

c) Requerimentos especiais

d) Passos para executar o procedimento

5 Relatório de encaminhamento de item de teste

Identificar os itens de teste que estão sendo enviados para o teste. Inclui a

pessoa responsável por cada item, sua localização física e seu status. As variações

entre o requerimento do item corrente e o projeto são registrados neste relatório.

Um relatório de entrega de item de teste deve ter a seguinte estrutura:

a) Identificador do relatório de encaminhamento de item de teste

b) Itens entregues

c) Localização

d) Status

e) Aprovações

6 Diário de teste

43

Page 44: Processo de Teste de Software - Monografia

Fornecer um registro cronológico dos detalhes relevantes sobre a execução

dos testes.

O diário de teste deve ter a seguinte estrutura:

a) Identificador do diário de teste

b) Descrição

c) Atividades e eventos de entrada

7 Relatório de incidente de teste

Documentar qualquer evento que ocorra durante o processo de teste que

requeira investigação.

Um relatório de incidente de teste dever ter a seguinte estrutura:

a) Identificador do relatório de incidente de teste

b) Sumário

c) Descrição do incidente

d) Impacto

8 Relatório resumo de teste

Sumarizar os resultados das atividades designadas para o teste e fornecer

avaliações baseadas nestes resultados.

Um sumário de relatório de teste deve ter a seguinte estrutura:

a) Identificador do relatório resumo de teste

b) Sumário

c) Variações

d) Avaliação detalhada

e) Sumário dos resultados

f) Avaliação

g) Sumário das atividades

h) Aprovações

44

Page 45: Processo de Teste de Software - Monografia

ANEXO 2 - CARACTERÍSTICAS E SUBCARACTERÍSTICAS SEGUNDO A

ISO/IEC 9126-1

Características Subcaracterísticas Descrição

Funcionalidade

Adequação Presença de conjunto de funções e

sua apropriação para as tarefas

Acurácia Geração de resultados ou efeitos

corretos

Interoperabilidade Capacidade de interagir com outros

sistemas

Conformidade Estar de acordo com normas,

convenções, regulamentações

Segurança de

acesso

Capacidade de evitar acesso não

autorizado a programas e dados

Confiabilidade

Maturidade Freqüência de falhas

Tolerância a falhas Manter nível de desempenho em caso

de falha

Recuperabilidade Capacidade de se restabelecer e

restaurar dados após falhas

Usabilidade

Inteligibilidade Facilidade de entendimento dos

conceitos utilizados

Apreensibilidade Facilidade de aprendizado

Operacionabilidade Facilidade de operar e controlar a

operação

Eficiência

Comportamento em

relação ao tempo

Tempo de resposta, de

processamento.

Comportamento em

relação a recursos

Quantidade de recursos utilizados

Manutenibilidade Analisabilidade Facilidade de diagnosticar deficiências

e causas de falhas

Modificabilidade Facilidade de modificação e remoção

de defeitos

Estabilidade Ausência de riscos de efeitos

45

Page 46: Processo de Teste de Software - Monografia

inesperados

Testabilidade Facilidade de ser testado

Portabilidade

Adaptabilidade Capacidade de ser adaptado a

ambientes diferentes

Capacidade para

ser instalado

Facilidade de instalação

Conformidade Acordo com padrões ou convenções

de portabilidade

Capacidade para

substituir

Substituir outro software

46

Page 47: Processo de Teste de Software - Monografia

ANEXO 3 – MODELO DE PLANO DE TESTE

Empresa

Projeto Versão Data

PLANO DE TESTEObjetivo: descrever o escopo, métodos, recursos, e calendário das atividades de teste. Identifica os itens a serem testados, as características a serem testadas, as tarefas de teste a serem realizadas, o responsável por cada tarefa, e os riscos associados ao plano de testes.

Identificador

IntroduçãoSumariza os itens de software e as características que serão testadas. A necessidade para cada item e seu histórico pode se incluído neste item.Referência aos seguintes documentos, quando existirem: Autorização do projeto Plano do projeto Plano de qualidade Plano de gerenciamento de configuração Políticas relevantes Padrões relevantes.

Identifica os itens de teste incluindo seu nível de versão e revisão. Também especifica as características de transmissão de mídia que impactam nos requerimentos de hardware ou indicam a necessidade de transformações lógicas ou físicas antes do inicio dos testes (Ex: programas que precisam ser transferidos de fita para disco).

Itens de testeItem Versão Descrição

Referências a fontes dos seguintes itens de documentação, se existirem: especificação de requerimento, especificação de projeto, guia de usuário, guia de operação, guia de instalação.

ReferênciasDocumento Data de criação Fonte de origem

Características que serão testadas e características que não serão testadas. Identifica todas as características de software e combinações a serem testadas. Identifica o a especificação do projeto de teste associada a cada característica e cada

combinação de características. Características

Característica Descrição Sim Não

FuncionalidadeEvidenciar que o conjunto de funções atendem às necessidades explícitas e implícitas para a finalidade a que se destina o produto.

ConfiabilidadeEvidenciar que o desempenho se mantém ao longo do tempo e em condições estabelecidas.

Usabilidade Evidenciar a facilidade para a utilização do software

Eficiência

Manutenibilidade Evidenciar que há facilidade para correções, atualizações e alterações.

PortabilidadeEvidenciar que é possível utilizar o produto em diversas plataformas com pequeno esforço de adaptação.

Estágios do teste

47

Page 48: Processo de Teste de Software - Monografia

Característica Descrição Sim Não

Teste Unitário

Validar individualmente cada um dos componentes utilizados naimplementação das funcionalidades do sistema. São realizados aolongo do fluxo de implementação.

Teste de Integração

Validar a integração entre componentes e pacotes desenvolvidospara implementação das funcionalidades do sistema. Sãorealizados ao longo do fluxo de implementação após os testesunitários e integração dos componentes.

Teste de Sistema

Validar se todos os elementos do sistema foram adequadamenteintegrados e estão de acordo com os requisitos especificados.São realizados pela equipe de desenvolvimento, no fluxo detestes, conforme definido no Plano.

Teste de Aceitação

Validar se o sistema está de acordo com os requisitosespecificados. O teste de aceitação deverá ser realizado pelocliente em ambiente de homologação e seu sucesso indica que osistema está pronto para ser posto em produção.

Especifica os critérios para determinar quando um teste passou ou falhouCritérios de aceitação

Item de teste Descrição dos critérios

Especifica os critérios utilizados para suspender ou reiniciar um teste ou parte dele. Especifica as atividades de teste que precisarão ser repetidas, quando o teste for reiniciado.

Critério de suspensão e requerimentos de reinicialização

Identifica os documentos que serão gerados pelo processo de teste. Os seguintes documentos poderão se incluídos:

ProdutosCaracterística Sim NãoPlano de teste

Especificações do projeto de teste

Especificações dos casos de teste

Especificações dos procedimentos de testes

Relatórios de encaminhamento de itens de teste

Diário de teste

Relatórios de incidentes de teste

Relatórios de resumo de teste

48

Page 49: Processo de Teste de Software - Monografia

Identifica o conjunto de tarefas necessárias para realizar o teste. Identifica todas as dependências entre as tarefas e as habilidades requeridas para cada uma delas.

Tarefas e cronogramaCódigo Descrição da tarefa Dependências Observações Responsável Data

Especifica as propriedades desejadas e necessárias para o ambiente de teste. Esta especificação deve conter as características físicas dos aparatos, incluindo hardware, comunicações e sistemas de software, seu modo de uso, e qualquer outro software ou necessidade para suportar os testes. Também especifica o nível de segurança que deve ser fornecido pelos aparatos de teste, softwares de sistemas, e componentes proprietários como software, dados e hardware. Identifica as ferramentas de teste necessárias

Necessidades do ambienteItem DescriçãoHardwareSoftwareSegurançaFerramentas

ResponsabilidadesIdentifica os grupos responsáveis por gerenciar, projetar, preparar, executar, verificar e resolver. Em adição, identifica os grupos responsáveis por fornecer itens de teste indicados nas necessidades de ambiente.

Estes grupos podem ser desenvolvedores, testadores, operadores, representantes de clientes, suporte técnico, gerência, administradores de dados e suporte de qualidade.

Grupo Tarefa

Ger

enc

iar

Pro

jeta

r

Pre

par

ar

Exe

cuta

r

Ver

ifica

r

Re

solv

er

DesenvolvedorTestadorOperadorClienteSuporte GerênciaAdmin. BDQualidade

Necessidades de contratação e treinamentoEspecifica contratações de pessoal necessárias e as habilidades. Identifica necessidades de treinamento para fornecer as habilidades necessárias.

ContrataçãoGrupo Função Habilidades necessárias Quantidade

49

Page 50: Processo de Teste de Software - Monografia

TreinamentosGrupo Treinamento Habilidades necessárias Quantidade

Riscos e contingênciasIdentifica os riscos associados a plano de teste. Especifica os planos de contingência para cada possível atraso do cronograma.

Riscos e contingênciasRisco Gravidade Contingência

AprovaçõesEspecifica os nomes e cargos de todas as pessoas que precisam aprovar o plano de teste. Fornece espaço para assinaturas e datas.

_______________________________________ _________________Gerente do Teste Data

_______________________________________ _________________Gerente do Desenvolvimento Data

______________________________________ _________________Gerente de Qualidade Data

50

Page 51: Processo de Teste de Software - Monografia

ANEXO 4 - MODELO DE PROJETO DE TESTE

Empresa

Projeto Versão Data

PROJETO DE TESTEObjetivo: Para especificar os refinamentos da metodologia de teste e identificar os componentes a serem testados no projeto e seus testes associados.

Identificador

Identifica os itens de teste incluindo seu nível de versão e revisão.

Itens de testeItem Versão Descrição

MetodologiaCód. item Fase Tipo Estágio Abordagem TécnicaItem a ser testado ou validado

Fase do projeto Tipo de teste Estágio de teste Caixa preta / caixa branca

Automática / Manual

Identificação dos testes

Lista o identificador e uma breve descrição de cada caso de teste associado a este projeto.Casos de teste

Cód. item Descrição

51

Page 52: Processo de Teste de Software - Monografia

ANEXO 5 - MODELO DE CASOS DE TESTE

Empresa

Projeto Versão Data

CASO DE TESTEObjetivo: Definir um caso de teste identificado por um projeto de teste.

Identificador

Identifica os itens de teste incluindo seu nível de versão e revisão.

Itens de testeCód. Item Nome Requisitos associadosCódigo Nome do caso de teste Nome do caso de uso associado ou requisito

Identificador Nome do caso de teste

Descrição Descrição sucinta do caso de teste

Responsável Responsável pela especificação do caso de teste

Requisito Código do caso de uso ou requisito associado

Tipo de teste Tipo de teste a ser realizado

Abordagem Caixa-branca ou caixa-preta

Técnica Automática ou manual

Dados de testePré-condições Condição inicial exigida para execução do caso de teste

Pós-condições Situação esperada após a execução do caso de teste

Passos Descrição dos passo, incluindo referências aos procedimentos indicados

52

Page 53: Processo de Teste de Software - Monografia

ANEXO 6 – MODELO DE PROCEDIMENTOS DE TESTE

Empresa

Projeto Versão Data

PROCEDIMENTOS DE TESTEObjetivo: Especificar os passos para execução de um conjunto de casos de teste. São os passos usados para analisar um item de software em ordem para avaliar as suas características.

Identificador Identificador do procedimento de teste

Descrição Descrição sucinta do procedimento de teste. Indicando os casos de teste relacionados.

Configuração do ambienteFerramentas de apoioDados necessários

Tipo de teste a ser realizado

Passos Descrição dos passos para execução do procedimento.

Passo 1Passo 2Passo 3

Informações adicionaisRegistro Descreve métodos especiais ou formatos para registrar os resultados da execução do teste, os

incidentes observados, e outros eventos pertinentes ao teste.

Configuração Descreve a seqüência de ações necessárias para preparar a execução do procedimento.

Inicialização Descreve as ações necessárias para iniciar a execução do procedimento.

Medição Descreve como as medições do teste serão feitas

Desligamento Descreve as ações necessárias para suspender o teste quando eventos não programados ocorrerem.

Reinicialização Identifica um ponto para reiniciar o procedimento e descreve as ações necessárias para reiniciar o procedimento a partir do ponto de inicio.

Parada Descreve as ações necessárias para fazer uma execução parar.

Restauração Descreve as ações necessárias para restaurar um ambiente.

Contingências Descreve as ações necessárias para lidar com anomalias que possam ocorrer durante a execução do procedimento.

53

Page 54: Processo de Teste de Software - Monografia

ANEXO 7 - MODELO DE ENCAMINHAMENTO DE ITEM DE TESTE

Empresa

Projeto Versão Data

ENCAMINHAMENTO DE ÍTEM DE TESTE

Objetivo: Identificar os itens de teste que estão sendo enviados para o teste. Inclui a pessoa responsável por cada item, sua localização física e seu status. As variações entre o requerimento do item corrente e o projeto são registrados neste relatório.

Itens entreguesItem Versão Descrição Localização Status

Observações

AprovaçõesEspecifica os nomes e cargos das pessoas que aprovaram a entrega do item. Fornece espaço para assinaturas e datas.

_______________________________________ _________________Responsável do teste pelo recebimento Data

_______________________________________ _________________Responsável pela entrega Data

54

Page 55: Processo de Teste de Software - Monografia

ANEXO 8 - MODELO DE DIÁRIO DE TESTE

Empresa

Projeto Versão Data

DIÁRIO DE TESTE

Objetivo: Fornecer um registro cronológico dos detalhes relevantes sobre a execução dos testes.

TestesCód. Proc. Versão Descrição Responsável OK Data

55

Page 56: Processo de Teste de Software - Monografia

Cód. ProcedimentoFuncionários presentes

Resultados do procedimentoInformações do ambiente

Eventos anormais

Identificador relatórios de incidentes

Cód. ProcedimentoFuncionários presentes

Resultados do procedimentoInformações do ambiente

Eventos anormais

Identificador relatórios de incidentes

Cód. ProcedimentoFuncionários presentes

Resultados do procedimentoInformações do ambiente

Eventos anormais

Identificador relatórios de incidentes

Cód. ProcedimentoFuncionários presentes

Resultados do procedimentoInformações do ambiente

Eventos anormais

Identificador relatórios de incidentes

Cód. ProcedimentoFuncionários presentes

Resultados do procedimentoInformações do ambiente

Eventos anormais

Identificador relatórios de incidentes

56

Page 57: Processo de Teste de Software - Monografia

ANEXO 9 - MODELO DE RELATÓRIO DE INCIDENTE DE TESTE

Empresa

Projeto Versão Data

RELATÓRIO DE INCIDENTE DE TESTE

Objetivo: Documentar qualquer evento que ocorra durante o processo de teste que requeira investigação.

Identificador

Sumariza o incidente. Identifica os itens de teste envolvidos e indica sua versão e revisão. Referencia a especificação do procedimento de teste, especificação do caso de teste, e diário de teste.

SUMÁRIO

Entradas

Resultados esperados

Resultados alcançados

Eventos anormais

Anomalias

Data e hora

Passos do procedimento

Ambiente

Tentativas de repetição

Testadores

Observadores

Impacto

57

Page 58: Processo de Teste de Software - Monografia

ANEXO 10 - MODELO DE RELATÓRIO RESUMO DE TESTE

Empresa

Projeto Versão Data

RELATÓRIO RESUMO DE TESTE

Objetivo: Sumarizar os resultados das atividades designadas para o teste e fornecer avaliações baseadas nestes resultados.

Identificador

Sumariza a avaliação dos itens de teste. Identifica os itens testados, indicando sua versão e revisão. Indica o ambiente aonde os testes foram feitos.

SUMÁRIO

ResultadosCasos de teste

Fase Iteração Teste OK Erro Falha Total Data Responsáveis

AprovaçõesEspecifica os nomes e cargos de todas as pessoas que aprovaram o relatório. Fornece espaço para assinaturas e datas.

_______________________________________ _________________Gerente do Teste Data

_______________________________________ _________________Gerente do Desenvolvimento Data

______________________________________ _________________Gerente de Qualidade Data

58

Page 59: Processo de Teste de Software - Monografia

ANEXO 11 – GUIA OPERACIONAL DE TESTE

Resumo do documento descrito por Trayahú Moreira Filho, no seu livro Teste de Software.

ObjetivoFormalizar o acordo entre as partes envolvidas (desenvolvedores, testadores

e usuários).

Itens do documento

a) Objetivos: definir as responsabilidades de cada um dos envolvidos e descrever o plano preliminar de trabalho.b) Líder do projeto de teste: indicar o líder do projeto de teste.c) Data: informar as datas de início é término da atividade.

59