38
Curso de Engenharia de Computação PROCESSOS DE TESTE DE SOFTWARE Elio Trevisan Junior Itatiba São Paulo Brasil Novembro de 2007

Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

Embed Size (px)

Citation preview

Page 1: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

Curso de Engenharia de Computação

PROCESSOS DE TESTE DE SOFTWARE

Elio Trevisan Junior

Itatiba – São Paulo – Brasil

Novembro de 2007

Page 2: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

ii

Curso de Engenharia de Computação

PROCESSOS DE TESTE DE SOFTWARE

Elio Trevisan Junior

Monografia apresentada à disciplina: Trabalho de Conclusão de Curso, do Curso de Engenharia de Computação da Universidade São Francisco, sob a orientação do Prof. Ms/Adalberto Nobiato Crespo, como exigência parcial para conclusão do curso de graduação.

Orientador: Prof. Dr./Ms. Adalberto Nobiato Crespo Co-orientador: Prof. Dr./Ms. Alencar de Melo Junior

Itatiba – São Paulo – Brasil

Novembro de 2007

Page 3: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

iii

Processos de Teste de Software

Elio Trevisan Junior

Monografia defendida e aprovada em 12 de Dezembro de 2007 pela Banca

Examinadora assim constituída:

Prof Ms/Dr Adalberto Nobiato Crespo (Orientador)

USF – Universidade São Francisco – Itatiba – SP.

Prof Ms/Dr Alencar de Melo Junior (Co-Orientador)

USF – Universidade São Francisco – Itatiba – SP.

Prof Ms/Dr Rodrigo Prado (Membro Interno)

USF – Universidade São Francisco – Itatiba – SP.

Prof Ms/Dr Thales Cezare (Membro Interno)

USF – Universidade São Francisco – Itatiba – SP.

.

Page 4: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

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.

Agradeço também ao Professor e Coordenador do curso de Engenharia de Computação,

Alencar de Melo Junior, um companheiro de percurso pelo convívio, pelo apoio, pela

compreensão e pela amizade.

Eu agradeço fraternalmente a todos.

Page 5: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

v

Sumário

Resumo......................................................................................................................................vi

Abstract.....................................................................................................................................vi

1 Introdução...........................................................................................................................1 1.1 Objetivo .........................................................................................................................2 1.2 Metodologia...................................................................................................................2

2 Processo de teste .................................................................................................................2 2.1 Definição de processo de teste.......................................................................................2 2.2 Caracterização do processo de teste ..............................................................................3 2.3 Níveis de teste................................................................................................................4 2.4 Tipos de testes ...............................................................................................................5 2.5 Técnicas de teste............................................................................................................6

3 Documentação do Processo de Teste ................................................................................8

4 Um Processo Genérico de Teste ......................................................................................11 4.1 Preparação para o teste de software.............................................................................12 4.2 Execução do teste de software.....................................................................................14 4.3 Fluxograma de execução do teste de software ............................................................15

5 Processo de Teste do Método PRAXIS...........................................................................18 5.1 Planejamento dos testes ...............................................................................................21 5.2 Desenho dos testes.......................................................................................................21 5.3 Implementação dos testes ............................................................................................21 5.4 Execução dos testes .....................................................................................................22 5.5 Verificação do término dos testes................................................................................22 5.6 Balanço final dos testes ...............................................................................................22

6 Ferramentas para Auxílio no Gerenciamento de Casos de Teste................................22 6.1 Testlog .........................................................................................................................23 6.2 Testlink ........................................................................................................................26

7 Conclusão ..........................................................................................................................30

Referências Bibliográficas......................................................................................................31

Page 6: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

vi

Resumo

Este trabalho tem como objetivo o estudo em detalhes do processo de teste de

software. Desta forma, define – se o processo de teste de software e caracteriza – se o

processo, descrevendo – se os níveis de teste de software, os tipos de teste de software, as

técnicas de teste de software e a documentação do processo de teste. Apresenta – se um

modelo abrangente de processo de teste associado ao processo de desenvolvimento de

software. No modelo apresentado (Modelo V), são consideradas as fases e os níveis de teste

do software. Apresenta – se também um exemplo de modelo de processo de teste encontrado

na literatura. Para apoiar o processo de teste são apresentadas algumas ferramentas para

auxílio no gerenciamento de casos de teste.

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.

Page 7: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

1

1 INTRODUÇÃO

O desenvolvimento de sistemas de software envolve uma série de atividades de

produção em que as oportunidades para injetar a falibilidade humana são enormes. Erros

podem vir a ocorrer até no início do processo, onde os objetivos podem ser errôneos ou

imperfeitamente especificados. Além disso, erros podem ocorrer em estágios posteriores de

projeto e desenvolvimento. Por causa da inabilidade humana de realizar e de se comunicar

com perfeição, o desenvolvimento é acompanhado por uma atividade de garantia de

qualidade. [PRESSMAN,2002]

Teste de software é o processo de executar o software de uma maneira controlada com

