Académique Documents
Professionnel Documents
Culture Documents
iii
AGRADECIMENTO
vii
RESUMO
ix
ABSTRACT
xi
LISTA DE FIGURAS
FIGURA 1- INTEGRAO CONTNUA ......................................................................................................... 31
FIGURA 2 - COMPARATIVO: DESENVOLVIMENTO TRADICIONAL E BASEADO EM TESTES. ........................ 38
FIGURA 3- CICLO TDD.............................................................................................................................. 39
FIGURA 4 - FLUXOGRAMA DO PROCESSO ................................................................................................. 75
xiii
LISTA DE TABELAS
xv
LISTA DE ABREVIAES
CMMI
CVS
IDE
LP&D
SCM
SRS
TDD
UP
Unified Process
VSS
Visual SourceSafe
XP
eXtreme Programming
xvii
LISTA DE TRADUES
Esta lista apresenta a traduo de alguns termos utilizados no decorrer deste
trabalho. Os termos em ingls esto na coluna da esquerda e suas correspondes
tradues para a lngua portuguesa esto na coluna da direita.
Bug
Defeito
Build
Construo
Branch
Ramificao
Commit
Mandar ou Enviar
Plugin
Complemento
Property
Propriedade
Refactoring
Refatorao
Script
Roteiro
Target
Alvo ou Meta
Tasks
Tarefas
Tracker
Rastreador
Update
Atualizao
xix
SUMRIO
1 INTRODUO ................................................................................................................................... 23
1.1 JUSTIFICATIVA E MOTIVAO ........................................................................................................ 25
1.2 PROBLEMATIZAO ........................................................................................................................ 26
1.3 OBJETIVOS ....................................................................................................................................... 26
1.3.1 Gerais...................................................................................................................................... 26
1.3.2 Especficos.............................................................................................................................. 27
2 GESTO DE CONFIGURAO DE SOFTWARE ...................................................................... 29
2.1 INTEGRAO CONTNUA ............................................................................................................... 30
2.2 BENEFCIOS DA GESTO DE CONFIGURAO DE SOFTWARE ........................................................ 32
3 TESTE DE SOFTWARE ..................................................................................................................... 33
3.1 NVEIS DE TESTE .............................................................................................................................. 33
3.1.1 Teste de Componente ........................................................................................................... 34
3.1.2 Teste de Integrao ............................................................................................................... 34
3.1.3 Teste de Sistema .................................................................................................................... 34
3.1.4 Teste de Aceitao ................................................................................................................ 35
3.2 TIPOS DE TESTE ............................................................................................................................... 35
3.2.1 Teste Funcional ..................................................................................................................... 35
3.2.2 Teste No-Funcional............................................................................................................. 36
3.2.3 Teste de Confirmao e Regresso ..................................................................................... 36
3.3 AUTOMAO DE TESTES................................................................................................................. 36
3.4 DESENVOLVIMENTO DIRIGIDO POR TESTES ................................................................................... 37
3.4.1 Desenvolvimento .................................................................................................................. 38
3.5 REFATORAO ................................................................................................................................ 39
3.6 BENEFCIOS DOS TESTES DE SOFTWARE .......................................................................................... 40
4 DEFINIO DAS DISCIPLINAS GESTO DE CONFIGURAO E TESTES ................... 43
4.1 DISCIPLINA: GESTO DE CONFIGURAO ..................................................................................... 44
4.1.1 Atividade: Executar Tarefas Contnuas ............................................................................. 44
4.1.1.1 Tarefa: Solicitar Mudana............................................................................................................. 44
4.1.1.2 Tarefa: Integrar e Criar a Soluo ................................................................................................ 45
5 CONCLUSO ...................................................................................................................................... 51
5.1 TRABALHOS FUTUROS..................................................................................................................... 51
6 REFERNCIAS BIBLIOGRFICAS ............................................................................................... 53
7 APNDICE ........................................................................................................................................... 57
7.1 APNDICE A - FERRAMENTAS DE APOIO A DISCIPLINA DE GESTO DE CONFIGURAO E DE
TESTES ................................................................................................................................................... 57
7.1.1 O Subversion ......................................................................................................................... 57
xx
Project .............................................................................................................................................. 59
Property ........................................................................................................................................... 59
Target .............................................................................................................................................. 60
Tasks ................................................................................................................................................ 60
xxi
1
Introduo
Este captulo apresenta uma viso geral sobre o Manifesto gil e o Processo
Unificado. As sees 1.1, 1.2 e 1.3 descrevem a justificativa, problematizao e
objetivos deste trabalho.
Em 2001, um respeitado grupo de profissionais experientes na rea de
desenvolvimento de software se reuniu em uma estao de sky chamada The Lodge
at Snowbird no estado americano de Utah. Este grupo era formado de 17
especialistas na rea de desenvolvimento de software que possuam como objetivo
propor uma alternativa aos pesados processos de desenvolvimento de software
orientados a documentao. Jim Highsmith (2001) definiu o grupo como : " A
Aliana gil, um grupo de pensadores independentes sobre processo de
desenvolvimento de software.
O resultado deste encontro foi um documento mundialmente conhecido
como Manifesto gil(BECK; BEEDLE, et al. apud SINIAALTO, 2006) para
desenvolvimento de software ou simplesmente Manifesto gil. O documento foi
assinado por todos participantes.
O propsito do Manifesto gil se resume s melhores maneiras de
desenvolver software valorizando indivduos e interao entre eles sobre processos
e ferramentas, software em funcionamento mais que documentao abrangente,
colaborao com o cliente mais que negociao de contratos e responder a
mudanas mais que seguir um plano.
Tarefas relacionadas a gesto de configurao e teste de software esto de
acordo com o Manisfesto gil, pois esto diretamente ligadas com a resposta a
mudanas e software funcionando. O objetivo deste trabalho definir as disciplinas
de gesto de configurao e teste baseadas no Processo Unificado.
"O OpenUP um Processo Unificado que aplica uma abordagem iterativa e
incremental dentro de um ciclo de vida estruturado. O OpenUP abraa uma
filosofia pragmtica e gil que foca na natureza colaborativa do desenvolvimento
de software. um processo independente de ferramenta e de pouca cerimnia que
pode ser estendido para direcionar uma grande variedade de tipos de
projeto"(OPENUP, 2004).
23
24
25
1.2 Problematizao
O processo de desenvolvimento de software caracterizado por uma srie de
problemas que interferem no desenvolvimento em diferentes perspectivas, podese relatar como problemas mais relevantes:
(1) as estimativas de prazo e de custo freqentemente so
imprecisas; (2) a produtividade das pessoas da rea de software
no tem acompanhado a demanda por seus servios; e (3) a
qualidade de software s vezes menor que a
adequada(PRESSMAN, 2002, p.23).
1.3 Objetivos
Esta seo faz uma abordagem sucinta dos objetivos gerais e especficos deste trabalho.
1.3.1 Gerais
Este trabalho destina-se a um estudo detalhado de princpios e tcnicas geis, alm
da investigao de ferramentas que auxiliem o desenvolvimento produtivo de
software por um time de desenvolvedores.
26
1.3.2 Especficos
27
2
Gesto de Configurao de
Software
Este captulo apresenta uma abordagem geral sobre Gesto de
Configurao de Software, apresenta uma ferramenta de controle de
verses e mudanas, uma ferramenta de builds automatizados e para
finalizar descreve a integrao contnua e seus benefcios.
29
A GCS pode ser tanto aplicada por um procedimento manual quanto por
ferramentas automatizadas para o controle de revises. Existem vrias ferramentas
de controle de verses, comercias ou gratuitas de cdigo aberto, dentre elas podese destacar: Visual SourceSafe (VISUAL SOURCESAFE, 2005), Subversion (COLLINSSUSSMAN et al., 2002), Concurrent Version System (CVS, 2006), Mercurial
(MERCURIAL, 2005) e Git (GIT, 2008). Todas fazem basicamente a mesma coisa
entretanto de maneiras diferentes, o apndice A descreve algumas funcionalidades
do Subversion.
Este trabalho surgiu da necessidade de alinhamento entre os conceitos de
GCS e as premissas que justifiquem a sua utilizao no LP&D. Para a implantao
da GCS no existe nenhum tipo de roteiro formalizado, que possa ser aplicado em
todos os tipos de organizao, uma vez que cada uma delas apresenta cenrios
diversos umas das outras, tais como necessidades diferentes, alm de variados
tipos de recursos humanos e computacionais.
30
31
32
3
Teste de Software
Este captulo aborda os nveis de testes na seo 3.1, os tipos de teste na
seo 3.2, j a seo 3.3 incentiva a automao de testes e logo em diante
na seo 3.4 apresentado um processo de desenvolvimento de software
baseado em testes.
Este captulo aborda, de forma sucinta, os nveis e tipos de teste, logo depois
apresenta um incentivo aos testes automatizados e descreve o TDD(Test Driven
Development) e a refatorao.
Uma viso comum do processo de teste de que ele consiste apenas da fase
de execuo. Esta, na verdade, uma parte do mesmo, mas no contempla todas
suas atividades .
Existem atividades de teste antes e depois da fase de execuo. Por exemplo:
planejamento e controle, escolha das condies de teste, modelagem dos casos de
teste, checagem dos resultados, avaliao do critrio de concluso, gerao de
relatrios sobre o processo de teste e sobre sistema alvo e encerramento ou
concluso (exemplo: aps a finalizao de uma fase de teste). Teste tambm inclui
reviso de documentos (incluindo o cdigo fonte) e anlise esttica(IASTQB, 2007).
Testes podem possuir objetivos diferentes:
Encontrar defeitos.
Ganhar confiana sobre o nvel de qualidade e prover informaes.
Prevenir defeitos.
33
34
Geralmente neste cenrio existe uma equipe de testes responsvel pelo teste de
sistema.
35
36
37
3.4.1 Desenvolvimento
No DDT, o ciclo incremental repetido at que toda a funcionalidade seja
implementada (SINIAALTO, 2006, p.5 apud ASTELS 2003). Segundo Kent Beck
(2002) o ciclo do DDT composto por 6 etapas fundamentais:
1. Adicionar(criar) os testes;
2. Executar todos os testes e veja se algum deles falha;
3. Escrever cdigo;
4. Executar os testes automatizados e verificar se obteve-se sucesso;
5. Refatorar o cdigo;
6. Repetir tudo.
Este ciclo est ilustrado na Figura 3. A primeira etapa envolve simplesmente
escrever um pedao de cdigo que testa a funcionalidade desejada. A segunda
etapa necessria para validar que o teste est correto, neste caso teste correto
teste que falha, o teste deve falhar pois na h cdigo funcional implementado
38
3.5 Refatorao
Segundo Martin Fowler (2004, p.10), refactoring ou refatorao o processo de
alterao de um sistema de software de modo que o comportamento externo do
39
cdigo no mude, mas que sua estrutura interna seja melhorada. uma maneira
disciplinada de aperfeioar o cdigo que minimiza a chance de introduo de
falhas. Em essncia, quando usa-se a refatorao, melhora-se o desenho do cdigo
aps este ter sido escrito.
Desenvolver software no simplesmente sentar na frente no computador e
iniciar o processo de codificao, o desenvolvimento de software um processo
emprico que requer planejamento. Durante o ciclo de desenvolvimento, as
necessidades mudam, novos requisitos surgem outros so melhor compreendidos,
fazendo com que o planejamento tambm mude. No existe um planejamento fixo
em um ambiente de desenvolvimento de software, no como em uma linha de
montagem onde as tarefas so bem definidas e no mudam com frequncia.
Simples modificaes em um sistema de software podem ferir a integridade da
aplicao em relao ao modelo proposto inicialmente.
A refatorao possibilita descobrir que o ponto de equilbrio do trabalho
muda. Descobre que o desenho, em vez de acontecer todo no incio, ocorre
continuamente durante o desenvolvimento. Aprende, com a construo do sistema,
a como melhorar o desenho. A resultado de cada passo de refatoraao leva a um
programa que permanece bom medida que o desenvolvimento continua
(FOWLER, p.10, 2004).
Fowler (2004) defende que a refatorao um elemento-chave no processo
de desenvolvimento de software e afirma que um bom ou desenho vem antes
mesmo de sua codificao.
40
grupo desenvolveu um pequeno programa Java usando TDD enquanto que outro
usou uma abordagem baseada em cascata. Os resultados experimentais indicaram
que embora os desenvolvedores que utilizam TDD gastaram 16% mais tempo, eles
produziram um cdigo de melhor qualidade porque o percentual de casos de
testes caixa-preta funcionais que passaram foi 18%, comparando-se com os
desenvolvedores que usaram uma abordagem tradicional.
Com base nestes estudos e os dados apresentados na seo 2.2 o prximo
captulo prope as disciplinas de Gesto de Configurao e Testes para o LP&D.
41
42
4
Definio das Disciplinas
Gesto de Configurao e
Testes
Uma disciplina uma coleo de tarefas que se relacionam a
uma 'rea de interesse' maior em todo o projeto.[...] Embora seja
comum executar simultaneamente tarefas que pertenam a
vrias disciplinas (por exemplo, determinadas tarefas de
requisitos so executadas sob a mesma coordenao de tarefas
de anlise e design), separar estas tarefas em disciplinas
distintas uma forma eficaz de organizar o contedo, tornando
mais fcil a compreenso(OPENUP, 2004).
43
44
Recolher
informaes
de
solicitaes
de
mudana;
45
2. Criar a Construo;
3. Testar elementos integrados;
4. Tornar as mudanas disponveis;
5. Fechar uma verso base do sistema.
46
47
48
49
50
5
Concluso
Este trabalho investigou princpios e tcnicas geis voltadas para desenvolvimento
de software que serviram de auxlio em um processo de desenvolvimento mais
produtivo da equipe do LP&D.
As disciplinas de Gesto de Configurao e de Testes foram definidas e
esto sendo implantadas na Fbrica de Software do LP&D, o processo de
implantao gradativo. No se pode afirmar que as disciplinas foram
perfeitamente definidas para o LP&D conforme o processo evoluir as disciplinas
tambm devem ser adaptadas.
As equipes de testes j detectaram e documentaram erros que
provavelmente seriam percebidos pelos usurios finais. O controle de verso e
mudanas est sendo utilizado em 3 projetos em que as equipes compartilham
cdigo.Quando as disciplinas estiverem implantadas em sua totalidade ser
possvel validar as mesmas e se necessrio adapt-las.
51
52
6Referncias Bibliogrficas
ANT.
Apache
Ant
1.8.2
Manual,
2004.
Disponvel
<http://ant.apache.org/manual/index.html> Acesso em : 20 jun.2011.
em:
Disponvel
em:
CVS. Concurrent Version System: Open Source Version Control, 2006. Disponvel em:
<http://cruisecontrol.sourceforge.net/>.Acesso em : 26 mai.2011.
DIAS, Andr Felipe. O que Gerncia de Configurao? Disponvel em:
<http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/gerencia_configura
cao.php>. Acesso em: 26 jun.2011.
FIGUEIREDO, Svio; SANTOS, Gleison; ROCHA, Ana Regina. Gerncia de
Configurao em Ambientes de Desenvolvimento de Software Orientados a
Organizao. In: Anais do III Simpsio Brasileiro de Qualidade de Software. Braslia,
2004.
GEORGE, B., WILLIAMS, L. A. Structured Experiment of Test-Driven
Development. Information and Software Technology (IST), 46, p. 337-342, 2003
GIT. Fast Version Control System, 2008 Disponvel em: < http://git-scm.com/>.Acesso
em : 24 mai. 2011.
HIGHSMITH, JIM. History: The Agile Manifesto.2001.
<http://agilemanifesto.org/history.html> . Acesso em 26 set. 2010.
Disponvel
em:
em:
<
55
7Apndice
7.1 Apndice A - Ferramentas de Apoio a
Disciplina de Gesto de Configurao e de
Testes
Esta seo descreve ferramentas de auxlio que podem ser utilizadas na
implantao das disciplina de Gesto de Configurao e Testes. O foco no
ensinar como instalar e utilizar as ferramentas e sim mostrar o propsito da
utilizao.
7.1.1 O Subversion
Segundo Collins-Sussman et al.(2002, p.18), o Subversion um sistema de controle
de verso, livre e de cdigo aberto. Ou seja, o Subversion gerencia arquivos e
diretrios, e as alteraes feitas a eles, ao longo do tempo. Isso permite recuperar
verses antigas de arquivos, ou examinar o histrico de como e quando os arquivos
foram alterados. Sendo assim, o SVN responde quais arquivos mudaram, quando
mudou e a autoria da mudana.
comum, no processo de desenvolvimento de softwares,problemas como:
perda de verses de arquivos, diferenciao de verses e controle de autoria. Tais
problemas podem ser evitados com utilizao do Subversion.
Por se tratar de uma aplicao cliente/servidor o SVN permite a edio
colaborativa (mltiplos usurios) e o compartilhamento de dados. Todos os
arquivos compartilhados esto dentro de um diretrio referenciado como
repositrio.
O Subversion utiliza o modelo copy-modify-merge (copiar-modificar-mesclar).
Nesse modelo no necessrio travar (lock) um arquivo para executar as
modificaes, evitando o problema de serializao, em que o usurio tem que
esperar para modificar um arquivo que est sendo modificado por outro usurio
(COLLINS-SUSSMAN et al., 2002, p.4).
Caso dois usurios alterem o mesmo arquivo, um deles primeiramente, ir
salvar as alteraes no repositrio, o que chamado de commit, quando o segundo
57
7.1.3 O Ant
O Ant (ANT, 2004) uma ferramenta de build para Java que pode compilar cdigo,
criar e excluir diretrios e at mesmo empacotar arquivos. Tudo baseado em um
script, um arquivo XML, criado pelo especialista em builds automatizados, com
lviiilviii
1
Ser utilizado o termo original builds ao invs de sua traduo para construes.
58
instrues para a ferramenta sobre o que fazer quando for preciso construir um
programa (PILONE; MILES, p.185).
As etapas para o build de seu projeto so armazenadas em um arquivo
.XML, geralmente chamado build.xml Tudo que for necessrio para o build estar
neste arquivo, escrito atravs de tags XML.
Uma importante tag a target, dentro de cada target podem existir vrias
tasks, uma dessas targets definida como padro e ser a primeira a ser executada
quando invoca-se o Ant.
O arquivo de construo do Ant dividido em quatro partes:
Project
Property
Target
Tasks
7.1.3.1 Project
uma tag nica que define seu projeto, tudo que estiver delimitado por esta tag
far parte do build de seu projeto. Alm de definir o projeto o target padro
definido aqui.
Exemplo:
7.1.3.2 Property
Servem basicamente para definir valores reutilizados no decorrer do script.
Exemplo:
<property name="src" location="src" />
<property name="subpastasrc" location="${src}/subpasta"/>
Conforme se v na segunda linha do exemplo, pode-se utilizar o a diretiva
${nome-propriedade} para referenciar outra propriedade.
59
7.1.3.3 Target
Aqui so definidas e agrupadas as aes, por exemplo compilar e iniciar.
Exemplo:
<target name="compilar" depends="inicia"/>
Neste caso a target "compilar" depende da execuo da target "inicia".
7.1.3.4 Tasks
Tasks servem para execuo de comandos especficos e outros trabalhos bsicos de um
script de build:
Exemplo:
<mkdir dir="${src}/novapasta">
<javac srcdir="${src}" destdir="diretorioDestino" />
O script acima cria um novo diretrio com o nome "novapasta" usando o
valor da propriedade "src". Depois compila o contedo de " srcdir " e salva em
"destdir".
Alm disso, atividades mais avanadas podem ser includas no script, como:
60
Adicionar bibliotecas.
Executar aplicativos.
Executar testes.
Criptografar arquivos.
Agora que o funcionamento bsico do Ant e o que devem fazer bons scripts
de build foram explicados, possvel utilizar o Ant para escrever bons scripts e
execut-los em uma ferramenta de integrao contnua para construir, empacotar
e/ou testar nossa soluo.
7.1.5 O Hudson
A escrita, execuo e anlise de resultados de testes uma atividade que exige
demasiado esforo, alm de ser uma atividade peridica e nem sempre se pode
contar com o comprometimento da equipe com a sua execuo total. O mesmo
pode-se dizer sobre scripts de builds do Ant.
Alguns testes tambm impe certas caractersticas que dificultam sua
execuo, tais como testes que manipulam muitas dados. A soluo proposta neste
trabalho o Hudson, uma ferramenta de integrao contnua usada para
automatizar builds e testes. A idia montar um servidor de testes e builds que
quando encontra alteraes no repositrio SVN executa os builds e testes
automaticamente. A ferramenta vem ganhando adeptos pela sua facilidade de uso
e o grande nmero de complementos (plugins) disponveis.
7.1.6 O Selenium
A SeleniumHQ disponabilza em seu site (http://seleniumhq.org/projects) vrias
ferramentas relacionados a testes as mais importantes para nosso contexto so: O
Selenium IDE, Selenium RC e o Selenium Core.
O Selenium IDE um ambiente integrado de desenvolvimento para scripts
de testes automatizados. Ele implementado como uma extenso do Firefox e
permite gravar, editar e depurar os testes de forma rpida e fcil(SELENIUMHQ,
2004).
Por ser uma ferramenta grfica integrada com o Firefox muito simples
criar seus scripts de testes utilizando o Selenium IDE. Alm de falicitar a escrita e
execuo de testes de sistema a ferramenta tambm simplifica os testes de
61
regresso, j que a qualquer momento pode-se realizar um mesmo teste nas novas
verses do sistema.
O Selenium IDE pode ser instalado como qualquer outro complemento do
Firefox, basta acessar o site oficial (http://release.seleniumhq.org/seleniumide/1.0.11/selenium-ide-1.0.11.xpi) e seguir as instrues.
Com o Selenium IDE aberto basta clicar com o boto direito em cima do
elemento na pgina e adicionar o evento. Originalmente o script gerado em
HTML mas pode ser exportado para C#, PHP, Java e outras linguagens.
O Selenium RC um servidor escrito em Java que interpreta os scripts
criados pelo SeleniumHQ. Ele recebe chamadas http, executa os testes e envia de
volta os resultados para o programa chamador. As chamadas vem de frameworks
de testes unitrios, como por exemplo o JUnit.
" O Selnio RC divide-se em duas partes:
62
63
Nome do Projeto
Cliente: Nome do Cliente
PLANO DE TESTES
Verso 0.3
64
7.2.1 Introduo
Este documento tem por finalidade descrever o plano geral das atividades de teste
do projeto Nome do projeto, fornecendo aos testadores e desenvolvedores as
informaes necessrias para a realizao dos testes que compe o sistema em
desenvolvimento.
A atividade de teste constituir uma forma de avaliar e agregar qualidade
ao produto, reduzir custos e trabalho, dando maior confiabilidade ao software.
Sero definidas neste documento as estratgias de testes a serem adotadas a
cada etapa do desenvolvimento do software, bem como a execuo e
armazenamento dos resultados dos testes.
Teste de Unidade
Teste de Sistema
Descrio das estratgias:
65
Objetivo da Tcnica:
Tcnica:
Tcnica de execuo:
Ferramentas Necessrias:
Critrios de xito:
Consideraes Especiais:
No se aplica.
66
Objetivo da Tcnica:
Tcnica:
Tcnica de
execuo:
Ferramentas
Necessrias:
Critrios de xito:
Consideraes
Especiais:
No se aplica.
67
Gravidade;
Prioridade;
Freqncia em que acontece;
Plataforma;
Resumo;
Descrio;
Passos para reproduzir;
Informaes Adicionais.
Ainda sendo possvel anexar um arquivo como um Print Screen da tela com
o erro.
Prioridade
1. Urgente
2. Alta
3. Normal
4. Baixa
5. Nenhuma
68
Descrio
Os defeitos resultam em falhas em todo o
sistema ou em partes do sistema.
Os defeitos resultam em falhas do sistema,
entretanto existem alternativas de processo
(manuais, por exemplo) que produziro os
resultados desejados.
Os defeitos no resultam em falhas, mas
produzem
resultados
inconsistentes,
incompletos ou incorretos ou prejudicam a
usabilidade do software.
Os defeitos no causam uma falha, no
prejudicam a usabilidade e os resultados do
processamento
desejado
so
obtidos
contornando-se o problema.
O defeito resulta de uma requisio de
alterao ou melhoria, que pode ser indeferida.
Reao
Resolver
imediatamente.
Dar
alta
ateno(assim
que possvel).
Fila normal.
Baixa
Prioridade.
Deferir ou no
(longo prazo).
7.2.5 Aprovao
Para cada iterao do ciclo de vida do software devem ser definidos os critrios de
aceitao para os testes que sero realizados de acordo com medidas de qualidade
predefinidas.
Um teste passa quando todos os procedimentos so executados com
sucesso, falha quando ocorre uma divergncia entre a sada produzida pelo sistema
e a sada esperada descrita na verificao do caso de teste e fica bloqueado quando
as precondies no podem ser satisfeitas durante a execuo.
Item
Verificar
Funcionalidade Deve ser verificada a presena de
todas as funes mencionadas; a
execuo correta destas funes; a
ausncia de contradies entre a
descrio
do
produto
e
a
documentao do usurio.
Confiabilidade O usurio deve manter o controle do
produto, sem corromper ou perder
dados, mesmo que a capacidade
declarada seja explorada at os
limites ou fora deles, se uma entrada
incorreta efetuada, ou ainda se
instrues
explcitas
na
documentao so violadas.
Aprovar
S
sero
aprovados
requisitos
100%
implementados e sem
erros graves.
S
sero
aprovados
requisitos que respeitem
100% do descrito ao lado.
Pr-condies:
Procedimentos:
1- Passos
esperados.
necessrios
para
chegar
aos
resultados
Resultado esperado:
O que se espera.
Dados de entrada:
Critrios especiais:
Ambiente:
Implementao:
Manual ou automatizado.
Iteraes:
Nmero de iteraes.
70
Papel
Analista de Testes
Desenvolvedor
Planejar os testes.
registrar os resultados;
71
7.3 Apndice C
Configurao
Plano
de
Gerncia
de
Qualquer um que estiver envolvido nas atividades que podem alterar os Itens de
Configurao dos projetos e estiver envolvido em algum projeto no Laboratrio de
Pesquisa e Desenvolvimento (LP&D) deve ler este documento. Ele apresenta
procedimentos e padres para assegurar o controle dos Itens de Configurao o
tempo todo.
7.3.1 Propsito
Este documento apresenta procedimentos e padres relacionados gerncia da
configurao de software no LP&D. Qualquer atividade que cause a modificao
de Itens de Configurao, artefatos, deve seguir os procedimentos desse
documento a fim manter a integridade dos Itens de Configurao.
7.3.2 Escopo
Este documento detalha procedimentos gerais e padres que devem ser aplicados
na Gerncia de Configurao dos projetos.
Pasta
doc
72
Descrio
Contm a documentao disponvel do sistema
trunk
integrantes
tags
7.3.4.1 Trunk
Pasta principal do projeto, utilizada para manter a verso completa de
desenvolvimento. Todas as implementaes do projeto esto na trunk.
Alterao
7.3.4.2 Branches
Branches so usadas para customizar e corrigir tags que no foram aprovadas pelo
cliente. As branches tendem a representar as verses estveis dos clientes.
Criao
73
Branches podem ser criadas a partir das tags ou da trunk, no caso de branches para
teste. Este procedimento pode ser efetuado por qualquer desenvolvedor do projeto.
Alterao
Toda correo de bug e customizao feita na branch que for aprovada pelo cliente,
dever passar por um procedimento de merge manual da branch para a trunk. O
merge deve ocorrer da branch de teste com a trunk toda vez que um erro for
corrigido na branch.
Nomenclatura
7.3.4.3 Tags
Tags so verses fechadas e imutveis que so validadas pelo cliente. Uma tag
fechada a partir de uma branche ou da trunk.
Criao
Inicialmente toda tag gerada um prottipo a ser validada pelo cliente. Em caso de
aprovao, essa tag se transforma em uma tag final do projeto.
Alterao
Uma tag no pode ser modificada. Se a tag enviada para o cliente estiver com bugs,
esta de ser corrigida em uma nova branch gerada a partir dessa tag.
Nomenclatura
As tags so identificadas por um conjunto de 4 casas numricas, como na
representao a seguir:
74
tag_p_3.2.0, tag_f_3.3.0
O valor de n2 incrementado toda vez que uma nova tag for gerada, seja essa a
partir da trunk ou de uma branche. A varivel X pode assumir dois valores distintos:
7.3.6 Auditorias
As auditorias podem ocorrer a qualquer hora. O responsvel pela auditoria o
Gerente de Projetos.
75
7.3.8 Relatrios
Toda auditoria deve ser relatada atravs de um documento de texto.
76