Você está na página 1de 8

Gerenciamento de Teste apresentadas as atividades de testes, escopo,

cobertura dos testes, funcionalidades do software


Uma atividade essencial no desenvolvimento de que não serão testadas, premissas, restrições,
todo e qualquer projeto é o planejamento. Um requisitos de ambiente, rastreabilidade dos casos
plano tem o papel semelhante ao de um ‘mapa’. de teste, critérios de validação e os responsáveis
Sem um mapa, um plano ou qualquer outra fonte pelas tarefas de teste. Exemplo de itens existen-
de informação similar, você não conhecerá seus tes no Plano de teste:
objetivos, nem aonde quer chegar e jamais terá a
certeza de ter alcançado sua meta. Perceba que Premissas:
entender o propósito do planejamento é de suma
importância a fim de monitorar a execução de Deverá ser feita uma carga de dados para execu-
atividades, sendo também importante conhecer o ção dos testes.
papel dos riscos no planejamento, bem como
diferenciar estratégias de planos. Planejamento Critérios de Validação:
engloba três atividades principais:
O número de defeitos deve ser igual à zero.
1- Definir um cronograma de atividades: estabe-
lecer as atividades que devem ser realizadas, as Caso de teste: Descreve uma condição particular
etapas a serem seguidas e a ordem cronológica a ser testada, é composto por valores de entrada,
de execução; restrições para a sua execução e um resultado ou
comportamento esperado. O processo de criação
2- Fazer alocação de recursos: definir quem reali- de casos de testes pode também ajudar a encon-
za as atividades e quais ferramentas/recursos a trar falhas de requisitos, ou seja, identificar cená-
serem utilizados; rios não tratados pelos requisitos do sistema.
Exemplo de casos de testes:
3- Definir marcos de projeto – estabelecer os
marcos, ou milestones, a serem alcançados com
objetivo de se fazer o acompanhamento.

Perceba que o planejamento é acompanhado da


atividade de monitoração ou supervisão que visa
avaliar se o progresso que tem sido alcançado
está em conformidade com o que foi estabelecido
no plano ou, em outras palavras, responder a
questão: quão bem estamos indo no projeto?

Agora, dentro do contexto do desenvolvimento de


software, você necessitará de vários documentos
como, por exemplo, plano de projeto, documento
de requisitos e plano de teste. Neste artigo, o foco
recai sobre o último, isto é, plano de teste. Trata-
se de um documento ou mapa no qual se definem
escopo e objetivos, além de requisitos, estraté-
gias e recursos a serem empregados nas ativida-
des de testes de software. Nesse sentido, o artigo
apresenta os itens que devem fazer parte de um
documento de plano de teste, exemplificando e
discutindo esses itens.

Atividade Plano de teste

O planejamento na fase de testes é muito impor-


tante para garantir o sucesso e a qualidade do
sistema, e para isso existem documentos que são Roteiro de Teste: Descreve os passos necessá-
essenciais nesta fase, são eles: Plano de teste, rios para a execução de um caso de teste ou um
Caso de teste e Roteiro de teste. grupo de casos de testes, Exemplo:
Este post explicará cada um dos documentos,
bem como a utilidade deles para o projeto.

Plano de teste: É a base para o início de qual-


quer teste de software. Neste documento são

1
Agora que sabemos que os casos de uso podem
nos ajudar a fazer um plano de testes, o que fazer
agora? Abaixo vou listar alguns procedimentos
que você pode seguir:

- Selecione o caso de uso que será testado, iden-


tifique o fluxo principal e os fluxos alternativos e
desenhe um diagrama de atividades. Desse modo
vai conseguir visualizar mais facilmente todos os
cenários que o usuário pode utilizar.

- Agora que já identificou os cenários, você vai


começar a escrever um caso de teste para cada
A ordem de criação destes documentos é a se-
cenário, detalhando neste caso de teste todos os
guinte:
passos do cenário. Desse modo o testador vai
Todos os documentos de testes devem ser atuali- poder executar as ações do ator e validar se a
zados sempre que um requisito do sistema for resposta do sistema está de acordo com o que foi
alterado. especificado;