o objetivo de avaliar se o software se comporta conforme especificado. O teste é uma

atividade fundamental para assegurar que o software atende aos requisitos do usuário e é a

avaliação final da qualidade do produto desenvolvido.

Teste de software é um elemento crítico da garantia de qualidade de software e

representa a revisão final da especificação, projeto e geração de código. [PRESSMAN,2002]

Para todo e qualquer processo do desenvolvimento de software, o teste, realizado

durante ou após o desenvolvimento do software, requer um processo bem definido que oriente

a sua realização.

Este documento tem como propósito descrever as atividades que compõem um

processo de teste de software, abordar as técnicas de teste, os tipos de teste, critérios de teste.

O processo descrito pode ser instanciado para diversos domínios de aplicação, não estando

restrita sua utilização a tamanho, complexidade ou criticalidade do software.

Nunca se deu tanto valor à qualidade do software como hoje e os testes nunca foram

levados tão a sério. Todas as grandes empresas, se já não tem, estão montando seus

laboratórios de teste e investindo na especialização de mão de obra qualificada.

Page 8: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

2

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

2.1 Definição de processo de teste

Um processo de teste de software é um conjunto de passos parcialmente ordenados

constituídos por atividades, métodos e práticas, usadas para testar um produto de software.

Um processo de teste de software possui como subprocessos o planejamento, o projeto, a

execução e o registro do teste, e tem as seguintes características: utiliza recursos; está sujeito a

um conjunto de restrições; gera artefatos (plano, projeto, casos de teste, relatórios de

execução); pode ser definido como uma hierarquia de subprocessos, organizados de tal

Page 9: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

3

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.

2.2 Caracterização do processo de teste

Em qualquer desenvolvimento de software a atividade de teste deve ser realizada

segundo um processo de teste previamente caracterizado. Para caracterizar um processo de

teste é necessário especificar os seus elementos segundo a visão associada ao processo de

software, composta pelos níveis de teste correspondentes às fases do desenvolvimento, pelos

tipos de teste e pelas técnicas e critérios de teste. A figura 1 ilustra os elementos dessa visão.

A caracterização do processo de teste é completada pelo detalhamento das atividades

de planejamento, projeto, execução e registro do teste, considerando os elementos

anteriormente especificados.

A caracterização do processo de teste de software depende da política de teste adotada

pela empresa. Uma empresa pode caracterizar um processo de teste de uma única maneira, ser

aplicado em qualquer produto de software por ela desenvolvido, ou seja, o seu modelo de

processo de teste de software é fixo. Uma outra empresa pode caracterizar seus processos de

Fase doDesenvolvimento

de Software

Tipo de Teste

Técnica de Teste

1a.

3a.

2a.

Teste de FuncionalidadeTeste de InterfaceTeste de DesempenhoTeste de Carga (Stress)Teste de UsabilidadeTeste de VolumeTeste de Segurança

Teste FuncionalTeste Estrutural

Níveis de TesteTeste de UnidadeTeste de IntegraçãoTeste de SistemaTeste de AceitaçãoTeste de Regressão

Quando testar

O que testar

Como testar

Particion. de EquivalenciaAnálise de Valores LimitesBaseado em Casos de Uso

Teste de CaminhosTeste de ComandosTeste de RamosTeste de CondiçõesTeste de Cond. Múltiplas

Critérios

Figura 1: Visão do Processo de Teste segundo Níveis, Tipos e Técnicas e Critérios de Teste.

Page 10: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

4

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.

2.3 Níveis de teste

O nível de teste é determinado pelo artefato de software utilizado para derivar os

requisitos de teste; ou seja, a cada fase inicial do processo de software, corresponde um nível

de teste.

Os níveis de teste são:

Teste de Unidade: É o nível de teste cujos requisitos são derivados do projeto dos

módulos e é aplicado para verificar se o módulo corresponde ao seu projeto.

Teste de Integração: É o nível de teste cujos requisitos são derivados da arquitetura do

sistema e é aplicado para verificar se os módulos executam corretamente quando integrados.

Teste de Sistema: É o nível de teste cujos requisitos são derivados da especificação de

requisitos funcionais e não funcionais e é aplicado para verificar se o software e o hardware

executam corretamente quando integrados ao ambiente de operação.

Teste de Aceitação: É o nível de teste cujos requisitos são derivados da especificação

de requisitos do usuário e é aplicado para verificar se o sistema satisfaz as expectativas do

usuário.

Teste de Regressão: É o nível de teste normalmente aplicado durante a fase de

manutenção do software; consiste na reaplicação de casos de teste após qualquer tipo de

alteração do software. Pode ser eventualmente aplicado após a correção do software

provocada por defeitos encontrados durante qualquer outro nível de teste.

Page 11: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

5

2.4 Tipos de testes

O tipo de teste define a característica do software que deve ser testada.

Os tipos de testes são:

Teste de Funcionalidade: objetivo é a validação das funcionalidades requeridas nos

