Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Goinia
2013
Esta obra est licenciada sob uma Licena Creative Commons Attribution 3.0.
PAPPE Integrao
Agradecimentos
Resumo
Palavraschave
Contedo
Lista de Figuras
Lista de Tabelas
Introduo
1.1
1.2
1.3
1.4
Desafios do projeto
Objetivos do projeto
Metodologia do projeto
Organizao do Manual
Organizao do FreeTest
Fluxo Principal do FreeTest
3.2
3.1.1
3.3
3.4
3.5
3.6
3.7
3.2.1
3.2.2
3.2.3
3.3.2
3.4.2
3.4.3
3.5.2
3.5.3
3.5.4
3.6.2
3.6.3
9
10
12
12
13
15
16
16
20
20
20
20
21
21
22
22
23
23
23
24
24
24
24
25
25
26
26
27
27
27
27
27
28
3.7.2
3.7.3
3.7.4
28
28
29
44
Concluso
Bibliografia
45
Glossrio
47
49
49
49
49
49
50
50
50
51
51
51
51
52
52
52
52
52
52
B.1
B.2
Equipe e Infra-estrutura
B.1.1
Papis e Responsabilidades
B.2.1
B.2.2
Softwares/Equipamentos
B.3
B.4
B.5
Artefatos
Treinamentos
Acompanhamento do Projeto
B.6
Cronograma
B.5.1
B.6.1
B.7
B.8
Estratgia de Testes
Critrio de Finalizao
B.8.1
B.8.2
Critrio de Aceitao
Funcionalidades
C.2
Cenrios Funcionais
C.3
Cenrios de Desempenho
C.1.1
C.2.1
C.3.1
Necessidade n
Cenrios n
Cenrios n
54
54
54
54
54
54
55
56
56
57
Lista de Figuras
2.1
17
3.1
3.2
3.3
3.4
3.5
3.6
3.7
20
22
22
23
25
27
28
Lista de Tabelas
2.1
2.2
2.3
18
19
19
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
21
30
31
32
33
34
35
36
37
38
39
40
41
42
43
A.1
A.1
Glossrio
Glossrio
47
48
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
49
50
50
50
50
51
51
52
D.1
D.2
D.3
D.4
D.5
D.6
D.7
Teste de Requisitos
Teste Funcionais
Teste de Regresso
Teste de Performance
Teste de Aceite
Defeitos Encontrados Durante a Realizao do Teste de Requisitos
Defeitos Encontrados Durante a Realizao do Teste Funcional
56
56
56
56
56
57
57
57
57
57
CAPTULO 1
Introduo
Em uma dcada com emergente cultura web na qual lidar com imensos volumes de informao se tornou um paradigma natural, as indstrias de software experimentam diariamente um mercado incrivelmente dinmico, vasto e extremamente competitivo.
Nesse contexto, essas indstrias devem se esforar em termos de especializao e atualizao para sobressair frente voraz concorrncia. Alm disso, para se manterem em suas
posies de estabilidade devem oferecer aos seus clientes, os quais esto cada dia mais
exigentes, produtos dotados do mais alto grau de qualidade.
A obteno da alta qualidade dos produtos de software influenciada por diversos fatores como escopo do produto, tempo disponvel para execuo do projeto, grau
de conhecimento da equipe tcnica, dificuldade do negcio, dentre vrios outros. Dessa
forma para que se obtenha produtos mais confiveis, seguros, com melhor desempenho
e que principalmente atendam bem s necessidades dos usurios necessrio que sua
produo seja regida por mtodos, padres e tambm processos bem estruturados. Nesse
sentido a rea de Engenharia de Software tem profundas contribuies a fazer, bem como
sua especializao e foco do projeto desenvolvido - o teste de software.
O processo de software define diretivas para que as equipes de desenvolvimento
possam realizar com sucesso todas as etapas da produo de software, desde a concepo
at o aceite do produto pelo cliente. Aliado a esse processo, preferencialmente em
paralelo, deve existir um processo de teste, o qual possui a responsabilidade de auferir
a qualidade tanto do processo quanto do produto em desenvolvimento.
Os benefcios esperados com a implantao de um processo de teste so inmeros destacando dentre eles a obteno de maior qualidade dos softwares produzidos pelas
empresas alm de reduo do tempo gasto com manutenes corretivas e ainda a obteno de mtricas antes no coletadas. Informaes como quantidade de defeitos por verso
de produto, quanto do software foi testado, quantidade de ciclos entre o desenvolvimento
e o teste auxiliam no s no melhor entendimento dos processos internos mas tambm
aumentam a confiana da equipe no produto liberado para produo. Alm dessas contribuies, o panorama que o teste expe traz a luz questes outrora nem conhecidas e que
so pertinentes para a tomada inteligente de decises.
10
1.1
Desafios do projeto
11
cada uma dessas possui finalidade de negcio, cultura e tecnologias distintas. Essas diferenas ento dificultam a proposio de um processo nico, que sirva sem modificaes,
para todas elas. Dado a heterogeneidade entre as empresas do consrcio, entende-se que
cada empresa precisar, a partir do framework proposto de projeto, realizar ajustes para
que o processo se encaixe melhor em suas realidades.
Outro desafio percebido, e bem conhecido da rea de teste, se enquadra no campo
das relaes interpessoais entre equipe de desenvolvimento e equipe de teste. O foco
tratar da problemtica encontrada quanto a forma de realizar a crtica ao trabalho dos
profissionais envolvidos e os atritos que essa crtica pode gerar entre as equipes.
importante entender que o teste de software no tem por objetivo primordial,
como de senso comum, mostrar que o produto est correto. Ao contrrio do senso
comum, o objetivo do teste fazer o produto falhar, ou seja, descobrir, demonstrar e
documentar os defeitos desse produto. Essa forma de enxergar o produto conhecida
como natureza destrutiva do teste.
A problemtica provinda dessa natureza destrutiva do teste a colocao em
evidncia dos problemas, defeitos e inconformidades nos artefatos de colegas de equipe
por meio de crticas, o que no mnimo um assunto delicado. Esse apontamento exige
bastante energia e sabedoria por parte de quem o realiza para que no seja confundido
como um ataque pessoal ou desrespeito a qualidade do que foi produzido e competncia
de quem o fez. Caso essa crtica no seja realizada de forma correta, ela pode impactar
de forma negativa, gerando atritos e espirito separatista em equipe, na produtividade ao
invs de contribuir de forma positiva para essa.
Outro ponto que merece observao quanto a implantao dos testes a impresso equivocada de que com a implantao dos testes todos os problemas e deficincias das
empresas relacionados a produo de software sero resolvidos. Uma regra bem conhecida quando se trata da engenharia de software que No existe bala de prata (BROOKS
JR., 1987), isso significa que no existe uma forma, uma metodologia, tecnologia ou regra mgica que seja adequada para todas as realidades e que resolva todos os problemas
existentes no processo de software.
O teste de software pode ser enxergado como uma ferramenta em prol da
qualidade o qual tem o papel de validar e verificar o que produzido, influenciando
positivamente na qualidade dos produtos. Porm, o teste sozinho no tem como resolver
todos os problemas de qualidade, uma vez que essa est intimamente ligada a vrios outros
fatores. Assim, como qualquer outra ferramenta o teste deve ser utilizado em conjunto
com outras polticas de forma correta e efetiva, para que sejam alcanados os resultados
de melhoria esperados.
O ltimo desafio, mas no menos importante, trata-se da mudana de cultura
necessrio para que o teste de software obtenha sucesso. Essa mudana de cultura pode ser
12
1.2
Objetivos do projeto
1.3
Metodologia do projeto
13
1.4
Organizao do Manual
14
CAPTULO 2
16
2.1
Organizao do FreeTest
2.2
17
18
Ambiente de Teste
3
3
3
3
3
Teste no-funcional
Organizao de teste
Ciclo de vida de teste e integrao
Programa de treinamento de
teste
Reviso em pares
Revises Avanadas
Medio de teste
4
3
Modelo MPT.Br
reas de Processo
Gerncia de Projetos de Teste (prtica especfica GPT1)
Gerncia de Projetos de Teste (prticas especficas GPT2 a
GPT20)
Gerncia de Projetos de Teste (prticas especficas GPT21
a GPT25)
Gerncia de Requisitos de Teste (prticas especficas GRT1
a GRT5)
Projeto e execuo de Teste (prticas especficas PET1 a
PET4)
Projeto e Execuo de Teste (prticas especficas PET5 e
PET6)
Projeto e Execuo de Teste (prtica especfica PET7)
Gerncia de Projetos de Teste (prticas especficas GPT26
a GPT28)
Fechamento do Teste (prticas especficas FDT1 a FDT4)
Garantia da Qualidade (prticas especficas GDQ1 a
GDQ3)
Teste No-Funcional (prticas especficas TNF1 a TNF3)
Organizao do Teste (prticas especficas OGT1 a OGT10)
3
3
3
4
5
5
Nvel
2
2
Modelo TMMi
reas de Processo
Estratgias e polticas de teste
Planejamento de teste
Nvel
1
1
2
2
1
2
3
3
4
4
4
3
3
4
5
5
4
19
reas de Processo
TPE - Teste de desempenho
Prticas Especficas
TPE1 - Preparar massa de teste
TPE2 Manter script de desempenho
TPE3 Executar teste de desempenho
TPE4 Encerrar teste de desempenho
INC1 Elaborar cdigo
INC2 Elaborar scripts BDD
INC3 Montar build
TRG1 Preparar massa de teste
TRG2 Manter script de regresso
TRG3 Executar teste de regresso
TRG4 Encerrar teste de regresso
TDA1 Atualizar ambiente de teste
TDA2 Executar teste de aceite
TDA3 Encerrar teste de aceite
TRQ1 Realizar verificao
TRQ2 Encerrar verificao
TFU1 Atualizar ambiente de teste
TFU2 Realizar teste
TFU3 Encerrar teste
GPT1 Elaborar plano de teste
Modelo FreeTest
reas de Processo
Teste de desempenho
Nvel
4
Integrao contnua
C
D
Teste de regresso
Teste de aceite
3
3
Teste de requisito
Gerncia de Projetos de teste
3
1
Teste funcional
Modelo MPT.Br
reas de Processo
Avaliao da Qualidade do Produto (prticas especficas AQP1 a AQP5)
Automao da Execuo do Teste (prticas especficas AET1 a AET6)
Organizao do Teste (prtica especfica OGT10)
Teste de Aceitao (prticas especficas TDA1 a
TDA7)
Projeto e Execuo de Teste (prtica especfica PET7)
Gerncia de Projetos de Teste (prticas especficas
GPT1 a GPT20)
Projeto e execuo de Teste (prticas especficas
PET1 a PET4)
CAPTULO 3
3.1
3.1.1
3.2
21
Aes
Sadas
3.2.1
3.2.2
A realizao dos testes dever ocorrer assim que uma verso do software for
disponibilizada no ambiente de teste. Os testes a serem realizados devem ser indicados
no documento Notas da Verso, focando inicialmente no funcionamento bsico das
funcionalidades e posteriormente havendo prazo hbil a execuo de testes complementares, cenrios estes mapeados no documento de Cenrios de Testes. Havendo defeitos
identificados, esses devem ser registrados e acompanhados at a entrega com as devidas
correes. A Tabela 3.2 descreve detalhes sobre a prtica realizar teste.
22
3.2.3
3.3
A rea de processo de teste de requisitos (apresentada na Figura 3.3) visa identificar possveis inconsistncias existentes nos requisitos do software (realizar verificao
(TRQ1)) por meio da confeco/reviso das descries dos cenrios de teste.
3.3.1
23
3.3.2
Aps a concluso das verificaes, caber ao Gerente de Teste realizar a consolidao dos resultados da verificao para obter informaes sobre a qualidade da documentao produzida durante a fase de anlise do software. A Tabela 3.5 apresenta detalhes
sobre a prtica encerrar verificao.
3.4
A Figura 3.4 apresenta a viso geral da rea de processo teste de aceite, cujo o
principal objetivo validar uma baseline do produto de software com o cliente.
3.4.1
24
3.4.2
3.4.3
3.5
25
3.5.1
3.5.2
26
mas em linhas gerais, sempre que algum elemento alvo da automao modificado
necessrio alterar tambm o script de teste. Essas manutenes nos scripts garantem a
integridade dos mesmos e uma execuo sem interrupes.
As manutenes nos scripts de teste devem ser atividades corriqueiras na organizao. Uma vez que o acmulo dessa atividade pode dificultar a manuteno e/ou
comprometer partes ntegras dos mesmos. Pede-se que sempre antes de realizar um teste
de regresso verificar os scripts e massas utilizadas, para que no ocorra quebra no fluxo
normal da execuo automatizada. Na Tabela 3.10 apresentado mais detalhes sobre a
respectiva prtica.
3.5.3
3.5.4
27
3.6
3.6.1
3.6.2
3.6.3
3.7
28
3.7.1
3.7.2
Concluda a preparao das massas de testes, dever ser providenciado a confeco dos scritps que iro realizar a avaliao de desempenho da aplicao. Estes scripts
devero estar armazenados em um repositrio especfico, seguindo tambm uma nomenclatura padronizada. Na Tabela 3.13 apresentado mais detalhes sobre a respectiva prtica.
3.7.3
A execuo dos testes de desempenho devem ocorrer a medida que houver alguma mudana nos pontos identificados na aplicao, bem como quando da ocorrncia de
mudanas estruturais do software (banco de dados, sistema operacional, servidores, etc.).
Conforme resultados obtidos ou defeitos identificados, os ajustes devero ser providenciados at que os indicadores esperados sejam atingidos. Na Tabela 3.14 apresentado
mais detalhes sobre a respectiva prtica.
3.7.4
29
Estando os testes de desempenho concludos, seus resultados devero ser compilados de forma a identificar os defeitos que eventualmente tenha ocorridos, bem como
o plano de ao aplicado para resoluo destes. Com isso haver condies de se obter o nvel de qualidade sobre o aspecto de desempenho da software. Na Tabela 3.15
apresentado mais detalhes sobre a respectiva prtica.
Aes
Sadas
30
Aes
Sadas
31
Aes
Sadas
32
Aes
Sadas
33
Aes
Sadas
34
Participantes
Entradas
Aes
Sadas
35
Aes
Sadas
36
Aes
Sadas
37
Aes
Sadas
38
Aes
Sadas
39
Participantes
Entradas
Aes
Sadas
40
Aes
Sadas
41
Aes
Sadas
42
Participantes
Entradas
Aes
Sadas
43
CAPTULO 4
Concluso
Bibliografia
Bibliografia
46
APNDICE A
Glossrio
Termo
Definio
Analista de teste
rea de processo
Agrupamento de prticas relacionadas que, quando implementadas em conjunto, satisfazem um determinado objetivo (SOFTEXRECIFE; RIOSOFT, 2011).
Linha-base (Baseline)
Caso de teste
Critrio de teste
Deciso (Decision)
Gerente de projetos
Apndice A
48
Termo
Definio
Gerente de teste
Processo
Conjunto de atividades que transformam entradas em sadas, a fim de atingir um propsito bem determinado
(CERCOMP-UFG, 2010).
Projeto
Release
Verso da configurao de software que constitui uma baseline de produto e que ser ou foi entregue ao patrocinador.
Tcnica de teste
Testador
APNDICE B
B.1
B.1.1
Papis e Responsabilidades
<Descrever na Tabela B.1 os papis existentes com suas devidas responsabilida-
des.>
Tabela B.1: Papis e Responsabilidades do Projeto
Papel
B.2
Responsabilidade
Equipe e Infra-estrutura
B.2.1
Apndice B
50
B.2.2
Quantidade
Softwares/Equipamentos
<Opcional. So relacionados na Tabela B.3 os softwares/equipamentos necessrios para a equipe de teste do projeto, sua finalidade (por exemplo, realizao de testes de
aceitao), a quantidade necessria e o perodo de utilizao do software/equipamento.>
Tabela B.3: Relao de Softwares/Equipamentos Necessrios
Descrio
B.3
Finalidade
Quantidade
Perodo
Artefatos
Responsvel
Observaes
B.4
Responsvel
Observaes
Treinamentos
Apndice B
51
B.5
Quantidade
Carga Horria
Perodo
Instrutor
Acompanhamento do Projeto
<Devero ser relacionados os momentos para realizao das atividades de verificao do projeto sob o escopo do teste, as quais podero ser feitas pelos envolvidos no
projeto.>
B.5.1
B.6
Cronograma
B.6.1
Artefatos
Data
Apndice B
B.7
52
Estratgia de Testes
<Apresentar os nveis e tipos de testes a serem realizados no projeto. Na Tabela B.8 devero ser mencionadas as categorias de testes existentes e que sero contempladas no projeto.>
Tabela B.8: Categorias de Testes do Projeto
Categorias de Teste
B.8
Critrio de Finalizao
B.8.1
Objetivo
B.8.2
Critrio de Aceitao
B.9
Gerncia de Riscos
B.10
Termo de Aceite
Apndice B
53
APNDICE C
C.1
Funcionalidades
<Descrever em linhas gerais a(s) necessidade(s) da funcionalidade.>
C.1.1
Necessidade n
Como um <usurio/ator>
Eu quero <meta a ser alcanada>
De modo que <a razo para alcanar a meta>
C.2
Cenrios Funcionais
<Descrever todos os cenrios previstos para execuo dos testes.>
C.2.1
Cenrios n
<Descrever detalhadamente o cenrio a ser considerado para a execuo de
testes.>
Descrio do Cenrio: <descrio do teste>
Dado que <procedimentos/um estado conhecido>
Quando <um determinado evento ocorre>
Ento <resultado esperado>
C.3
Cenrios de Desempenho
<Descrever todos os cenrios previstos para execuo dos testes de desempe-
nho.>
Apndice C
C.3.1
55
Cenrios n
APNDICE D
D.1
<Descrever as funcionalidades com suas devidas demandas que foram envolvidas nas atividades de Verificao e Validao nas Tabelas D.1, D.2, D.3, D.4 e D.5>
Tabela D.1: Teste de Requisitos
Teste de Requisitos
Funcionalidade Mdulo Demandas
Apndice D
D.2
57
Resultados Obtidos
Total
Total
Total
Total
Total