Com o uso destes documentos o processo de - Para iniciar os testes, vai ser necessário a cria-
testes de software se torna mais produtivo pois o ção de uma base de dados de certificação, se a
testador consegue realizar uma sequência de mesma ainda não existir (não é prudente fazer os
passos de forma prática sem a necessidade de testes na base de desenvolvimento e muito me-
consultar todos os documentos da especificação. nos em produção), e identificar os dados de en-
Garantir a qualidade do software desenvolvido é trada que serão utilizados nos testes;
primordial para conseguir o sucesso de qualquer
- É importante tabular o resultado dos testes,
projeto. Testá-lo adequadamente virou uma obri-
como quantidade de acertos, defeitos e corre-
gação. Aqui vou mostrar uma forma sistemática
ções, e armazenar essa informação em algum
de como montar um plano de testes eficiente e
meio permanente. Isso vai servir para avaliar a
consistente baseado em casos de uso.
qualidade de cada desenvolvedor da sua equipe
Uma das primeiras perguntas que devem ser
Critérios de Saída
respondidas para iniciar a montagem de um plano
de testes é o que testar? Parece óbvio e a res- Utilize a rotina para dar saída de produtos do
posta é realmente essa: devemos testar as funci- almoxarifado que não estão sendo vendidos, ou
onalidades que compõem o escopo do software seja, que serão usados na propriedade, ou que
que está sendo desenvolvido. Agora você pode serão doados ou para alguma eventual saída de
perguntar, onde está descrito esse escopo? Pode ajuste.
estar na proposta do projeto, na especificação
funcional e, em muitos projetos, nos casos de Esta tela é dividida em duas áreas, sendo elas:
uso.
1. Seleção de
Os casos de uso descrevem requisitos, identifi-
cam o valor que o cliente espera obter da funcio- 2. Grid para consultas, alterações ou exclu-
nalidade, e representam a forma como o sistema sões
será utilizado. Permite identificar todos os cami-
nhos que o usuário pode percorrer para conseguir 1. Seleção de dados
o que deseja e se podem ocorrer problemas.
Mostram ao cliente o que esperar do software, ao O sistema possui diversas opções para filtragem,
desenvolvedor o que codificar, e ao testador ou como:
certificador o que validar para garantir a qualidade
dos entregáveis. • Período: utilize como critério de filtragem o perí-
odo da ordem de saída do produto.
Desse modo, podemos concluir que os casos de
uso ajudam na certificação e validação dos requi- • Tipo de saída: utilize como critério de filtragem o
sitos implementados. Simplificando e sistemati- tipo de saída, as opções são: consumo, venda,
zando o processo de teste do software, permitin- saída de ajuste e doação.
do um ganho de produtividade e ajudando na
• Produto: utilize como critério de filtragem o pro-
garantia de que todo o escopo vai ser abrangido
duto cadastrado na ordem de saída.
pelo teste.

2
• CC/patrimônio: utilize como critério de filtragem • Conta gerencial: este campo é de preenchimen-
o centro de custo/patrimônio cadastrado na or- to obrigatório quando o tipo selecionado for refe-
dem de saída. rente à consumo ou doação. Neste campo seleci-
one a conta gerencial referente ao produto de
• Conta gerencial: utilize como critério de filtragem ordem de saída.
a conta gerencial cadastrada na ordem de saída.
• Atividade: neste campo selecione a atividade
Após preenchimento dos critérios de filtragem, referente à saída do estoque. Este campo não é
clique em "Filtrar". de preenchimento obrigatório.
2. Grid para inclusão, consultas, alterações ou • Observação: utilize este campo para qualquer
exclusões anotação pertinente.