serviços, métodos e use cases.

Teste de Interface: Os testes de interfaces ocorrem quando módulos ou subsistemas

são integrados para criar sistemas maiores. O teste de interface tem como objetivo detectar

erros que possam ter sido introduzidos no sistema, em razões de erros ou suposições inválidas

sobre as interfaces.

Teste de Desempenho: tem como objetivo testar o desempenho de execução do

software dentro de um contexto de um sistema integrado. O teste de desempenho é, às vezes,

combinado com teste de estresse e freqüentemente existe instrumentação de hardware e de

software. O teste de desempenho preocupa-se com tempo de resposta, rendimento e

capacidade (principalmente com a capacidade do banco de dados).

Teste de Carga: Também conhecido com teste de estresse consiste em aumentar a

carga do sistema até que o desempenho do sistema se torne inaceitável (falhe). O teste de

carga tem duas funções: Primeira testa o comportamento de falha do sistema, podem surgir

circunstâncias por meio de uma combinação inesperada de eventos, quando a carga colocada

no sistema excede a carga máxima prevista. A segunda causa estresse no sistema e pode

acarretar a detecção de defeitos que, não se manifestariam. Os testes de cargas são relevantes

para sistemas distribuídos, com base em rede de processadores.

Teste de Usabilidade: é um processo em que participantes representativos avaliam o

grau que um produto se encontra em relação a critérios específicos de usabilidade. Foca nos

fatores humanos, estética, consistência da interface com o usuário, help on-line e agentes,

manual e material de treinamento. Testes de usabilidade são mais eficientes quando

implementados como parte do processo de desenvolvimento de um produto.

Teste de Volume: objetivo do teste de volume é submeter grandes quantidades de

dados ao sistema para determinar limites que causam a falha do software, ele também

identifica a carga ou volume máximo persistente que o sistema suporta por um determinado

período.

Teste de Segurança: visa verificar se todos os mecanismos de proteção embutidos no

sistema o protegerão de fato de acesso indevidos. Objetivo é garantir que o sistema se

comporte adequadamente mediante tentativas ilegais de acesso.

Page 12: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

6

2.5 Técnicas de teste

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.

As técnicas de teste são:

Teste Funcional: É uma técnica de teste que abrange os critérios de teste cujos

elementos requeridos são derivados a partir da especificação de requisitos funcionais do

software. O sistema é uma caixa preta e seu comportamento pode ser determinado estudando

as entradas e saídas relacionadas, também é chamado de testes de “caixa preta”. O teste

funcional procura descobrir funções incorretas ou ausentes, erros de interface, erros nas

estruturas de dados ou no acesso a banco de dados externo, erros de desempenho, erros de

inicialização e término.

Exemplos de teste funcional:

Teste de Partições de Equivalência: técnica que baseia-se em identificar todas as

partições de equivalência que tenham de ser manuseadas por um programa, os casos

de testes são projetados de modo que as entradas e as saídas fiquem dentro dessas

partições.

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:

Page 13: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

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 Caminhos: o objetivo desta técnica é exercitar cada caminho de execução

independente, por meio de um componente ou programa. Se cada caminho

independente for executado, todas as declarações no componente devem ter sido

executadas pelo menos uma vez. Todas as declarações são testadas para casos

verdadeiros e os falsos. Os testes de caminhos são utilizados nos estágios de teste de

unidades e teste de módulo do processo de teste.

Teste de Condições: método que exercita as condições lógicas contidas em um módulo

de programa, o teste de condições focaliza o teste de cada condição do programa, as

estratégias de teste de condição tem geralmente duas vantagens: primeira a medida da

cobertura de teste de uma condição é simples e a segunda a cobertura de teste das

condições de um programa das diretrizes para a geração de testes adicionais para o

programa.

O objetivo do teste de condição é detectar não apenas erros nas condições de um

programa, mas também outros erros de programas.

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.

Page 14: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

8

3 DOCUMENTAÇÃO DO PROCESSO DE TESTE

A documentação do processo de teste está dividida em duas partes. Os documentos

que tratam da preparação para o teste e documentos que tratam do registro dos resultados do

teste.

Os documentos para a preparação do teste estão associados ao ramo esquerdo do

modelo V do processo de teste, exemplificado na figura 3.

Essa documentação é baseada na Norma IEEE – 829, criada em 1998 pelo DoD,

Departamento de Defesa Americano.

Esses documentos são:

Plano de Teste: descreve o planejamento de todas as atividades envolvidas no teste de

um software. Além das atividades, o Plano de Teste deve conter a extensão do teste, a

abordagem utilizada no teste, os recursos necessários, o cronograma das atividades de

teste e a definição do ambiente operacional para a execução dos testes. O Plano de

Teste identifica os itens do software a serem testados, o nível em que os itens devem

ser testados, a abordagem utilizada para testar cada um dos itens, as tarefas envolvidas

em cada atividade de teste, as pessoas responsáveis por cada atividade e os riscos

