Sie sind auf Seite 1von 59

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
2

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
3

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
4

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.


5

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......................................................................................15
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...............................................................................19
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
6

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.........................................................33
4.2.5.4 Acompanhar a execução dos casos de testes....................................33
4.2.5.5 Elaborar relatório final..........................................................................34
4.2.6 Entrega.......................................................................................................34
4.2.6.1 Avaliação e Arquivamento da Documentação.....................................35
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
7

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
8

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
9

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.
10

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
11

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
Elaborar o Guia Operacional de Guia Operacional de teste
12

Testes

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 à Registro e controle das diversas versões do
Gerência de Configuração e/ou de produto:funcional, desenvolvimento,
controle de mudanças produto e operacional
Disponibilizar infra-estrutura e Infra-estrutura e ferramentas de teste
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
Solucionar ocorrências de testes Relatório de defeitos encontrados com
status resolvido ou a avaliar
Acompanhar a execução dos Análise do andamento dos Casos de
casos de testes Testes
Elaborar relatório final Relatório final dos testes

6 - Entrega
13

Subetapa Produto
Avaliação e Arquivamento da Relatórios de não conformidade
Documentação 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:
• 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
14

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).
• 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).
15

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

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,
16

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.
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.
17

Indicador Descrição Perguntas e pesos


Gravidade Aquilo que afeta • O dano é extremamente importante? (5)
profundamente o resultado. • O dano é muito importante? (4)
È o dano causado caso o • O dano é importante? (3)
teste não seja executado • O dano é relativamente importante? (2)
• O dano é pouco importante? (1)
Urgência Pressão do tempo que o • Tenho que tomar uma ação muito urgente? (5)
sistema sofre. Define qual • Tenho que tomar uma ação urgente? (4)
a importância de se fazer • Tenho que tomar uma ação relativamente urgente?
este teste no momento (3)
atual. • Posso aguardar? (2)
• Não há pressa? (1)
Tendência É o estado que a situação • Se não fizer nada, a situação vai piorar muito? (5)
pode apresentar, caso não • Se não fizer nada, a situação vai piorar? (4)
seja tomada nenhuma • Se não fizer nada, a situação vai permanecer? (3)
medida corretiva. Indica a • Se não fizer nada, a situação vai melhorar? (2)
tendência do erro se • Se não fizer nada, a situação vai melhorar muito?
agravar com o passar do (1)
tempo, caso ele ocorra.

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.
18

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.
19

2.6.1.4 Teste de Aceitação

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
Evidenciar que o conjunto de funções atende às
necessidades explícitas e implícitas para a finalidade
Funcionalidade a que se destina o produto.
Evidenciar que o desempenho se mantém ao longo
Confiabilidade do tempo e em condições estabelecidas.
Usabilidade Evidenciar a facilidade para a utilização do software
Manutenibilidad Evidenciar que há facilidade para correções,
e atualizações e alterações.
Evidenciar que é possível utilizar o produto em
diversas plataformas com pequeno esforço de
Portabilidade 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
20

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.
21

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


processo de teste.
 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.
22

Alguns exemplos destes tipos de teste são:


• Teste baseado em casos de uso
• Valores limites
• 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
23

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.
24

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
25

• Especificação dos casos de teste


• 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
26

• Guia Operacional de teste (termo utilizado por Trayahú Moreira Filho, descrito
no anexo 11)
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.
27

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


desempenho.
• 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)
28

• 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.

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


29

Produtos
• Infra-estrutura e ferramentas de teste disponíveis para a equipe de testes
Insumos
• Projeto de testes
• Arquitetura básica do ambiente
• 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.
30

• 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.

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


31

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
• 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
32

• 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

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.
33

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.
• 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).
34

• 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
• 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
35

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.
• 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.
36

ESPECIFICAÇÃO DE
REQUISITOS DE NEGÓCIO

PLANEJAMENTO DO PROJETO

PLANEJAMENTO DO TESTE

ESPECIFICAÇÃO DE
REQUISITOS TÉCNICOS
ESPECIFICAÇÃO DO PROJETO
DE TESTE

ESPECIFICAÇÃO DOS CASOS


DE TESTE

IMPLEMENTAÇÃO OU
CORREÇÕES DO PRODUTO ESPECIFICAÇÃO DOS
PROCEDIMENTOS DE TESTE

RECEBIMENTO DOS ITENS DE


TESTE

EXECUÇÃO DO TESTE

ELABORAÇÃO DO RELATÓRIO ELABORAÇÃO DO DIÁRIO DE


DE INCIDENTES TESTES

LEGEN DA

PR OC E SSO D O D ES EN VOVIM EN TO

ELABORAÇÃO DO RESUMO
DOS TESTES
PR OC E SSO D O TESTE

Figura 3 – Processo de desenvolvimento e processo de teste


37

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.
38
39

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.
40

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.
41

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


Electrotechnical 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.
42

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
43

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
44

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
45

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


ISO/IEC 9126-1

Características Subcaracterísticas Descrição


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
Funcionalidade
sistemas
Conformidade Estar de acordo com normas,
convenções, regulamentações
Segurança de Capacidade de evitar acesso não
acesso autorizado a programas e dados
Maturidade Freqüência de falhas
Tolerância a falhas Manter nível de desempenho em caso
Confiabilidade de falha
Recuperabilidade Capacidade de se restabelecer e
restaurar dados após falhas
Inteligibilidade Facilidade de entendimento dos
conceitos utilizados
Usabilidade Apreensibilidade Facilidade de aprendizado
Operacionabilidade Facilidade de operar e controlar a
operação
Comportamento em Tempo de resposta, de
relação ao tempo processamento.
Eficiência
Comportamento em Quantidade de recursos utilizados
relação a recursos
Analisabilidade Facilidade de diagnosticar deficiências
e causas de falhas
Modificabilidade Facilidade de modificação e remoção
Manutenibilidad
de defeitos
e
Estabilidade Ausência de riscos de efeitos
inesperados
Testabilidade Facilidade de ser testado
Portabilidade Adaptabilidade Capacidade de ser adaptado a
ambientes diferentes
Capacidade para Facilidade de instalação
ser instalado
Conformidade Acordo com padrões ou convenções
46