No grid realize as inclusões, consultas, alterações • Saldo: este campo é preenchido automatica-
ou exclusões de lançamentos realizados anteri- mente após seleção do produto sendo que o sis-
ormente. tema busca as informações conforme o cadastro
de entrada e saída do produto.
I. Inclusões
• Custo médio: este campo é preenchido automa-
II. Consulta ticamente após seleção do produto. O sistema
calcula a média do valor do produto conforme o
III. Alteração valor unitário de cada compra.
IV. Exclusão Após preenchimento dos campos, clique em
"Gravar".
I. Inclusão
II. Consulta
Observe que esta área é constituída de sete
campos, sendo eles: • Filtre as ordens de saída utilizando a área "Se-
leção de dados".
• Comando "Ação": utilize esta opção para sele-
ção da ordem de saída para exclusão. • De acordo com os critérios de filtragem utiliza-
dos, as ordens de saída estarão disponíveis no
• Data: este campo é preenchido automaticamen- grid.
te, porém é possível alteração. Digite neste cam-
po a data da ordem de saída. Este campo é de • Realize as consultas.
preenchimento obrigatório.
III. Alteração
• Tipo: neste campo selecione o tipo de ordem de
saída, as opções são: consumo, saída de ajuste • Filtre as ordens de saída utilizando a área "Se-
ou doação. leção de dados".
• Produto: este campo é de preenchimento obri- • Após filtragem, no grid selecione a ordem de
gatório. Neste campo selecione o produto referen- saída e realize as alterações.
te à ordem de saída.
• Após a realização das alterações, clique em
• Unidade: este campo é preenchido automatica- "Gravar".
mente após seleção do produto.
IV. Exclusão
• Quantidade: este campo é de preenchimento
obrigatório. Neste campo insira a quantidade de • Filtre as ordens de saída utilizando a área "Se-
produto referente à ordem de saída. leção de dados".

• CC/ patrimônio: este campo é de preenchimento • Após filtragem, no grid selecione a ordem de
obrigatório quando o tipo selecionado for referen- saída no comando "Ação" para exclusão.
te à consumo ou doação. Neste campo selecione
o centro de custo/patrimônio referente a ordem de • Após seleção da ordem de saída que será ex-
saída do produto. cluído, clique em "Excluir".

• Safra: neste campo selecione a safra corres- Conceitos: Estratégia de Teste


pondente à saída do estoque. Este campo não é
de preenchimento obrigatório. Uma estratégia para o teste de um projeto des-
creve a abordagem geral e os objetivos das ativi-

3
dades de teste. Ela inclui os estágios de teste seada em requisitos, número de defeitos, interva-
(unidade, integração e sistema) que devem ser lo entre falhas, etc.)
abordados e os tipos de teste (de função, desem-
penho, carga, stress, etc.) que devem ser execu-  Técnicas de teste usadas (manuais e au-
tados. tomatizadas)

A estratégia define: Não há nenhum padrão geral referente à maneira


como os tipos de testes são distribuídos nos ci-
 As ferramentas e técnicas de teste a serem clos de teste.
empregadas.
Dependendo do número de iterações, do tama-
 Os critérios de conclusão e êxito do teste a nho da iteração e do tipo de projeto, você enfati-
serem usados. Por exemplo, os critérios podem zará diferentes tipos de testes.
permitir que o software evolua para o teste de
aceitação quando 95% dos casos de teste tive- Você perceberá que o foco do estágio de teste do
rem sido executados com êxito. Outro critério sistema é garantir que você esteja cobrindo todos
consiste na cobertura de código. Em um sistema os requisitos testáveis expressos em um conjunto
no qual a segurança seja vital, esse critério pode de casos de teste.
significar que 100% do código devem ser cober-
tos por testes. Isso significa que os critérios de conclusão se
concentrarão na cobertura de teste baseada em
 Algumas considerações especiais afetam requisitos.
os requisitos de recurso ou têm implicações na
programação, como: Nos estágios de teste unitário e de integração,
você perceberá que a cobertura de teste baseada
 O teste de interfaces para sistemas exter- em código é um critério de conclusão mais apro-
nos. priado.

 Simulação de danos físicos ou de ameaças A figura a seguir mostra como o uso desses dois
à segurança. tipos de medidas de cobertura de teste pode ser
alterado à medida que novas iterações do softwa-
Algumas organizações possuem estratégias de re são desenvolvidas.
teste corporativas definidas. Nesse caso, procure
aplicar essas estratégias especificamente ao seu  O plano de teste deve definir conjuntos de
projeto. critérios de conclusão para os testes unitário, de
integração e de sistema.
Você deve planejar as atividades de teste com
base nas seguintes dimensões:  Pode haver diferentes conjuntos de crité-
rios de conclusão definidos para iterações indivi-
 Em que iteração você se encontra e quais duais.