associados ao plano de teste.

Projeto de Teste: conjunto de atividades para: 1 - Refinar a abordagem de teste de

software definida no planejamento; 2 - Definir e especificar os casos de teste; 3 -

Estabelecer requisitos de ambiente de teste; 4 - Definir e especificar os procedimentos

de teste. Os resultados dessas atividades são registrados no documento denominado

Especificação de Projeto de Teste.

Casos de Teste: conjunto de dados de entrada e os respectivos resultados esperados da

execução. Identificar todas as bases de dados, arquivos, mensagens de terminais, áreas

de memória residente e valores passados pelo sistema operacional, associados à

execução de cada caso de teste.

Relatório de Encaminhamento de Item de Teste

Os documentos para o registro dos testes estão associados ao ramo da direita do modelo V do

processo de teste, exemplificado na figura 3.

Esses documentos são:

Page 15: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

9

Diário de Teste: registra detalhadamente o andamento das atividades de execução do

teste e contém Descrição do Teste; e Registros de Atividades e Eventos.

Relatório de Incidente de Teste: registra cada incidente de teste e contém Resumo do

Incidente de Teste e Descrição do Impacto do Incidente de Teste.

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.

Page 16: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

10

Preparação

do Teste

Execução

do Teste

Registro

do Teste

Plano

de

Teste

Especificação de

Projeto de Teste

Especificação de

Casos de Teste Relatório de

Encaminhamento

de Item de Teste

Execução do Teste

Relatório-Resumo

de

Teste

Diário

de

Teste

Diário

de

Teste

Relatório de

Incidentes de Teste

Relatório de

Incidentes de Teste

Especificação de

Projeto de Teste

Especificação de

Projeto de Teste

Especificação de

Procedimentos de

Teste

...

...

Figura 2: Atividades do Processo de Teste e Documentos Associados

Page 17: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

11

4 UM PROCESSO GENÉRICO DE TESTE

Nesta etapa é apresentado um modelo abrangente de processo de teste que considera

vários níveis de teste e de atividades. O modelo apresentado é genérico, pois não está

associado ao teste de um tipo de software em particular nem a um específico processo de

desenvolvimento de software.

O modelo apresentado é o Modelo V um dos mais adotados para o teste de software.

Esse modelo considera as principais fases do processo de software, associando a cada nível de

teste de software correspondente. A figura 3 traz uma ilustração do Modelo V. O ramo

esquerdo do modelo correspondente à preparação do teste de software, tendo como referência

das fases do processo de desenvolvimento de software.

Especificação de Requisitos

Especificação do Sistema

Projeto do Sistema

Projeto de Unidade

Codificação de Unidade

Teste de Unidade

Teste de Integração

Teste de Sistema

Teste de Aceitação

Fases do Processo de Software

Níveis do Teste de Software

Projeto

Arquitetura do Sistema

Especificações Funcional e Não Funcional

Requisitos do Usuário

Figura3: Modelo V de Teste de Software

Page 18: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

12

O ramo direito corresponde à execução e registro do teste, tendo como referência os

níveis de teste de software.

Durante as etapas iniciais do processo de software é feita a preparação do teste

compreendendo o planejamento e o projeto de teste.

A fase de Especificação de Requisitos: produz os requisitos do usuário que são

utilizados para a determinação dos requisitos do Teste de Aceitação. O teste de aceitação

verifica se o sistema satisfaz os requisitos do usuário.

A fase de Especificação do Sistema: produz as especificações Funcionais e Não

Funcionais que são utilizadas para a determinação dos requisitos do Teste de Sistema. O teste

de sistema verifica se as funções estão implementadas no sistema e as características estão

satisfeitas.

A fase de Projeto do Sistema: produz a arquitetura do sistema que estabelece os

relacionamentos entre os componentes do sistema utilizados para a determinação dos

requisitos do Teste de Integração. O teste de integração verifica se esses relacionamentos

estão implementados corretamente.

A fase de Projeto de Unidade: produz o projeto dos módulos do sistema utilizado para

a determinação dos requisitos do Teste de Unidade. O teste de unidade verifica se esses

módulos estão codificados corretamente.

4.1 Preparação para o teste de software

Preparação para o Teste de Software do Modelo V, ilustra os artefatos de teste que são

gerados a partir dos artefatos de especificação e projeto de software produzido nas fases

iniciais do processo de desenvolvimento do software.

O Plano de Teste: é elaborado inicialmente a partir dos requisitos do usuário; as

especificações funcionais e não funcionais são utilizadas para detalhar o plano de teste, que

pode ser mais refinado a partir da definição da arquitetura do sistema. Ou seja, o plano de

teste é produzido a partir dos artefatos que foram gerados nas fases de especificação de

requisitos, especificação do sistema e projeto do sistema e é complementado com informações

geradas nas especificações de projeto de teste.

Page 19: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

13

O Projeto de Teste de Aceitação: é elaborado em sua versão inicial a partir dos

