Escolar Documentos
Profissional Documentos
Cultura Documentos
Novembro de 2007
ii
Novembro de 2007
iii
.
iv
Agradecimentos
Agradeço primeiramente aos meus familiares, minha namorada, e em especial aos meus pais
que sempre acreditaram no meu potencial e me incentivaram nas horas mais difíceis.
Agradeço também ao Professor Adalberto Nobiato Crespo, meu orientador, que acreditou em
mim e incentivou-me para a conclusão deste trabalho.
Sumário
Resumo......................................................................................................................................vi
Abstract.....................................................................................................................................vi
1 Introdução...........................................................................................................................1
1.1 Objetivo .........................................................................................................................2
1.2 Metodologia...................................................................................................................2
7 Conclusão ..........................................................................................................................30
Referências Bibliográficas......................................................................................................31
vi
Resumo
Abstract
This work aims to study in detail the process of testing software. Thus, defined as the
process of testing software and features is the process, describing it is the levels of test
software, the types of test software, the techniques of software testing and documentation of
the test. It presents a model comprehensive process of testing associated with the process of
developing software. In the model presented (Model V), are considered the stages and levels
of testing of the software. It is also an example of model test procedure found in the literature.
To support the process of testing are presented some tools to help in the management of cases
of test.
1
1 INTRODUÇÃO
1.1 Objetivo
O objetivo deste trabalho de conclusão de curso é estudar em detalhes o processo de
teste de software. Compreender as técnicas de teste de software mais utilizadas. Estudar a
documentação necessária ao se testar um produto de software, desde a preparação do teste até
o registro dos resultados do teste. Finalmente, apresentar algumas ferramentas que apóiam o
processo de teste de software.
Este trabalho está organizado da seguinte maneira. O Capítulo 2 contém a definição de
processo de teste, caracterização de processo de teste de software, descrição dos níveis de
teste, descrição dos tipos de teste e das técnicas de teste. O Capítulo 3 contém a descrição da
documentação do processo de teste. O Capítulo 4 contém a descrição de um modelo
abrangente de processo de teste de software. O Capítulo 5 traz um exemplo de processo de
teste de software. O Capítulo 6 traz alguns exemplos de ferramentas para auxílio no
gerenciamento de casos de teste.
1.2 Metodologia
O estudo do processo de teste de software será realizado seguindo as seguintes etapas:
levantamento da bibliografia inicial, estudo da bibliografia inicial, desenvolvimento do plano
inicial, entrega e apresentação do plano inicial, levantamento e estudo da bibliografia
complementar, desenvolvimento do TCC e da apresentação, estudo das técnicas de teste,
conclusão dos estudos das bibliografias, desenvolvimento da monografia, desenvolvimento da
apresentação e entrega da monografia e apresentação.
2 PROCESSO DE TESTE
maneira que cada subprocesso tenha seu próprio modelo de processo; cada subprocesso é
composto de atividades; cada subprocesso tem critérios de início e término; e as atividades de
um subprocesso são organizadas em uma seqüência.
Teste de Funcionalidade
Teste de Interface
O que testar Teste de Desempenho
Tipo de Teste Teste de Carga (Stress)
Teste de Usabilidade
2a.
Teste de Volume
Teste de Segurança Particion. de Equivalencia
Análise de Valores Limites
Baseado em Casos de Uso
Como testar
3a.
Técnica de Teste Teste Funcional
Critérios
Teste Estrutural
Quando testar
1a.
Fase do Níveis de Teste
Desenvolvimento Teste de Unidade Teste de Caminhos
de Software Teste de Integração Teste de Comandos
Teste de Sistema Teste de Ramos
Teste de Aceitação Teste de Condições
Teste de Regressão Teste de Cond. Múltiplas
Figura 1: Visão do Processo de Teste segundo Níveis, Tipos e Técnicas e Critérios de Teste.
teste de acordo com vários tipos de produtos de software desenvolvidos por ela, ou seja, o
modelo de processo de software da empresa é configurável.
O processo de teste a ser aplicado em produto de software específico deve ser
caracterizado de acordo com o modelo de processo de software adotado pela empresa. Cada
modelo de processo de software define seus subprocessos e produtos correspondentes, que
serão utilizados para estabelecer os requisitos de teste do produto final. Exemplos: a análise
de requisitos produz os requisitos que serão utilizados para projetar os casos de teste de
aceitação; o projeto da arquitetura do software produz a arquitetura do programa que será
utilizada para projetar os casos de teste de integração.
Técnica de Teste é uma técnica que abrange os critérios de teste cujos elementos
requeridos são derivados a partir dos mesmos aspectos do software.
Teste de Valores Limites: técnica que leva à seleção de casos de teste que exercitam os
valores limítrofes. Análise de valor de limite é uma técnica que completa o
particionamento de equivalência, em vez de selecionar qualquer elemento de uma
classe de equivalência, a análise de valor limite leva a seleção de casos de teste nas
“bordas” da classe, elas focalizam nas condições de entrada e nas condições de saída.
Teste Baseado em Casos de Uso: técnica que direciona o testador a construir casos de
teste de maneira que os casos de uso associados aos requisitos sejam testados. Casos
de uso incorporam informações importantes para a geração de casos de teste
Teste Estrutural: É uma técnica de teste que abrange os critérios de teste cujos
elementos requeridos são derivados a partir da implementação do software, também é
chamado de testes de “caixa branca”. O teste estrutural objetiva verificar se a estrutura interna
da unidade está correta. É efetuada para todos os casos de teste que visam percorrer todos os
caminhos internos possíveis da unidade. São aplicados a unidades de programa pequenas,
como sub – rotinas, ou às operações associadas com um objeto. Exemplos de teste estrutural:
7
Teste de Ramos: técnica que direciona o testador a construir casos de teste de tal forma
que cada condição do programa seja executada pelo menos uma vez. O teste de ramos
é um critério mais forte que o teste de comandos, no sentido de exercitar o programa.
Teste de Comandos: técnica que direciona o testador a construir casos de teste de tal
forma que cada comando do programa seja executado pelo menos uma vez. A
cobertura de comandos é um dos critérios menos exigentes no sentido de exercitar o
programa.
Teste de Condições Múltiplas: tem como objetivo construir casos de teste em que
todas as condições sejam executadas e cada alternativa numa condição múltipla seja
executada pelo menos uma vez. A cobertura de condição múltipla é um critério mais
forte do que a cobertura de condições.
Caracterizar processo de teste é definir em que fase do desenvolvimento o software
será testado. Faz parte da caracterização especificar quais tipos de teste serão aplicados e qual
técnica de teste será adotado. Finalmente definidas as fases de teste, o tipos de teste, e a
técnica, escolhe – se os critérios para a geração dos casos de testes.
8
Relatório Resumo de Teste: é uma síntese dos resultados das atividades de teste e
contém Resumo dos Itens de Teste; Desvios das Especificações; Avaliação da
Abrangência do Teste; Resumo de Resultados; Avaliação dos Itens de Teste; e
Resumo de Atividades.
A Figura 2 ilustra os vários documentos gerados na fase de preparação do teste e na fase de
registro dos resultados do teste.
10
Plano
de
Teste
Especificação de Especificação de
Especificação de
Projeto de Teste Projeto de Teste
Projeto de Teste
Preparação
do Teste
Especificação de
Casos de Teste
Relatório de
Especificação de
Encaminhamento
Procedimentos de
de Item de Teste
Teste
Execução
do Teste Execução do Teste
Diário Diário
de de
...
Teste Teste
Registro
Relatório de Relatório de
...
Incidentes de Teste Incidentes de Teste
do Teste
Relatório-Resumo
de
Teste
Codificação de
Unidade
Fases do
Processo Especificação Especificação Projeto do Projeto de
de Software de Requisitos do Sistema Sistema Unidade
Planejamento e
Projeto de Teste
Artefatos de Projeto do Teste Projeto do Teste Projeto do Teste Projeto do Teste
Teste de Aceitação de Sistema de Integração de
Unidade
Plano Legenda:
de : atualização
Teste : geração
A Figura 4 ilustra os artefatos que são gerados na fase de preparação para o teste de
software.
Registro
Registro
do
Teste
Artefatos Relatório
de Diário Relatório de Resumo de
Teste de Incidentes de Teste
Teste Teste
Codificação da
Unidade
Teste de Unidade
Falha Sim
Alterações
Teste de
Integração
Sim
Falha Alterações
Teste de Sistema
Sim
Falha Alterações
Teste de
Aceitação
Sim
Falha Alterações
Encerramento
Legenda
do teste
: retorno a ciclos anteriores
PREPARAÇÃO REALIZAÇÃO
Plano
Planejamento dos
Testes de
Testes
Itens de Especificações
Desenho
Testes dos Testes dos
Testes
Implementação dos
Testes
Registro Relatórios de
Execução dos
dos Testes Incidentes de
Testes Testes
Verificação do
Término dos Testes
LEGENDA
Atividade
Relatório
Balanço Final
dos Testes Resumo dos
Testes
Artefato
Registro dos resultados da execução dos casos de teste: os casos de teste gerenciados
pela ferramenta possuem um conjunto de estados possíveis, que variam de acordo com
a ferramenta. Exemplos: executado, não-executado, falhou, passou;
Relatórios em lista ou gráficos das tarefas realizadas no teste: possibilidade de gerar
relatórios diversificados sobre o estágio atual de um projeto de teste;
Algumas ferramentas para auxílio no gerenciamento de casos de testes estudadas são:
TestLink e TestLog.
6.1 Testlog
Testlog é uma ferramenta para gerenciamento do processo de teste de um software.
O testlog fornece um ambiente de gerenciamento integrado para testes casuais e
projetos de software, fornece relatórios e estatísticas que mostram o progresso do projeto.
A ferramenta funciona em Microsoft Windows e utiliza banco de dados próprio,
criado na definição de um projeto. Sua instalação é a partir de um arquivo executável, e não
existem configurações especiais a serem realizadas. Esta ferramenta não é gratuita, e sua
licença expira em 90 dias. A Figura 9 ilustra a tela principal do testlog.
24
6.2 Testlink
Testlink é uma ferramenta de gerenciamento de testes e um sistema de execução de
testes escrita em apache, mysql, php que permite a criação, gerencia, execução e tracking de
casos de testes e planos de teste.
O testlink funciona em Microsoft Windows ou Linux. Requer PHP e servidor WEB
instalados e configurados. Utiliza banco de dados MySQL. Após instalação e configuração
dos programas necessários (PHP – Servidor WEB – MySQL), basta inicializar o TestLink
através da barra do navegador de internet. Testlink pode ser integrada com as ferramentas de
controle de bugs “Bugzilla” e “Mantis”. A Figura 16 ilustra a tela principal do testlink.
7 Conclusão
De acordo com a realização deste trabalho o processo de teste de software deve ser
tratado como mais um processo de software, deve estar integrado junto ao desenvolvimento
do software e também deve iniciar com o projeto para propiciar realimentação.
Todo o processo de teste de software tem que estar bem definido e caracterizado para
que o desenvolvimento do software tenha um bom andamento e no final tenha qualidade.
Um processo de software é conjunto de atividades e resultados associados que geram
um produto de software.
Ferramentas de gerenciamento de casos de teste e de controle de “bugs” são
importantes auxílios na melhoria do processo de teste de software: contribuem grandemente
para a documentação e gerência do processo.
As ferramentas auxiliam o teste, e cada uma delas possui recursos que podem ser
aproveitados em um projeto de teste, diferenciando-as das demais ferramentas.
31
Referências Bibliográficas
Pressman, Roger S.. Engenharia de Software. Makron Books, São Paulo, 2002.
http://www.testlog.com/products/testlog.htm
http://sourceforge.net/projects/testlink/
This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
This page will not be added after purchasing Win2PDF.