são as metas dessa iteração.

 Que estágio de teste (teste unitário, de


integração ou de sistema) você está executando.
Você pode trabalhar todos os estágios de teste
em uma iteração.

Agora, observe como as características das ativi-


dades de teste podem ser alteradas dependendo
de onde você esteja nas "dimensões de teste"
mencionadas acima.

É claro que há várias características a observar


(como recursos necessários e tempo gasto), mas,
nesse ponto, concentre-se no que é importante No projeto, você deve automatizar os testes o
para definir a estratégia de teste: máximo possível, especialmente aqueles que são
repetidos várias vezes (testes de regressão).
 Tipos de teste (de função, stress, volume,
desempenho, usabilidade, distribuição, etc.). Mas lembre-se que tempo e recursos são neces-
sários para criar e manter testes automatizados.
 Critérios de avaliação usados (cobertura de Sempre haverá algum teste manual em cada
teste baseada em código, cobertura de teste ba- projeto.

4
A figura a seguir ilustra quando e em que estágios O motivo da sua importância está geralmente
de teste você provavelmente executará testes associado aos problemas identificados quando a
manuais. Gerência de Configuração não é utilizada no de-
senvolvimento de software. Abaixo, vamos anali-
sar alguns destes problemas.

Imagine que uma organização desconhece o que


seja Gerência de Configuração e que em um de-
terminado projeto um desenvolvedor esteja modi-
ficando os artefatos C1, C2 e C3 em um diretório
compartilhado na rede.

Simultaneamente, um segundo desenvolvedor


modifica os artefatos C4, C5 e também o artefato
C3, como exemplifica a Figura 1.

Gerência de Configuração

Desenvolvendo Software de Forma Eficiente e


Disciplinada

Os sistemas de software estão em constante


evolução. A manutenção do software, isto é, mo-
dificações em artefatos existentes, chega a con-
sumir 75% do custo total do seu ciclo de vida.

Aproximadamente, 20% de todo o esforço de Figura 1. Espaço de Trabalho compartilhado por


manutenção é usado para consertar erros de vários desenvolvedores
implementação e os outros 80% são utilizados na
adaptação do software em função de modifica- Neste cenário, o segundo desenvolvedor não
ções em requisitos funcionais, regras de negócios notifica o primeiro desenvolvedor sobre o impacto
e na reengenharia da aplicação. que a modificação do artefato C3 pode causar no
código. Consequentemente, o primeiro desenvol-
A Gerência de Configuração de Software surgiu vedor, que está usando o mesmo espaço de tra-
da necessidade de controlar estas modificações, balho, não conseguirá identificar, de forma rápida,
por meio de métodos e ferramentas, com o intuito o motivo que levou sua implementação a falhar.
de maximizar a produtividade e minimizar os er- Este problema acontece pela falta de notificação
ros cometidos durante a evolução. e pelo compartilhamento de artefatos de software
por diversos desenvolvedores.
É uma disciplina que controla e notifica as inúme-
ras correções, extensões e adaptações aplicadas Imagine que agora foi acordado entre os desen-
durante o ciclo de vida do software de forma a volvedores que o ideal seria centralizar os artefa-
assegurar um processo de desenvolvimento e tos em um repositório e que cada desenvolvedor
evolução sistemático e rastreável, sendo indis- implementaria suas modificações em um espaço
pensável quando equipes manipulam, muitas de trabalho privado.
vezes em conjunto, artefatos comuns.
Após cada modificação, o artefato seria devolvido
Apesar de existir um forte apelo para o uso da ao repositório. Considerando este cenário, fre-
Gerência de Configuração de Software durante a quentemente ocorreriam sobreposições ou per-
etapa de manutenção, a sua aplicação não se das de modificações implementadas nos artefatos
restringe somente a essa etapa do ciclo de vida comuns nas organizações sem a prática da Ge-
do software. rência de Configuração.

O uso dos sistemas de Gerência de Configuração Um desenvolvedor poderia implementar sua mo-
é fundamental para prover controle sobre os arte- dificação em uma versão desatualizada do artefa-
fatos produzidos e modificados por diferentes to e sobrepor a versão mais atual disponibilizada
recursos desde o planejamento e levantamento por outro. Este problema ocorre devido à atuali-
de requisitos até a construção e entrega do pro- zação simultânea, quando dois desenvolvedores
duto. compartilham o mesmo repositório e não existe
controle ou restrição quanto ao acesso a este
repositório (ver Figura 2).

5
As vantagens da utilização da Gerência de Confi-
guração de Software são inúmeras. Dentre elas,
podemos listar:

(1) ganho de produtividade e eficiência;

(2) diminuição do retrabalho e dos erros;

(3) aumento da disciplina no processo de desen-


volvimento;

(4) aumento da memória organizacional;

(5) acesso às informações qualitativas e quantita-


tivas referentes ao processo de desenvolvimento,
como por exemplo, medida de esforço para efe-
tuar uma alteração e frequência de modificações
por componente;

(6) possibilidade de estabelecer uma trilha de


auditoria indicando por que, quando e por quem
um artefato foi alterado;

Figura 2. Repositório centralizado compartilhado (7) auxílio à gerência de projetos e


por vários desenvolvedores
(8) garantia de ambiente estável no qual o produ-
Sob a perspectiva de desenvolvimento, a Gerên- to deve ser desenvolvido.
cia de Configuração de Software abrange três
sistemas principais: controle de modificações, Neste artigo, veremos alguns conceitos da área
controle de versões e controle de gerenciamento de Gerência de Configuração de Software e como
de construção. esta área se relaciona com o processo de desen-
volvimento de software. Também serão apresen-
O sistema de controle de versões permite que os tadas algumas estratégias de organização do
artefatos sob Gerência de Configuração evoluam trabalho.
de forma distribuída, concorrente e disciplinada,
evitando perdas ou sobreposições durante o de- Gerenciamento de Incidente
senvolvimento e a manutenção do artefato. Po-
O Gerenciamento de Incidente
demos citar como exemplos de ferramentas de
mercado: CVS, Subversion, IBM Rational Clear- Para que o gerenciamento de serviços de TI seja
Case e Microsoft Visual Source Safe. eficiente e eficaz, o ITIL propõe um processo para
o gerenciamento de incidente, onde a maior parte
O sistema de controle de modificações armazena
das ações desse processo são realizadas pe-
todas as informações geradas durante o anda-
lo SERVICE DESK.
mento das solicitações de modificação e relata
essas informações aos participantes interessados Nesse processo, a central de serviços registra os
e autorizados. Podemos citar como exemplos de incidentes informados pelos usuários, e tenta
ferramentas de mercado: Bugzilla, Jira, Trac e resolve-los, consultando uma base de erros co-
IBM Rational Clear Quest. nhecidos (BEC), onde consta a solução de alguns
incidentes.
O sistema de gerenciamento de construção au-
tomatiza o processo de transformação dos diver- O Gerenciamento de Incidentes tem como foco
sos artefatos do software que compõem um proje- principal restabeler o serviço o mais rápido possí-
to em um sistema executável propriamente dito. vel minimizando o impacto negativo no negócio,
Este processo é nomeado construção do software uma solução de contorno ou reparo rápido fazen-
que, por exemplo, testa e empacota a aplicação do com que o cliente volte a trabalhar de modo
java como um arquivo jar. alternativo.
Este processo ocorre de forma aderente às nor- Garantir que os melhores níveis de disponibilida-
mas, procedimentos, políticas e padrões definidos de e de qualidade dos serviços, sejam mantidos
para o projeto. Podemos citar como exemplos de conforme os acordos de nível de serviço é tam-
ferramentas de mercado: Maven e Apache Ant. bém uma tarefa da gerência de incidentes.

6
É importante que o Gerenciamento de Incidentes · Detecção de Incidentes e Registros: Registrar
conheça e seja informado de quaisquer mudan- informações básicas do incidente;
ças.
· Classificação e Suporte Inicial: Classificar,
Algumas Definições: comparar, priorizar, fornercer suporte inicial (reso-
lução rápida);
· Incidentes: Qualquer evento que não seja parte
da operação padrão de um serviço e que causa, · Investigação e Diagnóstico: Avaliação do inci-
ou pode causar, uma interrupção ou redução na dente e solução de contorno;
qualidade daquele serviço;
· Resolução e Recuperação: Resolver o inciden-
· Requisição de Serviços: É tratada como uma te ou elaborar uma requisição de Mudança (RM)
categoria de incidente que não provoca interrup- e tomar ações corretivas;
ção ou falha na infraestrutura de TI. Exemplo:
Solicitação de informação e/ou documentação; · Fechamento do Incidente: Verificar junto ao
cliente se o chamado foi atendido e resolvido e
· Posição no fluxo de trabalho: O status do comunicar o fechamento;
incidente, reflete sua situação atual no ciclo de
vida; · Prioridade, Monitoração, Acompanhamento e
Comunicação.
· Carga de Trabalho: Tempo ou esforço gasto
em qualquer parte da resolução do incidente. Benefícios:

 Redução do Impacto: Com a maior rapi-


dez na solução do incidente, o serviço fica menos
indisponível, reduzindo o impacto para o negócio.

 Registro: Possibilita o registro de todos os


incidentes ocorridos, favorecendo a análise dos
KPIs (Key Performance Indicator).

 BDGC mais completo: A cada incidente


todos os itens de configurações são analisados e,
se necessário, completados.

 Aumento do tempo para o segundo ní-


vel: Mais tempo para a equipe de suporte traba-
lhar, pois não será interrompida com requisições
de usuários.

· Prioridade: De modo geral é medido pelo im- Relacionamento com outros processos
pacto sobre o negócio e na urgência também
pode ser definido as ANS’s (acordo de nível de O gerenciamento de incidentes se relaciona com
serviço); os processos de configurações, problemas e mu-
danças da seguinte forma:
· Impacto: Grau em que a provisão de serviço é
interrompido;  Configurações: Os incidentes ocorrem em
algum item de configuração, que pertence aoB-
· Urgência: Prioridade em que o incidente deve DGC (Base de dados de gerenciamento de confi-
ser resolvido; gurações), que é administrado pelo gerenciamen-
to de configurações.
· Esforço Esperado: Quantidade de esforço para
restaurar o serviço;  Problemas: Quando a causa raiz do inci-
dente é desconhecida, ele é encaminhado para o
· Escalada: Mecanismo que oferece a resolução gerenciamento de problema que analisará, e for-
adequada de um incidente; necerá os erros conhecidos e soluções de con-
torno para o gerenciamento de incidentes.
· Funcional: O chamado é escalonado para um
segundo nível;  Mudanças: O gerenciamento de incidente
deve estar avisando de todas as mudanças pla-
· Hierárquico: Utilizado quando existir a possibi- nejadas. Caso ocorra algum incidente relacionado
lidade de que o chamado não seja atendido no a mudanças realizada, deve ser avisado para que
prazo;

7
o gerenciamento de mudanças torne as providên- ________________________________________
cias necessárias. ________________________________________
________________________________________
Dificuldades: ________________________________________
Algumas dificuldades podem ser encontradas na ________________________________________
implantação: ________________________________________
________________________________________
 Falta de comprometimento da equipe e do ________________________________________
gestor para resolução dos incidentes no tempo ________________________________________
necessário. ________________________________________
________________________________________
 Dificuldade para alinhar a área de TI com a
________________________________________
área de negócio, pois, normalmente, a área de TI
não entende as necessidades do negócio. ________________________________________
________________________________________
 Falta de acordo de níveis de serviços, im- ________________________________________
possibilitando que a equipe resolva os incidentes ________________________________________
conforme necessidade do negócio. ________________________________________
________________________________________
 Resistência a mudanças, impossibilitando ________________________________________
se adequar a nova forma de trabalho.
________________________________________
Processo de Gerenciamento de Incidente ________________________________________
________________________________________
O fluxo abaixo representa as atividades no pro- ________________________________________
cesso de gerenciamento de incidentes. ________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
ANOTAÇÕES ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________
________________________________________ ________________________________________

Você também pode gostar