requisitos do usuário. Nesta fase, os requisitos do usuário definidos não contêm informações

suficientes para a especificação dos casos de teste nem para a especificação dos

procedimentos de teste, que devem ser completamente especificadas em fases posteriores. No

entanto, podem ser estabelecidos os critérios de Teste de Aceitação do Sistema.

O Projeto de Teste de Sistema: é elaborado a partir das especificações funcional e não

funcional do sistema, incluindo as informações da especificação de casos de teste e da

especificação de Procedimentos de Teste.

O Projeto de Teste de Integração: é elaborado a partir da arquitetura do sistema,

incluindo as informações da especificação de casos de teste e da especificação de

procedimentos de teste.

O Projeto de Teste de Unidade: é elaborado a partir do projeto de Unidade, incluindo

as informações da especificação de casos de teste e da especificação de procedimentos de

teste.

Figura4: Preparação para o Teste de Software

Requisitos

do Usuário

Artefatos de Software

Especificações

Funcional e Não

Funcional

Arquitetura do

Sistema

Projeto

Especificação de Requisitos

Especificação do Sistema

Projeto do Sistema

Projeto de Unidade

Fases do Processo

de Software

Artefatos de Teste

Projeto do Teste

de Sistema

Projeto do Teste

de Integração

Projeto do Teste

de

Unidade

Projeto do Teste

de Aceitação

Planejamento e

Projeto de Teste

P l a n o

d e

T e s t e

Legenda:

: atualização

: geração

Page 20: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

14

A Figura 4 ilustra os artefatos que são gerados na fase de preparação para o teste de

software.

4.2 Execução do teste de software

O ramo Execução do Teste de Software do Modelo V, ilustra as atividades de

execução do teste em que os artefatos durante a preparação do teste são utilizados; além disso,

ilustra também os artefatos resultantes dessas atividades. Na execução de cada um dos níveis

de teste os projetos de teste correspondentes são utilizados para direcionar a atividade de teste.

Na execução de cada um dos níveis de teste os projetos de teste correspondentes são

utilizados para direcionar a atividade de teste.

Cada um dos níveis de teste pode ser iterado em ciclos de: detecção de defeitos,

depuração e correção de defeitos, e a reaplicação dos casos de teste. Além disso, pode ocorrer

a necessidade de se retornar a um nível anterior de teste, por exemplo, no teste de aceitação

detectar-se um problema que requeira a re-execução do teste de integração ou de unidade.

O andamento das atividades de execução do teste é registrado detalhadamente no

Diário de Teste. Os eventos que mereçam registro especial e os resultados do teste são

registrados no Relatório de Incidentes de Teste.

O Relatório Resumo de Teste é uma síntese dos resultados das atividades de teste.

Pode ser gerado um único documento contendo os resultados de todos os níveis de teste

aplicados.

A Figura 5 ilustra os artefatos gerados na fase de execução dos testes.

Page 21: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

15

4.3 Fluxograma de execução do teste de software

A Figura 6 ilustra o fluxo de execução do teste de software de um processo genérico

de teste, onde estão inseridos os níveis de teste.

O teste de uma unidade inicia-se após o término de sua codificação e processa-se

através de ciclos de detecção de falhas e de alterações para corrigi-las.

Para o teste de unidade são aplicadas as seguintes técnicas de teste:

Técnica Estrutural: nesta técnica, os seguintes critérios para a geração dos casos de

teste podem ser adotados: Teste de Comandos, Teste de Ramos, Teste de Caminhos,

Teste de Caminhos Básicos, Teste de Condições, Teste de Condições Múltiplas, Teste

de Laços, Teste de Fluxo de Dados.

Técnica Funcional: nesta técnica, os seguintes critérios para a geração dos casos de

teste podem ser adotados: Particionamento de Equivalência, Análise de Valores

Limites, Teste Baseado em Casos de Uso, Grafo de Causas e Efeito, Teste Baseado em

Tabelas de Decisão, Teste Baseado em Máquinas de Estados.

Dependendo das características da unidade em teste e dos objetivos do teste os

seguintes tipos de teste podem ser aplicados: Teste de Funcionalidade, Teste de Desempenho,

Teste de Confiabilidade, Teste de Usabilidade, etc.

Artefatos de

Teste

Projeto do Teste de

Integração

Projeto do Teste de Sistema

Projeto do Teste de

Aceitação

Projeto do Teste de Unidade

Execução Teste de Unidade

Teste de Integração

Teste de Sistema

Teste de Aceitação

Ciclos Ciclos Ciclos Ciclos

R e g i s t r o d o

T e s t e

Relatório Resumo de

Teste

Relatório de Incidentes de

Teste

Diário de

Teste

Artefatos de

Teste

Registro

Figura 5: Execução do Teste de Software

Page 22: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

16

O teste de integração inicia-se com unidades já testadas e também se processa através

de ciclos de detecção de falhas e de alterações para corrigi-las.