de portabilidade
Capacidade para Substituir outro software
substituir
47

ANEXO 3 – MODELO DE PLANO DE TESTE


Empresa

Projeto Versão Data

PLANO DE TESTE
Objetivo: 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ção
Sumariza 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 teste
Item 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ências
Documento 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
Evidenciar que o conjunto de funções atendem às necessidades
Funcionalidade explícitas e implícitas para a finalidade a que se destina o produto.
Evidenciar que o desempenho se mantém ao longo do tempo e em
Confiabilidade condições estabelecidas.
Evidenciar a facilidade para a utilização do software
Usabilidade
Eficiência
Evidenciar que há facilidade para correções, atualizações e alterações.
Manutenibilidade
Evidenciar que é possível utilizar o produto em diversas plataformas com
Portabilidade pequeno esforço de adaptação.
48

Estágios do teste
Característica Descrição Sim Não
Validar individualmente cada um dos componentes utilizados
na
Teste Unitário implementação das funcionalidades do sistema. São
realizados ao
longo do fluxo de implementação.

Validar a integração entre componentes e pacotes


Teste de desenvolvidos
para implementação das funcionalidades do sistema. São
Integração realizados ao longo do fluxo de implementação após os testes
unitários e integração dos componentes.

Validar se todos os elementos do sistema foram


adequadamente
integrados e estão de acordo com os requisitos especificados.
Teste de Sistema São realizados pela equipe de desenvolvimento, no fluxo de
testes, conforme definido no Plano.

Validar se o sistema está de acordo com os requisitos


especificados. O teste de aceitação deverá ser realizado pelo
Teste de cliente em ambiente de homologação e seu sucesso indica
Aceitação que o
sistema está pronto para ser posto em produção.

Especifica os critérios para determinar quando um teste passou ou falhou


Crité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:
Produtos
Característica Sim Não
Plano 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

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 cronograma
49

Có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 ambiente
Item Descrição
Hardware
Software
Segurança
Ferramentas

Responsabilidades
Identifica 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.
Gerenciar

Projetar

Preparar

Executar

Verificar

Resolver
Grupo Tarefa

Desenvolvedor
Testador
Operador
Cliente
Suporte
Gerência
Admin. BD
Qualidade

Necessidades de contratação e treinamento


Especifica contratações de pessoal necessárias e as habilidades. Identifica necessidades de treinamento para fornecer as
habilidades necessárias.
Contratação
Grupo Função Habilidades necessárias Quantidade

Treinamentos
50

Grupo Treinamento Habilidades necessárias Quantidade

Riscos e contingências
Identifica os riscos associados a plano de teste. Especifica os planos de contingência para cada possível atraso do
cronograma.
Riscos e contingências
Risco Gravidade Contingência

Aprovações
Especifica 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
51

ANEXO 4 - MODELO DE PROJETO DE TESTE

Empresa

Projeto Versão Data

PROJETO DE TESTE
Objetivo: 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 teste
Item Versão Descrição

Metodologia
Cód. item Fase Tipo Estágio Abordagem Técnica
Item a ser Fase do projeto Tipo de teste Estágio de teste Caixa preta / caixa Automática /
testado ou branca Manual
validado

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
52

ANEXO 5 - MODELO DE CASOS DE TESTE

Empresa

Projeto Versão Data

CASO DE TESTE
Objetivo: 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 teste
Cód. Item Nome Requisitos associados
Có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 teste
Pré-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


53

ANEXO 6 – MODELO DE PROCEDIMENTOS DE TESTE

Empresa

Projeto Versão Data

PROCEDIMENTOS DE TESTE
Objetivo: 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
ambiente
Ferramentas de
apoio
Dados Tipo de teste a ser realizado

necessários
Passos Descrição dos passos para execução do procedimento.
Passo 1
Passo 2
Passo 3

Informações
adicionais
Registro 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.
54

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 entregues
Item Versão Descrição Localização Status

Observações

Aprovações
Especifica 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
55

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.

Testes
Cód. Proc. Versão Descrição Responsável OK Data
56

Cód. Procedimento
Funcionários presentes

Resultados do
procedimento
Informações do ambiente

Eventos anormais

Identificador relatórios de
incidentes

Cód. Procedimento
Funcionários presentes

Resultados do
procedimento
Informações do ambiente

Eventos anormais

Identificador relatórios de
incidentes

Cód. Procedimento
Funcionários presentes

Resultados do
procedimento
Informações do ambiente

Eventos anormais

Identificador relatórios de
incidentes

Cód. Procedimento
Funcionários presentes

Resultados do
procedimento
Informações do ambiente

Eventos anormais

Identificador relatórios de
incidentes

Cód. Procedimento
Funcionários presentes

Resultados do
procedimento
Informações do ambiente

Eventos anormais

Identificador relatórios de
incidentes
57

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
58

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

Resultados
Casos de teste
Fase Iteração Teste OK Erro Falha Total Data Responsáveis

Aprovações
Especifica 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
59

ANEXO 11 – GUIA OPERACIONAL DE TESTE

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

Objetivo
Formalizar 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.

Das könnte Ihnen auch gefallen