Para o teste de integração, no processo de interconexão das unidades são aplicados os

seguintes técnicas de testes:

Técnica Estrutural: nesta técnica, os seguintes critérios para a geração dos casos de

teste podem ser adotados: Teste de Comandos, Teste de Ramos, Teste de Caminhos,

Teste de Caminhos Básicos, Teste de Fluxo de Dados.

Técnica Funcional: nesta técnica, os seguintes critérios para a geração dos casos de

teste podem ser adotados: Particionamento de Equivalência, Análise de Valores

Limites, Teste Baseado em Casos de Uso, Grafo de Causas e Efeito, Teste Baseado em

Tabelas de Decisão, Teste Baseado em Máquinas de Estados.

Dependendo das características das unidades sob integração e dos objetivos do teste os

seguintes tipos de teste podem ser aplicados: Teste de Funcionalidade, Teste de Desempenho,

Teste de Confiabilidade, Teste de Usabilidade, etc.

Page 23: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

17

Teste de Integração

Falha Alterações Sim

Não

Ciclo de Teste de Unidade

Ciclo de Teste de Integração

Teste de Sistema

Falha Alterações Sim

Não Ciclo de Teste de Sistema

Teste de Aceitação

Falha Alterações Sim

Não Ciclo de Teste de Aceitação

Encerramento

do teste

Teste de Unidade

Falha Alterações Sim

Não

Codificação da Unidade

Figura 6: Fluxograma de Execução do Teste de

Software

Legenda

: retorno a ciclos anteriores

Page 24: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

18

O teste de sistema tem início depois de concluído o teste de integração e também se

processa através de ciclos de detecção de falhas e de alterações.

Para o teste de sistema são aplicadas as seguintes técnicas de teste:

Técnica Funcional: Particionamento de Equivalência, Análise de Valores Limites,

Teste Baseado em Casos de Uso, Grafo de Causas e Efeito, Teste Baseado em Tabelas

de Decisão, Teste Baseado em Máquinas de Estados.

Dependendo das características das unidades sob integração e dos objetivos do teste os

seguintes tipos de teste podem ser aplicados: Teste de Desempenho, Teste de Confiabilidade,

Teste de Usabilidade, Teste de Segurança, Teste de Carga, Teste de Volume, Teste de

Instalação, Teste de Recuperação, etc.

O teste de aceitação tem inicio depois de concluído o teste de sistema e se processa

através de detecção de problemas e de alterações.

Para o teste de aceitação são aplicados todas as técnicas de teste e todos os tipos de

teste aplicados no teste de sistema.

Um processo de teste não precisa necessariamente incluir todos os níveis de teste.

5 PROCESSO DE TESTE DO MÉTODO PRAXIS

O Método Praxis - Processo para Aplicativos Extensíveis Interativos – é um processo

de software com ênfase no desenvolvimento de aplicativos gráficos interativos, baseados na

tecnologia orientada a objetos. O processo de teste PRAXIS é uma simplificação do modelo V

e aborda os seguintes níveis de teste: Teste de Unidade, Teste de Integração e Teste de

Aceitação. A figura 7 ilustra o processo de teste do PRAXIS.

O processo compreende dois grupos de atividades: Preparação e Realização.

Na Preparação são elaborados o plano de teste e as especificações de teste de

aceitação, teste de integração e teste de unidade.

São produzidos os documentos de descrição dos testes, que servem de entrada para as

atividades de realização do teste.

Na Realização os testes são aplicados, os defeitos encontrados são corrigidos e os

relatórios de teste são escritos, produzindo-se os relatórios de teste.

Page 25: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

19

A Preparação e Realização dos testes correspondem a uma passada completa pelo

fluxo de testes. Este fluxo completo é composto pelas atividades de Planejamento dos Testes,

Desenho dos Testes, Implementação dos Testes, Execução dos Testes, Verificação do

Término dos Testes e Balanço Final dos Testes.

A Figura 8 ilustra as atividades de teste do método PRAXIS. As atividades do método

PRAXIS são: Planejamento dos Testes; Desenho dos Testes; Implementação dos Testes;

Execução dos Testes; Verificação do Término dos Testes; e Balanço Final dos Testes.

Testes de Aceitação

Testes de Integração

Testes de Unidade

Testes de Aceitação

Testes de Integração

Testes de Unidade

Descrição dos Testes de Unidade

Descrição dos Testes

de Integração

Descrição dos Testes

de Aceitação

Relatórios dos Testes

de Aceitação

Relatórios dos Testes

de Integração

Relatórios dos Testes de Unidade

PREPARAÇÃO REALIZAÇÃO

Figura 7: Estrutura em V do Fluxo de Testes

Page 26: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

20

Verificação do Término dos Testes

Planejamento dos Testes

Desenho dos Testes

Implementação dos Testes

Execução dos Testes

Balanço Final dos Testes

Itens de

Testes

Registro

dos

Testes

Plano

de

Testes

Especificações

dos

Testes

Relatórios de

Incidentes de

Testes

Relatório

Resumo dos

Testes

Figura 8: Atividades e Artefatos do Fluxo de Testes

Atividade

Artefato

L E G E N D A

Page 27: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

21

5.1 Planejamento dos testes

O planejamento dos testes envolve muitos aspectos técnicos e gerenciais.

Os produtos dessa atividade são os planos de testes.

O Plano de Testes de Aceitação é único e obrigatório dentro do PRAXIS. Ele será

normalmente preenchido durante o projeto inicial do desenvolvimento do software. Sua base é

a Especificação de Requisitos do Software.

No PRAXIS o produto é desenvolvido de um modo iterativo e incremental, resultando

na liberação sucessiva de várias versões operacionais do produto. Cada Liberação é o

resultado de um processo de integração de funcionalidades implementadas. Os Planos de

Testes de Integração são preenchidos no inicio do desenvolvimento de cada Liberação.

Os testes escolhidos para cada liberação partem de um subconjunto dos testes de

aceitação correspondentes aos casos de uso implementados nessa Liberação.

Cada Plano de Testes de Unidade são preenchidos durante a respectiva

implementação. Os testes de unidade requerem a construção de componentes de testes-drives

e “stubs”.

5.2 Desenho dos testes

Essa atividade tem como produto as especificações dos testes, que incluem a

especificação dos casos de teste e as especificações dos procedimentos de teste.

Cada especificação de teste contém:

Procedimentos de teste, que descrevem a seqüência de ações que devem ser

executadas para realizar um grupo de testes. Cada procedimento de teste corresponde a

um roteiro importante de um caso de uso. Um procedimento pode ser executado de

manualmente ou automaticamente.

Casos de Teste, que especificam os valores de entrada e os resultados esperados para

cada teste. Os valores de entrada devem ser escolhidos de acordo com critérios que

determinam o rigor do teste de software.

5.3 Implementação dos testes

Essa atividade consiste em preparar o ambiente em que os testes serão realizados,

disponibilizando todos os recursos necessários. Os itens a testar são instalados e configurados,

assim como as ferramentas e componentes de teste. Os problemas encontrados são

registrados.

Page 28: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

22

5.4 Execução dos testes

Execução dos Testes consiste na execução do produto em teste com a aplicação dos

casos de teste especificados, conforme os procedimentos definidos. Os produtos dessa

atividade são: o registro da execução de cada caso de teste e o registro dos incidentes de teste.

Podem resultar dos problemas encontrados nesta atividade, solicitações de correção dos itens

sob teste assim como alterações nos planos e nas especificações dos próprios testes.

5.5 Verificação do término dos testes

A Verificação do Término dos Testes determina se as condições de completude e de

sucesso dos testes estão satisfeitas. Testes complementares podem ser projetados caso sejam

necessários para atingir a cobertura desejada do teste. Eventuais problemas encontrados

durante esta atividade devem ser registrados.

5.6 Balanço final dos testes

Consiste em realizar uma avaliação geral dos testes registrando as lições aprendidas

com a elaboração do relatório resumo dos testes.

6 FERRAMENTAS PARA AUXÍLIO NO GERENCIAMENTO DE

CASOS DE TESTE

Uma ferramenta de teste é um tipo de software que auxilia no processo de teste de um

software, contribuindo com a automatização e melhora no desempenho do teste. Ferramentas

de auxílio ao teste de software facilitam a transferência de conhecimento e a compreensão da

organização do projeto de teste, assim como a gerência dos casos de teste. Ferramentas de

gerenciamento e controle de “bugs” facilitam a organização dos “bugs” encontrados nos

testes, cobrindo todo o seu ciclo de vida.

As ferramentas de gerenciamento de casos de teste possuem as seguintes

funcionalidades:

Registro dos casos de teste: um caso de teste é registrado e gerenciado pela ferramenta

dentro de uma determinada estrutura e com um conjunto pré-definido de informações;

Page 29: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

23

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.

Page 30: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

24

Figura 9 - Tela Principal do TestLog

O testlog possui um projeto de teste que cria e gerencia os projetos podendo

especificar sua amplitude de início e de término, gera relatórios e projetos específicos de

casos de teste. A Figura 10 ilustra o plano de projeto de teste.

Figura 10: Plano de Projeto de Teste do Testlog

O software organiza as suítes de teste em ordem alfabética, e pode-se visualizar a

estrutura na forma expandida, mostrando os casos de teste na raiz da suíte correspondente a

eles através do teste suítes.

No testlog os casos de testes são armazenados em suítes de teste e podem ter uma ou

mais configurações associadas, com requisitos necessários para a execução de um caso de

teste. Os seguintes campos descrevem um caso de teste: “Test-ID”, “Expected Duration”,

“Title”, “Test Type”, “Test Phase”, “Created”, “Last Update”, “Created By”, “Last Update

By”, “Recommended Config ID’s”, “Resource ID’s Required”, “Config to Add”, “Resource to

Add”, “Prerequisites and Initial Condition”, “Test Description and Steps”, “Expected

Results”, “Notes Field 1”, “Notes Field 2”, “External Description Link”. A Figura 11 ilustra

os suítes de teste.

Page 31: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

25

Figura 11: Suítes de Teste do Testlog

Os casos de testes são executados individualmente, selecionando o caso de teste e o

resultado. A Figura 12 ilustra os casos de teste.

Figura 12: Tela de criação de um caso de teste no TestLog

Page 32: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

26

A política de segurança do testlog permite a criação de usuários sem permissão ou

restrição, registra qual usuário realizou a última modificação, exibe a data e hora das

modificações realizadas.

No testlog existem 4 tipos de relatórios que podem ser obtidos, e um “Report

Wizard”, gera o relatório desejado, de acordo com alguns critérios. Os tipos de relatórios que

a ferramenta apresenta são: “Progress Report”; “Status Report”; “Test Case Report”; “Test

List Report”;

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.

Figura 16 - Tela Principal do TestLink

Page 33: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

27

Alguns conceitos implementados pela ferramenta testlink são:

Especificação de Requisitos: onde os analistas de testes registram os requisitos que

serão testados e alocam os casos de testes relacionados a cada um dos requisitos.

Produto, Componente e Categoria: O Sistema sob teste e seus módulos. Uma forma de

organizar os casos de testes de cada Produto.

Plano de Testes: Onde são adicionados os casos de testes de produtos relacionados a

um plano de testes de um projeto específico.

Casos de Teste: Onde são registradas as informações de cada um dos procedimentos

de testes das funcionalidades do sistema.

“Build”: Uma versão específica de software gerado por um projeto. O “Build” está

relacionado a um plano de testes específico.

O testlink organiza os “Componentes” em ordem alfabética. Para as “Categorias”,

existe a opção de reordenar os nomes de acordo com o desejado. Componentes possuem as

seguintes informações associadas: Nome do Componente, Introdução, Escopo, Referência,

Metodologia e Limitações. Categorias possuem as seguintes informações associadas: Nome

de Categoria, Objetivo, Configuração, Data e “Tools”. Pode-se visualizar os componentes na

forma compacta ou expandida, mostrando as categorias e casos de teste na estrutura do

projeto.

TestLink permite a criação de palavras-chave usadas para facilitar a importação de

casos de testes para um determinado projeto. Os casos de testes são organizados dentro de

uma categoria, que fica dentro de um componente, que está relacionado ao produto a ser

testado. Os seguintes campos descrevem um caso de teste: “Test Case Title”, “Summary”,

“Steps”, “Expected Result”. A Figura 17 ilustra a tela de criação de um caso de teste.

Page 34: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

28

Figura 17: Tela de criação de um caso de teste no TestLink

Para executar os casos de testes, é necessário importar os casos de teste de um plano

de teste, onde os casos de teste serão executados. A Figura 18 ilustra a tela de importação dos

casos de teste.

Figura 18: Tela de importação de casos de testes.

Na política de segurança do testlink existem 5 diferentes tipos de “Papéis” que podem

ser atribuídos aos usuários:

“Guest” - O usuário só tem permissão para ver casos de teste e consultar relatórios do

projeto.

“Otester” - O usuário só pode executar testes definidos a ele.

“Tester” - O usuário pode consultar, criar, editar, apagar e também executar os casos

de teste. Não tem permissão para administrar planos de teste, administrar produtos ou

atribuir direitos.

Page 35: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

29

“Lead” - Mesmas permissões do “Tester”, incluindo permissão para administrar

planos de teste e atribuir direitos.

Admin - Mesmas permissões de “Lead”, incluindo permissão para administrar

Produtos.

No testlink existem 8 tipos de relatórios e um “Report Wizard”, que gera relatórios

através de filtros já criados, ou utilizando outros conceitos de filtro. Os tipos de relatórios que

a ferramenta apresenta são: “View Project Status Across All Builds”; “View Status by an

individual Build”; “View the Overall Build Status”; “View Status By Individual Test Cases”;

“Blocked Test Cases”; “Failed Test Cases”; “Total Bugs For Each Test Cases”; “Email Test

Plan Info”.

Page 36: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

30

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.

Page 37: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

31

Referências Bibliográficas

Cenpra – Divisão de Melhoria de Processos de Software – DMPS. Processo de Teste de Software.

Pressman, Roger S.. Engenharia de Software. Makron Books, São Paulo, 2002.

Sommerville, Ian. Engenharia de Software. Pearson / Prentice Hall, 6ª edição, 2003.

http://www.testlog.com/products/testlog.htm

http://sourceforge.net/projects/testlink/

Page 38: Curso de Engenharia de Computação PROCESSOS DE TESTE DE ...lyceumonline.usf.edu.br/salavirtual/documentos/1081.pdf · ii Curso de Engenharia de Computação PROCESSOS DE TESTE DE

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.