Anda di halaman 1dari 62

Curso Tcnico em Informtica

Testes de Software

Robson Braga de Andrade


Presidente da Confederao Nacional da Indstria

Rafael Lucchesi
Diretor do Departamento Nacional do SENAI

Regina Maria de Ftima Torres


Diretora de Operaes do Departamento Nacional do SENAI

Alcantaro Corra
Presidente da Federao da Indstria do Estado de Santa Catarina

Srgio Roberto Arruda


Diretor Regional do SENAI/SC

Antnio Jos Carradore


Diretor de Educao e Tecnologia do SENAI/SC

Marco Antnio Dociatti


Diretor de Desenvolvimento Organizacional do SENAI/SC

Confederao Nacional da Indstria


Servio Nacional de Aprendizagem Industrial

Curso Tcnico em Informtica

Testes de Software
Carlos Eduardo Carvalho

Florianpolis/SC
2011

proibida a reproduo total ou parcial deste material por qualquer meio ou sistema sem o prvio consentimento
do editor.

Autor
Carlos Eduardo Carvalho

Fotografias
Banco de Imagens SENAI/SC
http://www.sxc.hu/
http://office.microsoft.com/en-us/ images/
http://www.morguefile.com/
http://www.bancodemidia.cni.org.br/

Ficha catalogrfica elaborada por Luciana Effting CRB14/937 - Biblioteca do SENAI/SC Florianpolis

C331t
Carvalho, Carlos Eduardo
Teste de software / Carlos Eduardo Carvalho. Florianpolis :
SENAI/SC/DR, 2011.
59 p. : il. color ; 30 cm.
Inclui bibliografias.
1. Software. 2. Software - Controle de qualidade. 3. Software - Testes. 4.
Engenharia de software. I. SENAI. Departamento Regional de Santa
Catarina. II. Ttulo.
CDU 004.415.53

SENAI/SC Servio Nacional de Aprendizagem Industrial


Rodovia Admar Gonzaga, 2.765 Itacorubi Florianpolis/SC
CEP: 88034-001
Fone: (48) 0800 48 12 12
www.sc.senai.br

Prefcio
Voc faz parte da maior instituio de educao profissional do estado.
Uma rede de Educao e Tecnologia, formada por 35 unidades conectadas e estrategicamente instaladas em todas as regies de Santa Catarina.
No SENAI, o conhecimento a mais realidade. A proximidade com as
necessidades da indstria, a infraestrutura de primeira linha e as aulas
tericas, e realmente prticas, so a essncia de um modelo de Educao
por Competncias que possibilita ao aluno adquirir conhecimentos, desenvolver habilidade e garantir seu espao no mercado de trabalho.
Com acesso livre a uma eficiente estrutura laboratorial, com o que existe
de mais moderno no mundo da tecnologia, voc est construindo o seu
futuro profissional em uma instituio que, desde 1954, se preocupa em
oferecer um modelo de educao atual e de qualidade.
Estruturado com o objetivo de atualizar constantemente os mtodos de
ensino-aprendizagem da instituio, o Programa Educao em Movimento promove a discusso, a reviso e o aprimoramento dos processos
de educao do SENAI. Buscando manter o alinhamento com as necessidades do mercado, ampliar as possibilidades do processo educacional,
oferecer recursos didticos de excelncia e consolidar o modelo de Educao por Competncias, em todos os seus cursos.
nesse contexto que este livro foi produzido e chega s suas mos.
Todos os materiais didticos do SENAI Santa Catarina so produes
colaborativas dos professores mais qualificados e experientes, e contam
com ambiente virtual, mini-aulas e apresentaes, muitas com animaes, tornando a aula mais interativa e atraente.
Mais de 1,6 milhes de alunos j escolheram o SENAI. Voc faz parte
deste universo. Seja bem-vindo e aproveite por completo a Indstria
do Conhecimento.

Sumrio
Contedo Formativo
Apresentao

26 Unidade de estudo 3

11

Processo de teste de
software

12 Unidade de estudo 1
O que o teste de
software?

41

Seo 1 - Contexto dos


testes

28

Seo 2 - Conceito V de
teste

42

Seo 2 - Processo de execuo dos testes

28

Seo 3 - Ciclo de vida do


processo de teste

45

Seo 3 - Relatrio de teste


segunda a IEEE 829

29

Seo 4 - Preparao do
ambiente

46

Seo 4 - Gerenciamento de
comunicao do projeto de
teste

13

Seo 2 - Objetivos do teste


de software

14

Seo 3 - O que teste de


software?

15

Seo 4 - E se no testar o
software?

16

Seo 5 - Casos de testes

33

Seo 1 - Definio de risco

16

Seo 6 - Tipos de testes

33

Seo 2 - Riscos relativos ao


teste de software

33

Seo 3 - Determinao da
magnitude dos riscos

34

Seo 4 - Controle dos riscos

32 Unidade de estudo 4

36
21

Seo 2 - Tcnicas funcional,


estrutural e baseadas em
erros

21
24

Seo 3 - Critrios para gerao de casos de teste


Seo 4 - Nveis de teste

48

Anlise de riscos

20 Unidade de estudo 2

Seo 1 - O que tcnica de


teste?

Execuo dos
testes

Seo 1 - Ciclo de vida de desenvolvimento de software

Seo 1 - Metodologia
de desenvolvimento de
software

21

Unidade de estudo 6

27

13

Tcnicas de teste de
software

40

Unidade de estudo 5

Teste de aceitao

49

Seo 1 - Definio dos critrios de aceitao

49

Seo 2 - Elaborao do
plano de aceitao

50

Seo 3 - Execuo do teste


de aceitao

52

Planejamento dos
testes
37

Seo 1 - Plano de teste, o


que isso?

37

Seo 2 - Desenvolvimento
do plano de teste

39

Seo 3 - Documentao do
teste

Unidade de estudo 7

Unidade de estudo 8
Estimativas

53

Seo 1 - Anlise do ponto


de teste

54

Seo 2 - Estimativa baseada


no tamanho e complexidade
do caso de uso

Finalizando

57

Referncias

59

CURSOS TCNICOS SENAI

Contedo Formativo
Carga horria da dedicao
Carga horria: 30 horas

Competncias
Aplicar testes relacionados ao desenvolvimento de software para validao da
soluo computacional.
Analisar os resultados de testes realizados em sistemas computacionais.

Conhecimentos
Dirio de teste;
Especificao de teste;
Especificao e relato de teste;
Especificaes de caso de teste;
Especificaes de procedimento de teste;
Especificaes de projeto de teste;
Ferramenta de teste;
Metodologia de desenvolvimento de programa de computador;
Metodologia de teste;
Normas tcnicas vigentes;
Procedimento de teste;
Registro de teste;
Relato de teste;
Relatrio de encaminhamento de item de teste;
Relatrio de incidente de teste;
Relatrio-resumo de teste;
Requisitos de ambiente;
Tcnicas de teste.

Habilidades
Identificar os tipos de teste a serem executados no procedimento;
Utilizar o plano de testes;
Interpretar as especificaes de teste;

TESTES DE SOFTWARE

Testar os programas;
Elaborar registros de teste;
Identificar defeitos e falhas em programas de computador;
Utilizar artefatos de manuteno;
Elaborar registros na documentao da manuteno de programas de computador.

Atitudes
Organizao e zelo na utilizao de equipamentos;
Foco no contedo trabalhado;
Acesso a stios relacionados ao tema trabalhado;
Organizao e limpeza dos ambientes coletivos;
Dedicao e empenho nas atividades curriculares e extra-curriculares;
Capacidade de abstrao;
Trabalho em equipe;
Apresentao de novas solues para situaes problemas;
Cumprimento de prazos;
Anlise crtica da soluo proposta.

Apresentao
Caro aluno,
imagine a seguinte situao...
incio do ms, voc recebeu o seu merecido salrio e agora vai fazer o
pagamento de uma conta por meio do site do banco. Voc precisa transferir R$ 100,00 para poder efetuar este pagamento. Mas, como muitas
pessoas esto fazendo a mesma coisa que voc, o sistema do banco d
aquela travada. Quinze segundos depois o sistema volta e a sua transao foi efetuada. No dia seguinte, voc v o seu saldo e percebe que
foram debitados R$ 200,00 da sua conta! E agora? O que aconteceu com
o sistema? Ele estava preparado para fazer todas aquelas transaes ao
mesmo tempo? Ele foi testado para verificar se havia problemas caso o
sistema travasse?
Esse material didtico foi elaborado pensando nestas questes, que devero ser refletidas por voc, como um tcnico em informtica, responsvel por sistemas de banco, de hospitais, de pequenos supermercados e
de grandes empresas. Neste livro voc vai encontrar os diversos tipos e
tcnicas para se testar um software de modo a garantir que ele funcionar corretamente nos momentos mais difceis. Tambm ver que certos
sistemas no precisam ser testados nos mnimos detalhes. Eles sero
testados apenas at o ponto onde os custos do teste no so maiores do
que a correo. Alm de aprender que mais barato testar no comeo
do desenvolvimento do que corrigir no final.
O estudo e pesquisas realizadas para elaborar este material didtico foram demorados e detalhados, mas valeu a pena, pois certamente voc
encontrar ao longo da leitura deste livro respostas para muitas perguntas como as que voc leu no incio desta apresentao e muitas outras
que surgiro ao longo de sua carreira profissional. Ento, espero que
voc consiga aproveitar o material para se desenvolver profissionalmente e pessoalmente.
importante considerar que sempre havero coisas novas para aprender
e voc pode pesquisar muito mais e aprender a partir dos livros e blogs
que foram utilizados para preparao deste material. Perceba que muita
gente est estudando, discutindo, e aprendendo e inovando sobre teste
de software todos os dias. Por fim, espero que, daqui a alguns anos, quando voc estiver trabalhando em uma grande empresa de desenvolvimento e precisar elaborar um processo de teste, lembre-se desse material
e utilize,o como um ponto de partida para atingir o sucesso nos seus
trabalhos.

Carlos Eduardo Carvalho


Formado em Engenharia Eltrica pela Udesc Joinville.
Atuou em desenvolvimento
de software e hardware para
equipamentos eletrnicos, em
usinas hidroeltricas. Leciona
as disciplinas de lgica de programao, microcontroladores,
acionamentos eltricos e projetos eltricos nos cursos tcnicos
de automao, mecatrnica e
eletrotcnica. Atua em STT, desenvolvendo programas para
microcontroladores aplicados
em equipamentos eletrnicos.

Bons estudos!

TESTES DE SOFTWARE

11

Unidade de
estudo 1
Sees de estudo
Seo 1 Metodologia de desenvolvimento de software
Seo 2 Objetivos do teste de software
Seo 3 O que teste de software?
Seo 4 E se no testar o software?
Seo 5 Casos de testes
Seo 6 Tipos de testes

O que teste de software?


Seo 1

Metodologia de desenvolvimento de software


Voc sabia que utilizar uma metodologia para desenvolver um software
o primeiro passo de uma prtica profissional?
isso mesmo! Confira a seguir um formato bsico de metodologia para
elaborao de um software, de acordo com Barti (2002, p. 25).

Processo de Garantia da Qualidade do Software:


1. Planejamento da Qualidade.
2. Garantia da Qualidade.
3. Controle da Qualidade.

Figura 1: Ciclo de desenvolvimento de software


Fonte: Barti (2002, p. 25)

Perceba que o item teste apenas uma parte da metodologia e aparece


somente no final do projeto.
Por isso, o objetivo desta seo de estudo mostrar voc que as
prticas de teste devem iniciar juntamente com o incio do projeto, no
momento em que as primeiras documentaes so geradas. Assim,
os erros e problemas no so transferidos para as prximas fases, ok?

Quando a cultura da aplicao da metodologia estiver bem entendida e


difundida, voc ver que os processos e mtodos de teste permitiro a
qualidade dos produtos. Neste momento importante fazer referncia
ao PMI (Project Management Institute) que fez o PMBOK (Project Management Body of Knowledge), no qual o processo de gerenciamento da qualidade de software subdividido em trs partes complementares, acompanhe!

Neste momento voc deve estar


se perguntando: mas porque devo
testar um software? Qual o objetivo deste teste? No seria perda de
tempo, j que na maioria das vezes o tempo de desenvolvimento
de um software curto?
sobre este assunto que conversaremos na prxima seo de estudo. Vamos em frente!

Seo 2

Objetivos do teste de
software
De forma bem bsica, o objetivo do
teste de software simplesmente
garantir a qualidade do software.

Para Barti (2002) o processo de


qualidade de software est decomposto em fases e cada fase possui
uma numerao que indica a sequncia de execuo dos testes a
serem aplicados.
Assim, deve-se dividir os testes
em duas categorias: testes de verificao e testes de validao.
Os testes de verificao visam
garantir a correta elaborao do
software e os testes de validao
esto focados na garantia da qualidade do software.

TESTES DE SOFTWARE

13

Para que voc possa verificar as


atividades e avaliar os documentos gerados durante as fases do
processo de engenharia de software, deve utilizar os testes de verificao.
As fases da metodologia que fazem parte dos testes de verificao so:

Disponibilizao de Soluo: validao do aceite.Lembre-se de que o conhecimento se


adquire por meio de uma construo significativa da aprendizagem. Ento, vamos juntos trilhar
novos caminhos do conhecimento?

Modelo de Negcios: verifi-

Seo 3

cao de negcios;

Especificao de Requisi-

tos: verificao de requisitos;

Anlise e Modelagem: verifi-

cao, anlise e modelagem;

Implementao: verificao
da implementao.
Desta forma, defini-se testes de
validao como:
[...] um processo formal de avaliao de produtos tecnolgicos
que podem ser aplicados em
componentes isolados, mdulos
existentes ou mesmo nos sistemas como um todo. Seu objetivo avaliar a conformidade do
software com os requisitos e
especificaes analisadas e revisadas nas etapas iniciais do projeto (BARTI, 2002, p. 38).

Ou seja, os testes de validao so


aqueles feitos quando j existe
alguma parte do software pronta.
So os testes feitos no software e
no na documentao. Nos testes
de validao, temos as seguintes
fases:

Unidade Especificada ou

Modificada: validao da unidade;

Integrao Especificada

ou Modificada: validao da
integrao;

Sistema Especificado ou
Modificado: validao do sistema;

14

CURSOS TCNICOS SENAI

O que teste de
software?

Teste um processo sistemtico e planejado que tem


por finalidade nica a identificao de erros.

Esta considerada a definio


correta sobre os testes. Independentemente do teste ser aplicado a um documento ou a um
software, o objetivo criar situaes onde o produto pode no
funcionar.

Existem atualmente, duas definies para teste.


Voc sabe quais so? Vamos ver
juntos.
A definio mais comum, que a
maioria das equipes de desenvolvimento aplica est simplificada
como:

Teste o processo de demonstrar que algo funciona


corretamente.
Teste o processo de provar que determinadas coisas
fazem o que deveriam fazer.

Ou seja, todo mundo v os testes como uma forma de mostrar


que est tudo bem. Na verdade,
mais fcil mostrar que um software
est funcionando do que mostrar
que ele no est funcionando.
Mas, ao colocar uma pessoa que
no est envolvida no desenvolvimento do software e que no tem
nenhuma ligao com este, esta
pessoa criar diversas situaes,
possveis no dia-a-dia do produto,
e conseguir demonstrar que em
determinados cenrios, o comportamento deste produto pode
gerar um funcionamento inadequado.
Neste ponto, possvel chegar
segunda definio de teste:

Porm, preciso sempre lembrar


que voc no conseguir mostrar
a ausncia de erros. Ou seja, por
melhor que seja um processo de
qualidade, nunca ser possvel
cobrir todas as infinitas combinaes existentes em um ambiente
de execuo real. Pense sempre
nisso!
Vamos em frente? Na prxima
seo voc verificar o que pode
acontecer quando um software no
testado.

Seo 4

E se no testar o
software?
Erros, falhas, incidentes, no conformidades e inconsistncias so
palavras que representam naturezas diferentes de defeitos. Apesar
de ser um pensamento comum,
esses defeitos no vm apenas
no cdigo fonte do produto. E
tambm no so apenas os profissionais de desenvolvimento,
qualidade e testes, os responsveis
por um software sem defeitos.

ampliam as chances de sucesso do projeto de software e,


evitam a propagao de erros.

Interessante, no mesmo? Bastos et al (2007) cita a regra 10 de Myers,


que estabelece que o custo de correo de um erro aumenta muito com
o passar do tempo.

DICA
Quanto mais tempo demorar para se descobrir um erro, mais caro
ser a soluo deste erro. Defeitos encontrados na documentao
de modelamento so muito mais baratos do que defeitos encontrados durante a produo. Portanto fique atento!

Confira na imagem a seguir um grfico que apresenta um aumento do


custo durante as fases do projeto.

Os erros so resultados do
no entendimento dos requisitos do cliente e especificaes mal feitas. Portanto, voc deve trabalhar mais
tempo nas especificaes e
modelagem da soluo. Isso
far com que muitos erros sejam eliminados por meio de
um levantamento bem feito.

A falta de testes em todas as etapas


do processo de desenvolvimento
far com que os erros passem de
uma fase para a outra. Quando
o ciclo atingir a fase especfica de
testes, muitos erros sero encontrados e mesmo assim o produto
pode no atingir o esperado.
Voc sabia que esse processo de
qualidade de software, do qual os
testes fazem parte, traz diversas
vantagens para a organizao?
Sim, isso mesmo! Ealgumas dessas vantagens so:

os testes tornam o ciclo de


desenvolvimento confivel;
garantem aes corretivas
durante o desenvolvimento

Figura 2: Custo da correo dos defeitos.

Finalizando esta seo, voc pode ver que os testes so extremamente


importantes no alcance da qualidade do software. No testar ou fazer
testes da forma errada pode trazer custos extremamente altos para a
empresa.

DICA
E para alcanar a qualidade desejada pelo cliente, muitas vezes
necessrio possuir uma equipe de testes, trabalhando em conjunto
com o desenvolvimento, desde a primeira reunio.

Apesar de gerar um custo inicial, aps o treinamento e mudana de filosofia da empresa, os ganhos sero muito maiores.
Que tal passar para a prxima seo e conhecer alguns casos de teste?
Siga em frente!

TESTES DE SOFTWARE

15

Seo 5

Casos de testes
De acordo com Bastos et al (2007,
p. 153) um caso de teste a especificao mais detalhada do teste,
apresentando os campos de telas,
formulrios etc. O caso de teste
estabelece as informaes empregadas nos testes dos cenrios e
quais so os resultados esperados.
Ou seja, necessrio fazer um detalhamento do que ser testado,
como ser feito o teste, quem
responsvel, quais so as entradas
necessrias e quais so as sadas
esperadas.
Um bom caso de teste deve conter:

identificao das condies de

teste;

o que testar (identificao dos


casos);
detalhamento da massa de

entrada e de sada (dados);

critrios especiais, quando


necessrios, para gerar os dados
de entrada e sada do teste;
especificao das configura-

es de ambiente no qual o teste


ser executado: sistema operacional, ferramentas necessrias, origem dos dados etc (onde testar);

Caso de teste Portal de Administrao de Sites Imveis Carvalho


Caso de teste

CT 85 Buscar para alterao. Boto visualizar o


calendrio de locao.

Pr-condies

Ter clicado em Buscar para alterao na pgina


de imveis e estar com a opo de locao para a
temporada.
1. O ator clica em Visualizar o calendrio de
locao do imvelrepresentado pelo terceiro
cone da esquerda para a direita na parte
superior da descrio do imvel.

Procedimentos

2. O sistema carrega um calendrio destacando


os dias de locao do imvel.
Resultado
esperado

Carregar o calendrio de locao do imvel.

Critrios
especiais

No se aplica.

Implementao

Manual.

Iterao

1 iterao.

Quadro 1: Exemplo de caso de teste

Neste exemplo voc pode ver que os casos de teste so bem detalhados
e devem ser descritos de uma forma criteriosa. Todos os cenrios e
casos de uso devem ser criados, verificando todas as funcionalidades do
software. Por isso eles do bastante trabalho para a pessoa responsvel
pela sua elaborao.
Preparado para seguir mais um percurso? Conhea na prxima seo os
tipos de teste.

Seo 6

como testar: automtico/ma-

Tipos de testes

quando testar (cronograma,


em qual fase o teste ser executado);

No momento em que voc comear a fazer os testes de validao, significa que j tem um produto computacional, ou seja, um software que pode
ser executado.
Para fazer esta validao voc pode utilizar duas abordagens:

nual (definir o tipo de implementao do teste);

listar as interdependncias,
caso existam, entre os casos de
teste.
O quadro a seguir um exemplo
de caso de teste aplicado a um sistema de uma imobiliria. Veja!

a estratgia da caixa branca ou,


a estratgia da caixa preta.

Figura 3: Estratgias fundamentais dos testes.

16

CURSOS TCNICOS SENAI

Estas estratgias no excluem uma a outra. Na verdade, se voc aplicar


as duas, ter um produto com uma qualidade maior. Os testes de caixa
branca so baseados na estrutura interna do software. Ou seja, preciso
empregar tcnicas que trabalhem todas as estruturas utilizadas na codificao.
Os testes de caixa branca possuem alta eficincia na deteco de erros,
mas tambm costumam ser difceis de implementar.
Para isso necessrio que o profissional de testes conhea a tecnologia usada no software. Assim como, tenha acesso a fontes, estruturas
dos bancos de dados etc.

Confira a seguir a imagem que representa um teste de caixa branca.

Figura 4: Teste de caixa branca.

Voc pde observar na imagem anterior que o teste de caixa branca


mostra um software que tem um processamento inicial, representado pelo
retngulo 1, uma tomada de deciso, representada pelo losango 2. A
partir desta deciso, o software pode passar por dois caminhos, o caminho
A ou o caminho B.
Importante: o software nunca vai passar pelos dois caminhos ao mesmo
tempo.

Independente do caminho percorrido, o software chega ao processamento final, retngulo 3. Aps este processamento, o software finalizado.
Perceba que para fazer este teste, importante que o profissional
conhea o que cada processamento faz e que resultado cada tomada
de deciso dever dar.

Neste momento voc deve estar se perguntando: mas e a caixa preta,


qual a sua funo?

TESTES DE SOFTWARE

17

O teste de caixa preta no tem o objetivo de verificar como ocorrem


internamente os processamentos, mas se o algoritmo utilizado produz
os resultados necessrios. A vantagem desta estratgia que no necessrio conhecer os conceitos de implementao aplicados no software.
Dessa forma muito mais fcil encontrar um profissional capacitado a
modelar os testes de caixa preta da aplicao.
Veja a seguir a imagem que representa um teste de caixa preta.

Figura 5: Teste de caixa preta.

Esta estratgia muito encontrada nas organizaes, em forma de testes


manuais executados por profissionais ou usurios.
Ao estudar os testes de software, possvel perceber que existem diversos
tipos de teste que devem ser feitos nos softwares. Muitas vezes, voc no
ter tempo para fazer todos os testes e criar todos os cenrios. Assim,
importante conhecer os tipos e priorizar aqueles que podem encontrar
erros mais preocupantes.
Barti (2002) cita alguns testes que devem ser feitos:
1. Teste de funcionalidade: tem por objetivo simular os cenrios de
negcio e garantir que todos os requisitos funcionais sejam implementados.
2. Teste de usabilidade: a ideia desse teste medir o nvel de facilidade da aplicao, de modo a deixar o software mais simples e intuitivo.
Tambm possvel avaliar se o software avisa sobre aes que podem
danificar ou perder dados pertencentes ao usurio.
Por exemplo, boto desfazer alterao e cancelar operao, alm da
mensagem Esta operao excluir seu histrico. Deseja continuar?

3. Teste de volume: tem por objetivo determinar os limites de processamento do software e de toda a infra-estrutura da soluo. Esse tipo
no focaliza oscilaes, mas o aumento contnuo dos parmetros de
execuo.

18

CURSOS TCNICOS SENAI

4. Teste de configurao (ambiente): o objetivo desta categoria


executar o software sobre diversas configuraes de softwares e hardwares. Desta forma, preciso garantir que a soluo rode sobre os
mais diversos ambientes. Para aplic-los deve-se variar os sistemas
operacionais, browsers e hardwares.
5. Teste de compatibilidade: a ideia garantir que as novas verses
esto suportando antigas interfaces, submetendo a aplicao trocar
informaes com componentes que utilizam os protocolos de verses anteriores.
6. Teste de segurana: esta categoria de teste tem por objetivo detectar falhas de segurana que podem comprometer o sigilo das informaes. Sendo assim, importante que voc simule situaes que
provocam a quebra de protocolos de segurana, expondo os pontos
frgeis.
7. Teste de performance (desempenho): nesta categoria voc deve
determinar se o desempenho do software est de acordo com os requisitos definidos, nas situaes de pico mximo de acesso. Para estes
testes deve-se especificar claramente o cenrio que voc deseja obter.
Omitir informaes significa a criao de um cenrio irreal, que impossibilita a avaliao do desempenho.
8. Teste de confiabilidade e disponibilidade: nessa categoria, deve-se
monitorar o software por um determinado tempo e coletar informaes para identificar se ocorrem falhas na infra-estrutura (confiabilidade), e quanto tempo necessrio para a resoluo desse problema
(disponibilidade).
A prxima unidade vem cheia de novidades. Veja o que preparamos para
voc.

TESTES DE SOFTWARE

19

Unidade de
estudo 2
Sees de estudo
Seo 1 O que tcnica de teste?
Seo 2 Tcnicas funcional, estrutural e
baseada em erros.
Seo 3 Critrios para gerao de casos
de teste.
Seo 4 Nveis de teste.

Tcnicas de teste de software


Seo 1

O que tcnica de
teste?
De acordo com Bastos et al (2007,
p. 86) a tcnica de teste um processo que assegura o funcionamento adequado de alguns aspectos do sistema ou da unidade.
J as ferramentas de teste so recursos para o testador. Utilizar
apenas a ferramenta, sem a tcnica adequada, no suficiente para
conduzir todo o teste.

DICA
Por exemplo, um serrote
apenas uma ferramenta, que
se no for usada com a tcnica adequada, pode no cortar a madeira e sim a pessoa.

Enfim, so poucas as tcnicas e


muitas as ferramentas existentes.
Na prxima seo voc ver as
principais tcnicas de teste. Vamos em frente!

Seo 2

Tcnicas funcional,
estrutural e baseada em
erros
Os testes funcionais so aqueles
que verificam o funcionamento
do software e se ele atende os requisitos. Ou seja, se o cdigo faz
aquilo que foi pedido pelo cliente
e que est na documentao. Normalmente necessria a criao
de condies de teste que sero
usadas na avaliao da correo
da aplicao.
J os testes estruturais verificam
se o software possui uma estrutura
robusta, ou seja, se ele se mantm
funcionando quando ocorrem
condies adversas. Nesses tipos
de teste, no h preocupao com
o atendimento aos requisitos e
sim se a tecnologia foi usada de
modo adequado e se os componentes montados funcionam
como uma unidade.
Quando voc usa uma tcnica de
teste baseada em erros, dever inserir erros no software e verificar o
seu funcionamento. Na verdade,
esta uma variao da tcnica funcional, pois ele testa os requisitos.
Mas serve para encontrar aqueles
defeitos que j so esperados.
Agora que voc j conhea algumas tcnicas de teste, veja os critrios utilizados para gerao de
casos de teste!

Seo 3

Critrios para gerao


de casos de teste
Para que voc possa garantir certa
qualidade no software necessrio
que teste certa quantidade de possibilidades, ou cenrios.
Quanto maior a quantidade
de cenrios testados, maior
a qualidade do produto. Lembre-se que no ser possvel
chegar ao software perfeito,
sem defeitos. Portanto, voc
deve determinar quais sero
os cenrios necessrios para
atingir a qualidade desejada,
ok?

A nfase dos testes de validao


est nos mtodos que identificam
todos os possveis cenrios de
testes, chamados casos de testes.
Como voc possu duas tcnicas
para lidar com os testes de software
(testes estruturais e funcionais), a
obteno dos casos de teste estar
associada a uma dessas tcnicas.
Para Barti (2002, p. 122),

TESTES DE SOFTWARE

21

Um dos maiores desafios de um processo de garantia da qualidade


conseguir medir o grau de qualidade alcanado nos testes de software.
Se em nosso entendimento os cenrios estiverem adequadamente simulados e garantidos, ento devemos buscar todas as alternativas possveis
e inseri las em nosso processo de teste de software, de forma a refinar
e ampliar o nvel de cobertura alcanado.

Assim, os casos de teste se tornam extremamente importantes no processo de teste de um software e, consequentemente, no processo de garantia da qualidade.
A imagem a seguir considerou o mtodo da caixa preta para a obteno
dos casos de testes, confira!

Figura 6: Mtodo da caixa preta para gerao dos casos de teste.

Se voc utilizar o mtodo da caixa preta para gerar os casos de teste,


ir criar testes funcionais. Ou seja, testar cada requisito que aparece na
documentao inicial do software.
Assim, voc cria um caso de teste para o requisito A (Caso A1). Aplica
este caso ao software e verifica se o resultado apresentado pelo software
atende aquele requisito. Depois, voc criar o prximo caso (Caso A2) e
assim por diante. At que todos os casos de todos os requisitos tenham
sido testados.
Desta forma, quando voc for fazer testes estruturais, dever utilizar o
mtodo da caixa branca para gerar os casos de teste.
Lembre-se que os testes estruturais verificam o cdigo do software e devem
percorrer todos os caminhos possveis, passando por cada parte do processamento e das tomadas de deciso.

22

CURSOS TCNICOS SENAI

Figura 7: Obteno dos casos teste atravs do mtodo da caixa branca.

De acordo com a fig. 7, voc pode ver que o software em questo tem 2
caminhos possveis para chegar ao fim do processamento: ABCDEF ou
AGHF. Seguindo o mtodo da caixa branca, voc deve criar casos de
teste que obriguem o software a percorrer os dois caminhos.
Vendo estas duas abordagens, caixa preta e caixa branca, voc pode pensar Mas, qual das duas eu devo utilizar?
Na verdade, em uma aplicao real, as duas abordagens devem ser utilizadas de modo a gerar os casos de testes necessrios ao processo de
teste.
Mas, lembre-se sempre: cmo voc viu anteriormente, no ser
possvel eliminar todos os defeitos. Tambm no economicamente vivel que se faa todos os testes possveis e imaginveis no
software.

importante que o profissional de testes avalie quais so os testes necessrios para validar determinado produto.

DICA
Por exemplo: um software de um banco testado de forma diferente
de um software para fazer pedido de pizza na internet, portanto
devem possuir testes especficos para cada um deles.

As bibliografias especializadas apresentam diversos tipos de testes que


esto dentro das tcnicas estruturais (teste de carga, de execuo, de
recuperao, de conformidade etc) e das tcnicas funcionais (teste de
requisitos, de regresso, de interconexo, de controle etc).

TESTES DE SOFTWARE

23

Barti (2002, p. 112) recomenda que os testes de cada software sejam


organizados em categorias e que em uma reunio com a equipe, cada
categoria receba um peso relativo a sua prioridade. Normalmente, todos
querem colocar alta prioridade para a sua rea. Ento deve ser definido
que apenas 3 categorias podero ter alta prioridade. Assim, todos devem
entrar em acordo para determinar quais so as categorias mais importantes para testar determinado produto.
E por falar em peso, prioridade, que tal conhecer os nveis de teste?
sobre este assunto que conversaremos a seguir, vamos l!

Seo 4

Nveis de teste
Como voc estudou no incio deste livro, de forma geral existem duas
fases no processo de qualidade dos softwares. A fase de verificao (testes estticos - documentao) e a fase de validao (testes dinmicos
- software).
Dentro da fase de verificao, voc pode encontrar algumas das atividades que esto descritas no quadro a seguir, acompanhe!
Fase de
Verificao

Modelo de
negcios

Especificao de
requisitos

Principais Atividades

Revisar contexto do mercado e necessidade do


cliente.
Revisar riscos do projeto.
Revisar estudo de viabilidade.
Revisar especificao de requisitos funcionais e
no funcionais.
Auditar rastreabilidade de requisitos.
Revisar priorizao de requisitos.
Revisar arquitetura da aplicao.
Revisar nvel de componentizao. Saiba mais so-

Anlise e
modelagem

bre componentizao de software no artigo escrito


pelo professor Antonio Mendes da Silva filho, disponvel em: <http://www.espacoacademico.com.
br/087/87amsf.htm>

Revisar nvel de reutilizao.

Implementao

Revisar cdigo fonte.


Avaliar complexidade do cdigo fonte.
Auditar rastreabilidade entre componentes.
Revisar manual do usurio.

Quadro 2: Fases dos testes de verificao

24

CURSOS TCNICOS SENAI

Quando voc chegar fase de validao, encontrar 2 nveis de teste:


baixo e alto nvel. Os testes de baixo nvel exigem um profissional com
bastante conhecimento da estrutura do produto. J os testes de alto nvel no exigem conhecimento da estrutura interna e possibilitam testes
com maior nvel de abstrao.
No quadro a seguir voc pode ver algumas caractersticas destes testes,
confira!

Teste de baixo nvel

Fase da Validao

Teste de unidade

Caractersticas

Estratgia caixa branca e caixa preta.


Testa partes do software.
Executada pelo desenvolvedor ou profis-

sional de teste.

Teste de integrao

Estratgia caixa branca e caixa preta.


Teste integraes entre as partes do sof-

tware.

Executada pelo desenvolvedor ou profissional de teste.


Estratgia de caixa preta.
So aplicados no software como um

todo.
Teste de alto nvel

Teste de sistema

Requer ambiente semelhante ao da produo.


Executado por um grupo de testes independente.
Estratgia de caixa preta.
So aplicados no software como um

Teste de aceitao

todo.

Requer ambiente semelhante ao da produo.


Executado pelos usurios finais.

Quadro 3: Caractersticas do testes de validao

Uma nova unidade lhe convida a explorar novos conceitos. Vamos l?

TESTES DE SOFTWARE

25

Unidade de
estudo 3
Sees de estudo
Seo 1 - Ciclo de vida de desenvolvimento de software
Seo 2 Conceito V de teste
Seo 3 Ciclo de vida do processo de
teste
Seo 4 Preparao do ambiente

Processo de teste de software


Seo 1

Ciclo de vida de desenvolvimento de software


(CVDS)
De forma geral, os ciclos de vida
de desenvolvimento de software
(CVDS) so bastante diferentes,
pois em todos haver atividades
especficas dos testes aplicados. A
seguir voc ver um ciclo de vida
bsico que demonstrar as principais atividades que acontecem durante o desenvolvimento de um
software. Acompanhe!
Segundo Bastos et al (2007, p. 33)
as seguintes fases fazem parte de
um CVDS.

Fase 1 Estudo preliminar:

Essa fase comea com o reconhecimento de um problema ou


identificao de uma necessidade. Durante essa fase o projeto
justificado e aprovado no alto
nvel da organizao. As alternativas de soluo so exploradas e
seleciona-se a soluo mais vivel
e que atenda melhor s necessidades identificadas. Muitas vezes,
realiza-se um estudo de custo-benefcio para apoiar o processo
de deciso.

Fase 2 Anlise de requisitos:


Agora, os requisitos so definidos,
coletados, validados e aprovados.
Tambm nesta fase so levantadas
as informaes necessrias para
realizao dos testes.

Os requisitos geralmente so
modificados nas fases seguintes,
quando se adquire um melhor entendimento do problema.
Ainda nesta fase preparado o
Plano de Projeto, que inclui cronograma, recursos, oramento,
produtos intermedirios, atividades de gesto, anlise de riscos e
os planos previstos no modelo do
Project Management Institute (PMI).
Deve-se incluir o plano de testes,
com os recursos e prazo para realizar as atividades de teste.
Este plano do projeto no fixo
e deve ser atualizado sempre que
certos eventos ocorram, como
uma mudana no escopo do projeto.

Fase 3 Desenho do siste-

ma:
As atividades desta fase resultam
no detalhamento da soluo para
os aspectos que compem um
sistema: funcionalidade, dados e
tcnica. O Plano de Projeto deve
ser revisto para refletir as novas
informaes.

Fase 4 Construo:

Nesta fase os modelos devem


ser transformados em realidade e
suas atividades resultam em programas prontos e testados. Nesses programas devem ser aplicados os testes unitrios conforme
os planos de teste e os casos de
teste preparados.

Os manuais de treinamento, de
manuteno e do usurio tambm
so preparados nesta fase, alm
do Plano de Instalao.

Fase 5 Implantao:
Agora o momento de efetuar os
testes de integrao e de sistema.
O sistema tem de receber certificao quanto a sua adequao
aos requisitos de segurana antes
da instalao. E antes de ser certificado, todos os resultados das
verificaes e validaes devem
ser documentados e comparados
com o antes e o depois. Por fim,
o sistema deve ser aceito pelo
usurio.
Fase 6 Operao:

Nesta fase o Modelo de Operao


do sistema deve ser implementado, incluindo a expanso para
a instalao em outros locais. O
sistema deve iniciar a operao
continuada e todas as mudanas
devem ser controladas de forma a
manter e modificar o ciclo de vida
durante o restante de sua vida.
Relatrios dos problemas e solicitaes de mudanas so usados
para facilitar a correo de forma
sistemtica e a evoluo do sistema.
Tambm devem ser executadas
medies de desempenho e avaliao das atividades para garantir
que o sistema continuar atendendo a seus requisitos.

TESTES DE SOFTWARE

27

Voc j ouviu falar sobre o conceito V de teste? Caso ainda no tenha


tido a oportunidade de conhecer este conceito, no se preocupe, pois na
prxima seo voc ver uma figura que ilustra exatamente o que seria o
chamado conceito V de teste. Vamos!

Seo 2

Conceito V de teste
Observe na imagem a seguir que os procedimentos de fazer e conferir
convergem do incio ao fim do projeto. Ou seja, os testes devem fazer
parte de todo o processo de desenvolvimento.

Figura 8: Conceito V de teste de software.

DICA
Lembre-se: testar o produto durante todo o desenvolvimento diminui o custo da correo dos defeitos.

Na prxima seo voc conhecer o ciclo de vida do processo de teste.


Siga em frente!

Seo 3

Ciclo de vida do processo de teste


De acordo com Rios (2003, p. 29) o ciclo de vida do processo de teste
composto por diversas etapas e conhecido como Modelo 3Px3E.
Confira na imagem a seguir um modelo de ciclo de vida do processo de
teste.

28

CURSOS TCNICOS SENAI

Script: est relacionado


programas executados
dentro de outros programas de
forma a estender a funcionalidade deste programa ou control-lo.

Figura 9: Modelo de ciclo de vida do processo de teste.

Conhea agora cada uma das etapas do modelo.


Na etapa de procedimentos iniciais, os requisitos do negcio sero
aprofundados.Isso garantir que o sistema de informao a ser desenvolvido esteja completo. Claro que esta abordagem deve ser restrita ao
projeto de teste.
No planejamento sero elaborados a estratgia de teste e o plano de
teste, os quais sero utilizados posteriormente.

DICA
Voc estudar sobre a estratgia e o plano de teste mais para frente.

O ambiente de teste ser organizado na etapa de preparao, de forma


que os testes sejam executados corretamente. Esta etapa corre em paralelo com as outras.
O objetivo bsico da etapa de especificao elaborar/revisar os casos
de teste e os roteiros de teste.
Na fase de execuo os testes devero ser executados de acordo com os
casos de testes e roteiros de teste. Devem ser usados scripts de teste,
caso alguma ferramenta de automao seja empregada.
Na etapa de entrega oprojeto de teste finalizado. Toda a documentao ser concluda e arquivada e todas as ocorrncias importantes devero ser relatadas.
Agora que voc j conhece o ciclo de vida do processo de teste, que
tal conhecer mais detalhadamente um ambiente de teste? Ento, vamos
juntos!

Seo 4

Ambiente de Teste
Nesta seo voc estudar sobre ambiente de teste, o qual preparado
em uma das etapas do ciclo de vida do processo de teste.

TESTES DE SOFTWARE

29

O ambiente de teste a estrutura onde o teste ser executado.

Para este ambiente preciso considerar a criao da massa de dados de


teste, o modelo de dados e a configurao dos softwares usados.
importante que voc no confunda o ambiente com a configurao do
hardware, ok?

Veja na lista a seguir alguns itens que fazem parte de um ambiente de


teste:
1. Pessoal: usurios, desenvolvedores, testadores.
2. Hardware: plataforma, impressora, scanners.
3. Software: software a ser testado, sistema operacional, software de teste,
procedimentos de teste.
4. Suprimentos: papel, formulrios.
5. Interface: interna, externa.
6. Rede: protocolos, conexes, gateways.
7. Ambiente fsico: local, segurana, estrutura.
8. Documentao: requisitos, design, usurios.
Para preparar um ambiente de teste voc pode usar o seguinte fluxograma:

30

CURSOS TCNICOS SENAI

Figura 10: Fluxograma de teste.

Perceba que a figura apresentada anteriormente um ciclo, ou seja, deve


ser aplicada continuamente at que os testes estejam concludos.
Mas, como toda ao geralmente possui um risco, a ao de testar um software no poderia ser diferente, no mesmo? Por isso, na prxima unidade voc estudar sobre a anlise destes riscos, desde sua definio at
como control-los. Gostou deste novo assunto? Ento, siga em frente!

TESTES DE SOFTWARE

31

Unidade de
estudo 4
Sees de estudo
Seo 1 Definio de risco
Seo 2 Riscos relativos ao teste de
software
Seo 3 Determinao da magnitude
dos riscos
Seo 4 Controle dos riscos

Anlise de risco
Seo 1

Seo 2

Voc sabe o que significa a palavra risco?


Segundo o dicionrio da lngua
portuguesa Michaelis, risco a
possibilidade de perigo, incerto,
mas previsvel, que ameaa de
dano a pessoa ou a coisa.
Quando falamos de software, estamos procurando aqueles fatos
cujas ocorrncias podero acarretar perdas para a empresa. No
entanto, um risco presente nem
sempre vai gerar uma perda.
Se uma empresa faz todo o seu
negcio na internet, por exemplo, venda de produtos, existe um
grande risco de perda de dinheiro,
se os computadores pararem de
funcionar. Mas se voc pensar no
mercadinho da esquina, no existe
nenhum problema se o computador do caixa parar.
Mas, o que isso tem haver com o
teste de software? Encontre a resposta para este questionamento
na prxima seo.

A atividade de testar o software est bastante ligada ao risco. Voc j


estudou como o custo dos testes influencia no desenvolvimento de um
software. Tambm j viu que os defeitos encontrados tardiamente aumentam bastante o custo da correo.
Por isso, as equipes de teste devem procurar um nvel de cobertura que
minimize a possibilidade de defeitos graves, principalmente por causa da
existncia de prazos. Ou seja, apesar de existirem riscos relativos a determinados defeitos, necessrio um tempo maior de teste com aqueles
que podem gerar os maiores problemas.

Definio de risco

Riscos relativos ao teste de software

DICA
Ao fazer a anlise de riscos, leve em considerao a probabilidade
de ocorrncia do risco e o impacto e perda associados a esse risco.

Neste momento possivelmente voc esteja se perguntando: mas, como


analisar e avaliar os riscos que possam surgir? sobre isso que conversamos a seguir.

Seo 3

Determinao da magnitude dos riscos


Voc precisa lembrar que, quando se trata de riscos, necessrio avaliar
o custo da ocorrncia do risco e o custo dos mecanismos de controle
para evitar que o risco ocorra.
Para fazer uma anlise preliminar da qualificao do risco voc pode usar
a tabela a seguir. Confira!

TESTES DE SOFTWARE

33

Impacto que o risco causa


Alto
Mdio
Baixo

Probabilidade de ocorrncia
Alta
Mdia
Baixa
AA
AM
AB
MA
MM
MB
BA
BM
BB

Quadro 4: Qualificao dos riscos (probabilidade x impacto).

Considerando o quadro apresentado anteriormente , perceba que voc


deve dar prioridade quele teste que vai causar o maior problema e que
pode ocorrer com mais facilidade (AA).
E como controlar os riscos? Confira a seguir.

Seo 4

Controle dos riscos


Considere uma loja que vende livros, CDs e DVDs pela internet e que
mantm uma base de dados num ambiente de grande porte (legado).
Voc pode encontrar alguns riscos associados a operao dessa loja.
Imagine os seguintes riscos:

Facilidade de uso do site, pois se a navegao no for bastante amigvel, pode ser que o cliente desista de comprar.

Tempo de resposta muito longo para as pginas abrirem, tambm

pode fazer com que o cliente desista.

A conectividade tem que ser confivel, para que o sistema no caia e


interrompa o processo de compra.
O primeiro risco pode ser controlado fazendo um teste de usabilidade
bem rigoroso. Uma das possibilidades criar um prottipo para ser
avaliado por um pblico externo. O sistema s ser liberado quando um
grupo de usurios concordar que o sistema est amigvel.
Para contornar o segundo risco preciso submeter o sistema a um teste
de carga e comparar os tempos de resposta com os requisitos do negcio. Por exemplo, os requisitos poderiam ser:

34

CURSOS TCNICOS SENAI

Deve ser prevista uma mdia de 6 mil acessos por dia, com pico de 8
mil. O tempo de resposta no deve ser superior a 4 segundos e, no
pico, a 8 segundos.

No controle desse risco necessrio utilizar uma ferramenta de automao que faa o teste de carga, adicionando novos usurios pouco a
pouco at que o sistema comece a se degradar, ou seja, apresentar um
tempo de resposta maior do que o requisitado.
Com este exemplo pode-se perceber que preciso relacionar todos os
possveis riscos que podem ocorrer com a implantao do software e
posteriormente analisar cada um deles buscando uma resposta ou at
mesmo soluo prvia para que o risco no se torne realmente um problema. Ento fique atento tambm aos riscos durante o processo de
teste do software, ok?
Na prxima unidade voc estudar sobre como fazer um plano de teste.
Vamos em frente!

TESTES DE SOFTWARE

35

Unidade de
estudo 5
Sees de estudo
Seo 1 Plano de teste, o que ?
Seo 2 Desenvolvimento do plano de
tese
Seo 3 Documentao do teste

Planejamento dos testes


Seo 1

Plano de teste, o que ?


Se voc trata os testes como um
processo contnuo, que faz parte
do desenvolvimento do software,
torna-se necessrio fazer um plano para estes testes, no mesmo?
Da mesma forma que qualquer
coisa que executada em um ambiente industrial, extremamente
importante que haja um planejamento dos testes.
Imagine que voc vai viajar de
avio. Voc sabe que o software
de controle do avio foi testado.
Mas e se no foi feito um planejamento e algum se esqueceu de
testar alguma coisa?
Segundo Bastos et al (2007, p.
113) o plano de teste uma maneira de documentar o projeto de
testes e desse modo, permitir que
os mesmos testes possam ser repetidos e controlados. Quando,
posteriormente, o software passar
por algum tipo de manuteno e
precisar voltar para ser testado,
esse documento ser um timo
guia para orientar a repetio ou
servir de base para executar os
testes de regresso.
Confira a seguir as etapas que fazem parte de um plano de teste.

Repetibilidade: uma coisa que torna qualquer sistema confivel

a repetibilidade, ou seja, se voc executar o sistema com as mesmas


entradas ele dever apresentar as mesmas sadas. O plano de testes
permite a repetibilidade da aplicao dos testes.

Controle: como voc saber se os objetivos do teste foram atingi-

dos ou se todos os elementos crticos foram testados? A nica forma


de fazer controle sobre os testes possuir um plano que determine
quais so os passos a serem seguidos na hora de testar.

Cobertura: o plano de teste tambm determinar o nvel de cobertura dos testes. Essa cobertura deve atingir os elementos mais crticos,
seja pelo risco que representa para o negcio, seja por sua importncia
para o projeto.
Em resumo, o plano de testes extremamente importante para o processo de teste. Ele estabelece o que vai ser testado, durante quanto
tempo e quando os testes sero interrompidos.

O plano de teste descreve como o teste dever ser executado e traa uma
linha mestra a ser seguida.
Confira na seo seguinte como desenvolver um plano de teste. Siga
adiante!

Seo 2

Desenvolvimento do plano de teste


Para que voc possa desenvolver um plano de teste existe um padro
que mundialmente aceito. Este padro foi definido pelo Institute of
Electrical and Electronics Engineeres (IEEE). Nele est a lista com o contedo do plano de teste.
O Quality Assurance Institute (QAI) segue basicamente este mesmo padro, apenas com algumas caractersticas prprias.

TESTES DE SOFTWARE

37

Para relembrar significa: PMBOK (Project Management


Body of Knowledge).
Para lembrar significa: PMI =
Project Management Institute, criadores do PMBOK.

Alm desses dois formatos de


plano, existe o Plano Global do
Projeto, definido pelo PMBOK,
que foi citado na primeira unidade
de estudos deste livro.
Este ltimo trata o teste como um
projeto, por isso voc ir estudlo
com mais detalhes a seguir.
Os itens do PMBOK so os seguintes:

Escopo: o escopo define

exatamente a extenso do projeto


de teste, at suas interfaces com
outros softwares, componentes,
elementos de rede ou demais elementos. Deve definir o que ser e
o que no ser coberto pelo teste.

Custo: para saber quanto

o projeto de teste vai custar


preciso medir o seu tamanho,ou
seja, preciso fazer a mtrica de
teste. possvel adaptar algumas
mtricas existentes, como anlise
de pontos de caso de teste. Mas
normalmente isso leva tempo e a
mtrica deve ser ajustada gradativamente.

Tempo: a elaborao do cro-

nograma est ligada ao tamanho


do projeto, que servir de base
para o clculo dos custos. Voc
pode imaginar, por exemplo, um
projeto com 180 pontos de teste.
Por meio de indicadores da empresa possvel transformar este
nmero de pontos em horas (por
exemplo, 220 horas). Depois,
transformar horas em custo
simples. Como tempo dinheiro,
voc deve tambm estabelecer
o momento de encerramento
dos testes. Ficar testando uma
aplicao por muito tempo pode
aumentar demais o custo do
projeto.

38

CURSOS TCNICOS SENAI

Qualidade: voc sempre


deve lembrar que o produto a ser
entregue deve estar de acordo
com as necessidades de qualidade
estabelecidas pelo cliente. Ento,
a medio da qualidade tem que
ser acompanhada por um programa de indicadores, implementado
no decorrer do projeto.
Integrao: a principal integrao do projeto de teste com
o processo de desenvolvimento.
Alm disso, como normalmente
o projeto de teste segmentado
em etapas, por isso preciso
manter a integrao entre elas.
Recursos humanos: a quantidade de homens/hora imaginada
para o projeto estabelecida aps
a estimativa de seu tamanho.
Porm, necessrio definir os recursos envolvidos em cada etapa
do projeto.
Comunicao: a funo dessa
etapa garantir a maneira como
as partes envolvidas no projeto
recebero as informaes de que
precisam para tomar decises.
Todo material produzido dever
estar disponvel para consulta de
maneira clara em algum ambiente
criado pelo projeto. As regras
de gerenciamento de projetos
determinadas pelo PMI definem
a necessidade de um gerenciamento de comunicao para dar
suporte aos projetos.
Riscos: o projeto de teste
implica seus riscos especficos,
como o uso de uma nova ferramenta de automao para a qual
os testadores ainda no tenham
sido treinados. Se voc o lder
do projeto de teste, tome cuidado
para no confundir os riscos do
projeto de teste com os riscos do
negcio.

Suprimentos: importante
que as necessidades de compra
de bens ou servios sejam atendidas no momento certo. Talvez
algumas ferramentas precisem ser
compradas ou um ambiente de
teste tenha de ser configurado.
Concluso: independentemente de qual modelo voc
seguir na elaborao do plano
de teste, o importante que este
planejamento seja feito com
cuidado e preciso.

Especificao de caso de teste: define os casos de teste, com


todas as caractersticas que voc estudou nas sees anteriores.
Especificao do procedimento de teste: identifica todos os
passos necessrios para a operao do sistema e o exerccio dos casos
de teste especificados. Os procedimentos de teste devem ser seguidos
passo a passo, sem imprevistos. Esta especificao forma um documento separado.

Voc sabe quais so os documentos necessrios s atividades de


um projeto de software? sobre
este assunto que voc estudar na
sequncia. Siga em frente!

Seo 3

Documentao do teste
Segundo Bastos et al (2007, p.
150), em torno de 50% a 60% do
tempo do analista de teste gasto na documentao do teste. A
norma IEEE 829 descreve um
conjunto de documentos necessrios s atividades de um projeto
de software. Veja!

Plano de teste: identifica os


itens e as funcionalidades a serem
testadas, os riscos associados ao
teste, as tarefas a serem realizadas
e apresenta o planejamento para
a execuo do teste.

Figura 11: Documentao IEEE 829.

Na prxima unidade voc ver como deve ser executado o teste de um


software. Como j mencionado nas unidades anteriores todos os testes
devem ser executados buscando a qualidade do software. Mas, muitas vezes, os requisitos dos softwares no exigem essas caractersticas. E como
teste custa dinheiro, ser preciso conversar com os usurios sobre a necessidade de alguns tipos de teste.
Ficou curioso(a) para saber mais sobre o assunto? Vamos l, siga em
frente nos estudos!

Especificao de projeto de

teste: trata-se de um detalhamento da abordagem apresentada no


plano de teste que identifica as
funcionalidades e as caractersticas a serem testadas pelo projeto.
Este documento tambm aponta
os casos e os procedimentos de
teste e apresenta os critrios de
aprovao.

TESTES DE SOFTWARE

39

Unidade de
estudo 6
Sees de estudo
Seo 1 Contexto dos testes
Seo 2 Processo de execuo dos testes
Seo 3 Relatrio de teste segunda a
IEEE 829
Seo 4 Gerenciamento de comunicao
do projeto de teste

Execuo dos testes


Seo 1

Contexto dos testes


De acordo com Bastos (2007, p. 169 apud CEM KANER, 1999), teste
esttico e teste dinmico so definidos da seguinte forma:

No teste esttico, o cdigo examinado.


No teste dinmico, o cdigo testado.

Para que os testes possam ser executados necessrio que exista o Plano
de Teste.
muito importante que o plano de testes esteja atualizado e bem
detalhado, pois isso facilitar o trabalho dos testadores na hora de
elaborar os casos de teste e de executar os testes.

A responsabilidade de cada pessoa durante a execuo dos testes deve


estar no plano de teste. No quadro a seguir voc pode verificar o que
cada agente da equipe de teste deve fazer. Confira!
Responsveis pelos testes
Testes unitrios

Programadores

Testes de integrao

Analistas de sistemas

Testes de sistema

Analistas de teste

Testes de aceitao

Usurios com a ajuda dos analistas de teste

Quadro 5: Responsabilidade de cada pessoa da equipe de teste.

Voc deve analisar os resultados dos testes a cada etapa de teste executada. Todo s os registros da execuo dos testes devem ser guardados sob
ferramentas de gesto dos testes. Desse modo, o gestor de teste poder
saber o que ainda precisa ser corrigido pela equipe desenvolvimento, o
que est em processo de teste e o que j foi dado como concludo, ou
seja, j foi testado, corrigido, retestado e aprovado.
Que tal conhecer como acontece o processo de execuo dos testes?
Este o nosso pximo assunto!

TESTES DE SOFTWARE

41

Seo 2

Processo de execuo dos testes


Nesta seo, voc vai ver que o processo de teste que deve ser cumprido
na fase de execuo. Esse processo est apresentado na figura a seguir.
O Plano de Teste de teste o documento mais importante deste fluxo.

Figura 12: Fluxo de execuo dos testes

DICA
Se ele no for elaborado, no possvel executar cada etapa corretamente, ok? Lembre-se disso!

Voc vai ver agora os diversos mtodos para testar uma aplicao, segundo as caractersticas de qualidade dos softwares.

Teste de autorizao (funcionalidade): visa garantir que as regras

de autorizao sejam cumpridas. Ningum pode executar, por exemplo, uma funcionalidade para a qual no est habilitado.

Teste de integridade dos arquivos (funcionalidade): garante que

as atualizaes de arquivos foram feitas corretamente aps a execuo


de um mdulo do software.

Teste de recuperao (continuidade): voc deve testar os


procedimentos que permitem que o sistema seja reiniciado aps uma
falha. Todos os procedimentos que mostram como reiniciar o sistema
devero passar por inspeo.
Teste de estresse (performance): o teste deve colocar a aplicao

sobre estresse para verificar se o software consegue funcionar corretamente sob grande carga de processamento.

42

CURSOS TCNICOS SENAI

Teste manual (usabilidade):


os sistemas devem ser amigveis, fceis de utilizar, para que
possam fazer sucesso com os
usurios finais. Normalmente,
difcil avaliar se uma aplicao amigvel, apenas usando
um ambiente de teste. Ento,
melhor fazer o teste manual num
ambiente mais prximo possvel
do ambiente de produo.
Teste de segurana (segu-

rana): este tipo de teste deve


verificar se possvel que pessoas
no autorizadas violem as informaes. Em geral, o testador
no especialista em segurana,
ento em alguns casos necessrio contratar tcnicos especialistas para a execuo deste teste.

Inspees (manutenibilidade): muito importante testar se


ser fcil efetuar a manuteno
da aplicao no futuro. Para a
pessoa que desenvolveu o software, fcil fazer alteraes, pois ela
conhece bem a aplicao. Mas
se esta aplicao for mantida por
outro tcnico, necessrio que
ela seja simples de entender.
Teste de conexo (conectividade): estes testes devem
garantir que a aplicao est se
comunicando corretamente com
outra.

Teste de performance
(performance): muitas vezes, as
aplicaes apresentam alguns critrios de desempenho que precisam ser atendidos, como nmero
de clientes ativos ou transaes
executadas por hora.
Teste operacional (operacionalidade): neste tipo de
teste, toda a documentao de
operao do software ser avaliada.
Ele deve ser feito pela equipe de
produo ou pela equipe que ir
operar a aplicao.
O quadro a seguir um exemplo
de checklist que pode ser utilizado na execuo dos testes. Este
exemplo foi retirado do livro Garantia da Qualidade de Software do
autor Alexandre Barti. O quadro
mostra vrios procedimentos de
teste para integraes batch em
um sistema de vendas, que coleta todas as entradas de pedidos
realizadas pelos vendedores, nas
quais so informados os produtos
e suas quantidades, descontos e as
condies de pagamento negociadas com o cliente.
Normalmente, nas integraes batch, se voc deseja provocar uma
situao no sistema, necessrio
interagir com outros softwares de
forma produzir o resultado desejado.

Manutenibilidade uma medida para mostrar se o software fcil de consertar ou


ser melhorado.
Batch: a traduo direta
lote. No caso de software,
essa palavra est relacionada
com um arquivo de lote (.bat)
utilizado para automatizar tarefas.

TESTES DE SOFTWARE

43

Processo: importa resultado da anlise de crdito


Cenrio #1
Executar a importao sem a existncia do arquivo
Pr - requisitos

Garantir que no exista arquivo texto de importao.

Aes

Executar importao da anlise de crdito.

Conferncias

Mensagem No foi encontrado o arquivo de Anlise de Crdito.


Cenrio #2
Executar a importao com o arquivo disponvel

Pr - requisitos

Garantir que existam pedidos que aguardam anlise de crdito.


Garantir que exista arquivo de simulao Simula-01.TXT.

Aes

Executar importao da anlise de crdito.

Conferncias

Mensagem Importao da Anlise de Crdito realizada com sucesso.


Confirmar se o arquivo foi excludo.
Confirmar se as situaes dos pedidos foram alteradas corretamente.
Confirmar os motivos para os pedidos com recusa de crdito.
Cenrio #3
Executar a importao com arquivo j processado

Pr - requisitos

Garantir que exista arquivo de simulao Simula-01.TXT.


Garantir que o arquivo Simula-01.TXT j tenha sido processado.

Aes

Executar importao da anlise de crdito.

Conferncias

Mensagem Este arquivo j foi anteriormente processado!.


Confirmar se a operao foi cancelada.
Confirmar se o arquivo foi excludo.
Cenrio #4

Executar a importao de pedidos com dois dias em pendncia de anlise de crdito


Pr - requisitos

Garantir que existam pedidos aguardando anlise de crdito h dois dias.


Garantir que exista arquivo de simulao Simula-02.TXT.

Aes

Executar importao da anlise de crdito.

Conferncias

Mensagem Alguns pedidos esto em anlise h dois dias ou mais!.


Confirmar se o arquivo foi excludo.
Confirmar exibio da lista de pedidos com dois dias em anlise ao usurio.
Confirmar e-mail para o Gerente de Vendas e de Crdito e Cobrana.
Confirmar se e-mail possui lista de todos pedidos com dois dias em anlise.

Quadro 6: Checklist para execuo de testes

44

CURSOS TCNICOS SENAI

Na prxima seo voc conhecer modelos de relatrio de teste segundo a IEEE 829. Siga em
frente!

Seo 3

Relatrio de teste segundo a IEEE 829


O lder do projeto dever elaborar
um relatrio sobre os testes, ao final do projeto. Nesta seo voc
estudar alguns relatrios de teste
definido pela norma IEEE 829.
Estes documentos so:

relatrio de Log de teste;


relatrio de Incidentes de

teste;

relatrio de Sumrio de teste.


DICA
Nas prximas pginas desta
seo voc estudar cada
um desses relatrios.

Relatrio de log de teste


O log pode ser considerado como
um dirio de ocorrncias da atividade de execuo dos testes. O
propsito bsico descrever tudo
de relevante que ocorre durante o
projeto de teste.
Confira os itens que devem estar
no log de teste:

identificao;
descrio;
atividade e eventos;
descrio da execuo;
resultados;

informao sobre o ambiente


de teste;

eventos imprevistos.

Exemplo:

28 de setembro de 2001.
10h: Nilton comeou a testar

o mdulo M do sistema L.

10h15: Nilton usou os dados


de teste j existentes conforme o
documento AAA.
10h30: ocorreu um cancelamento anormal que foi registrado
no documento correspondente
e encaminhado ao desenvolvimento.
10h40: Nilton interrompeu o

teste, pois est aguardando o parecer da rea de desenvolvimento.

Relatrio de incidentes
de teste
Qualquer ocorrncia no projeto
de teste que requeira algum tipo
de investigao dever ser registrada no relatrio de incidentes.
O uso mais comum deste relatrio quando voc encontra um
defeito ocorrido e tem que transmitir para a equipe de desenvolvimento, para que ela tome alguma
providncia.
O relatrio de incidente de teste
deve ter o seguinte contedo bsico:

identificador do relatrio -

deve ser nico em todo o projeto


ou processo de teste;

sumrio da ocorrncia - des-

crever em detalhes o que estava


sendo feito quando ocorreu o
incidente;

descrio do incidente - o
IEEE sugere que voc coloque
na descrio os seguintes itens:
entradas, resultados esperados,
resultados encontrados, problemas, data e hora da ocorrncia,
sugestes de procedimentos a
serem tomados, ambiente, tentativas de contornar o problema,
testadores envolvidos e observadores.

Relatrio de sumrio
de teste
Neste relatrio voc deve apresentar as atividades de teste realizadas durante um determinado
projeto e mostrar resumidamente
as ocorrncias durante todas as
atividades. Este relatrio costuma
fechar o projeto de teste.
A seguir conhea o contedo desse relatrio.

Identificador: cdigo que

identifica o relatrio. Deve ter


uma referncia ao projeto de
teste em questo.

Sumrio: devem ser mostrados o escopo do trabalho e


os documentos bsicos usados
no projeto, descrevendo resumidamente o trabalho de teste
executado.
Variaes: se algum procedi-

mento foi feito de forma diferente do que est previsto no plano


de teste, deve ser listado neste
item.

Avaliaes do processo:
qualquer ocorrncia que possa
causar impacto na qualidade do
software liberado para a produo
deve ser relatada. Por exemplo,
se algum teste foi interrompido
por falta de prazo.
Sumrio dos resultados:
neste campo voc deve colocar
todos os parmetros que possam
quantificar o projeto de teste.
Por exemplo, nmero de casos
de teste, nmero de execues
de cada caso, nmero de defeitos
encontrados etc.
Avaliao do teste: voc deve

avaliar o projeto de teste e verificar se alguns riscos ainda no


resolvidos podem causar problemas no momento da produo.

TESTES DE SOFTWARE

45

Sumrio de atividades: neste sumrio voc deve listar as pessoas


envolvidas no projeto de teste, o nmero de horas consumidas no
projeto por atividade, tempo total consumido pelo projeto e outras
informaes relevantes.
Aprovaes: nome das pessoas responsveis pela aprovao do

projeto de teste.

A partir do que voc j estudou, percebeu a importncia da sua dedicao para percorrer a trajetria de aprendizagem? Ento, vamos em
frente.

Seo 4

Gerenciamento de comunicao do projeto de


teste
De acordo com o PMBOK, o gerenciamento de comunicao de um
projeto deve incluir os processos necessrios para garantir a gerao, a
coleta, a disseminao, o armazenamento e o descarte de todas as informaes do projeto. Assim, o gerenciamento de comunicao se divide
nas seguintes atividades:

planejamento das comunicaes;


distribuio das informaes;
relatrio de desempenho;
encerramento.

E cada uma dessas atividades tem o seguinte contedo:

entradas;
ferramentas e tcnicas;
sadas.

46

CURSOS TCNICOS SENAI

Figura 13: Gerenciamento de comunicaes

Em resumo, voc pode entender que:

as entradas so todos os artefatos necessrios para realizar a ativida-

de;

as ferramentas e tcnicas correspondem a tudo o que feito sobre


as entradas;
as sadas correspondem ao resultado final da atividade.
Com este assunto voc encerra os estudos desta unidade. Porm, a busca
por novos conhecimentos no acabou. Pesquise sobre os temas, converse com o professor, discuta com seus colegas, enfim, explore todas as
oportunidades de aprendizagem.
Agora prepare-se para uma nova jornada.

TESTES DE SOFTWARE

47

Unidade de
estudo 7
Sees de estudo
Seo 1 Definio dos critrios de aceitao
Seo 2 Elaborao do plano de aceitao
Seo 3 Execuo do teste de aceitao

Teste de aceitao
Seo 1

Definio dos critrios


de aceitao
O teste de aceitao de responsabilidade do usurio do software (teste beta). Segundo Barti
(2000, p. 157)
[...] o ltimo estgio do processo de validao. Trata-se do
ltimo processo formal de deteco de erros no sistema, antes de sua disponibilizao no
ambiente de produo. Nessa
etapa, o software disponibilizado para clientes e usurios
com o objetivo de estes validarem todas as funcionalidades
requisitadas no incio do projeto. Os usurios tero a oportunidade de interagir com um sistema completo, exaustivamente
testado pela equipe de testes.

Esta validao no precisa ser feita apenas no final do processo.


Ela pode acompanhar todo o desenvolvimento do projeto.
Dessa forma possvel que o prprio usurio detecte problemas
mais cedo, podendo negociar novos prazos.
Para tanto, t no incio do projeto,
quando so elaborados os requisitos, o usurio deve definir quais
critrios sero utilizados para a
aceitao do software. Ou seja, o
que ele ir avaliar no momento do
aceite.
Normalmente, os requisitos a que
o software deve atender podem ser
divididos em trs categorias:

requisitos de funcionalida-

de: relatam as regras de negcio


a que o software dever obedecer;

requisitos de performance:

retratam requisitos operacionais,


como por exemplo, tempo de
resposta, nmero de transaes
por hora e outras restries que
devero ser cumpridas;

requisitos de qualidade:
definem atributos de confiana,
testabilidade, correo e usabilidade etc.
DICA
A testabilidade indica o quo
fcil escrever os casos de
teste para o software.

Voc j ouviu falar em plano de


aceitao? Vamos ver juntos o
que a prxima seo reserva para
a contuidade dos seus estudos!

Seo 2

Elaborao do plano de
aceitao
O plano de aceitao um documento que define os passos
necessrios ao teste de aceitao,
como estes testes devem ser feitos
e diversos requisitos e responsabilidades.

O ideal que o plano de aceitao seja escrito simultaneamente


ao plano geral do projeto e elaborao dos requisitos. O teste de
aceitao vai depender da liberao do software pelos desenvolvedores e testadores.
O plano do projeto dever ter um
cronograma de desenvolvimento
e teste, para indicar quando os
testes de aceitao tero incio.
O plano de aceitao deve conter
as informaes seguintes.

Descrio do projeto: devem


ser especificados o ambiente
operacional e as interligaes
com outros software ou ambientes,
alm de incluir uma descrio
detalhada do projeto, com suas
fases e a metodologia utilizada no
desenvolvimento.
Responsabilidades dos usurios: definir as atividades que os
usurios devem fazer durante os
testes. Deve incluir sua participao nas etapas do projeto.
Procedimentos administrativos: incluir todos os relatrios
gerados durante o trabalho de
teste. Identificar as reas envolvidas. Definir critrios de comunicao entre as partes envolvidas.
Requisitos cobertos: iden-

tificar a lista dos requisitos que


sero cobertos pelos testes de
aceitao.

Responsvel pela elaborao: nomear o responsvel pela


elaborao do plano.
TESTES DE SOFTWARE

49

Agora que voc j sabe o que um plano de aceitaao, assim como as


informaes que ele deve conter, que tal aprender a execut-lo? Siga em
frente!

Seo 3

Execuo do teste de aceitao


Os testes de aceitao so executados sobre os produtos entregues durante o ciclo de vida do processo de desenvolvimento. Esses testes sero as ltimas oportunidades do usurio para verificar se o produto que
encomendou equipe de desenvolvimento de fato o produto que lhe
est sendo entregue. Assim, voc pode empregar o aceite como uma
estratgia para reduzir riscos de uma implantao macia, na qual um
erro vital no detectado pode comprometer a imagem da soluo como
um todo.
Os testes de aceitao podem ser divididos em trs partes: aceite formal,
alpha teste e o beta teste. Confira!

Figura 14: Estgios do processo de aceite de um software.

Aceite formal: nesta parte do teste de aceitao, os clientes planejam e realizam os testes. muito utilizado em projetos desenvolvidos
para atender a um grupo de empresas, possibilitando a criao de um
comit que atestar a aderncia do software s necessidades do grupo.
Assim, o processo de aceitao torna-se uma continuao natural dos
testes funcionais do sistema.
Alpha teste: o objetivo deste teste permitir que o usurio atue
naturalmente no software, de forma a encontrar defeitos em alguns
procedimentos implantados. Para isso, voc deve convidar os clientes
a operar o software em um ambiente localizado na empresa criadora do
software. Neste teste no h formalidades quanto validao, mas
importante criar um conjunto reduzido de procedimentos. Pode ser
que os clientes no sigam completamente estes procedimentos, mas
eles funcionaro como um checklist do aceite.
Beta teste: neste tipo de teste de aceitao feita uma implan-

tao em paralelo. Os clientes vo operar o produto utilizando suas


prprias instalaes fsicas para que o software seja utilizado no ambiente real do dia-a-dia. Voc no deve confundir o Beta teste com a
implantao definitiva.

50

CURSOS TCNICOS SENAI

Este teste pode ocorrer at que o cliente se sinta seguro em realizar a


mudana de aplicativo e durante toda a sua execuo, ele contar com
o apoio da empresa. Dessa forma a imagem do produto e da empresa
no ser prejudicada.
Agora, voc j sabe por que alguns sistemas na internet possuem a palavra beta, pequenininha, junto com o nome do sistema.
A etapa que trata de Todos os clientes indica que o software ser implantado definitivamente. Se todas as fases do processo de teste foram
bem planejadas e executadas, nesta etapa o software estar atendendo
corretamente todos os requisitos funcionais e estruturais indicados pelo
cliente.
Confira o que preparamos para voc na prxima unidade de estudos!

TESTES DE SOFTWARE

51

Unidade de
estudo 8
Sees de estudo
Seo 1 Anlise do ponto de teste
Seo 2 Estimativa baseada no tamanho e
complexidade do caso de uso

Estimativas
Seo 1

Anlise do ponto de
teste
Segundo Bastos et al (2007, p.
243), a anlise de ponto de teste
(APT), uma tcnica de medio
de projetos de teste de software.

DICA
Lembre - se que toda tcnica de medio e estimativa
deve levar em considerao
o ambiente onde est sendo
usada.

Voc nunca deve esperar obter


resultados exatos na primeira vez
que empregar esta anlise. Mas
com o tempo e o ajuste do modelo, a tendncia que os resultados
ficaro cada vez mais precisos.
O objetivo da APT determinar
o tempo necessrio etapa de testes. Esta tcnica leva em considerao o tamanho do sistema a ser
testado a partir das informaes
coletadas com as equipes de desenvolvimento. Os testes tambm
so afetados pelos seguintes fatores:

a qualidade do sistema testado

(o ciclo de reincidncia de defeitos);

o nvel de cobertura esperado


com os testes;
a experincia e a produtividade
da equipe de teste (medidos por
meio de indicadores histricos);

Saiba mais sobre anlise de


ponto de teste em:
http://www.testexpert.com.
br/?q=taxonomy/term/8
http://qualidadebr.wordpress.com/2009/11/22/estimativa-de-testes-apt/.

o grau de automao dos


testes;
a qualidade do ambiente de

teste, at mesmo a sua capacidade de simular o ambiente de


produo;

a qualidade da documentao

do sistema e, especialmente dos


requisitos.
A figura a seguir mostra as etapas
necessrias para se chegar ao tamanho do sistema em pontos de
teste. Veja!

o grau de complexidade do
processo de teste;
o nvel de qualidade que se

pretende alcanar com os testes;

o grau de envolvimento dos


usurios com os testes;
as interfaces que so as

funes testadas tm com os


arquivos;
Figura 15: Viso geral da Anlise de Pontos de Teste.

TESTES DE SOFTWARE

53

Seo 2

Estimativa baseada no tamanho e complexidade


do caso de uso
De acordo com Bastos et al (2007, p. 246) este tipo de estimativa
simples e necessita de pouco conhecimento em clculos. Ela utiliza as
seguintes entradas:

contagem do nmero de fluxos de um determinado caso de uso;


mdia de passos de cada fluxo (passo do ator e reao do sistema);
contagem do nmero de excees;

contagem das regras de negcios, classificadas como simples, mdias


e complexas.
Voc deve calcular o esforo de teste combinando a complexidade e o
tamanho do caso de uso.
Por exemplo, quanto tempo necessrio para testar um caso de uso
pequeno e de complexidade simples?
Esse valor de tempo deve ser corrigido periodicamente (histrico associado experincia e maturidade da equipe de teste). Quando existem
pessoas com diferentes nveis de experincia, voc pode atribuir um fator de correo. Veja a tabela a seguir.
Tamanho

Complexidade

Horas

Pequeno

Simples

Pequeno

Mdia

Pequeno
Mdio
Mdio
Mdio

Complexa
Simples
Mdia
Complexa

10
8
12
16

Grande
Grande
Grande
Muito grande
Muito grande

Simples
Mdia
Complexa
Simples
Mdia

12
18
20
16
20

Muito grande

Complexa

28

Tabela 1: Esforo de teste em horas

54

CURSOS TCNICOS SENAI

A complexidade deve ser informada pela rea de negcio, responsvel


pela elaborao do caso de uso.
Esse valor em horas (complexidade/tamanho) deve ser dividido pelas
diferentes fases do ciclo de teste (elaborao, execuo, reteste etc). Bastos et al (2007, p. 249) cita os seguintes valores:

planejamento + projeto de teste = 35% do tempo total;


execuo do teste = 60%;
5% restante destinado para o reteste e a concluso do teste.
importante que voc saiba que estes valores podem variar muito de
um caso para outro. Eles no so valores fixos, precisam de um ajuste
gradativo. E as tcnicas, apesar de slidas, devem ser aplicadas com
cuidado, principalmente na hora de transformar tamanho em esforo.

Estamos falando de estimativas, ento nada completamente preciso.


Ou seja, necessrio que voc entenda que esta anlise deve ser aplicada,
mas no espere que na primeira vez o resultado ser perfeito. Voc precisar fazer a anlise novamente para o mesmo sistema e para sistemas
diferentes, at que a sua prtica e conhecimento na rea consiga chegar
em um valor bastante aproximado da realidade.
Neste caso, no se preocupe em acertar da primeira vez. Preocupe- se
sim, em continuar melhorando a cada dia.

TESTES DE SOFTWARE

55

Finalizando
Parabns, voc chegou ao final de mais uma etapa!
Agora voc j sabe da importncia da busca pela qualidade de software. Tambm sabe que para
atingir a qualidade, necessrio utilizar uma metodologia adequada e principalmente, dentro dessa
metodologia, como um processo. Ou seja, deve acompanhar o desenvolvimento desde o incio at
quando o sistema est rodando na verso beta.
Tipos e tcnicas existem aos montes para voc escolher. importante que voc saiba distinguir o
que melhor para o sistema que est sendo desenvolvido. Lembre-se que testar custa dinheiro e
corrigir problemas tambm. Principalmente se estes problemas so encontrados l no final do ciclo
de vida do desenvolvimento.
Ento voc precisa equilibrar a quantidade de testes com os riscos existentes. Testar o programa do
mercado do Seu Z diferente de testar o programa de gerenciamento de recursos de um hospital.
Lembre- se: voc est destinado a ser um timo profissional, mas para isso precisa estar preparado
em todos os campos. Ser um bom desenvolvedor de software no apenas fazer um software que
funcione. E sim fazer um software que seja fcil de testar, fcil de se fazer manuteno e que possa
ser adaptado vrias condies de uso.

TESTES DE SOFTWARE

57

Referncias

AGAPITO, Robson. Estimativas de teste. 01 mar. 2010. Disponvel em: <http://www.testexpert.com.br/?q=taxonomy/term/8>. Acesso em: 31 out. 2010.

BARTI, Alexandre. Garantia da qualidade de software. Rio de Janeiro, RJ: Campus, 2002.
ISBN 8535211241.

BASTOS, Aderson et al. Base de conhecimento em teste de software. 2. ed. rev. So Paulo,
SP: Martins, 2007. 263 p. ISBN 9788599102893.

CAMPOS, Fabricio F. de. Estimativa de teste (APT). 22 nov. 2009. Disponvel em: <http://
qualidadebr.wordpress.com/2009/11/22/estimativa-de-testes-apt/>. Acesso em: 31 out.
2010.

PALMA, Fernando F. O processo de teste de software. 20 out. 2009. Disponvel em:


<http://testesdesoftware.blogspot.com/>. Acesso em: 31 out. 2010.

RIOS, Emerson. Gerncia do projeto de testes segundo o modelo PMI. 01 out. 2007.
Disponvel em: <http://www.testexpert.com.br/?q=node/224>. Acesso em: 31 out. 2010.

RIOS, Emerson; MOREIRA FILHO, Trayah R. Teste de software. 2. ed. rev. e ampl. Rio de
Janeiro, RJ: Alta Books, c2006. 222 p. ISBN 8576081288.

SILVA Filho, Antonio M. da. Componentes de software: componentizao no desenvolvimento de software. Ago 2008. Disponvel em: <http://www.espacoacademico.com.
br/087/87amsf.htm>. Acesso em: 31 out. 2010.

SOMMERVILLE, Ian. Engenharia de software. 8. ed. So Paulo, SP: Addison-Wesley, 2007.


xiv, 552 p. ISBN 9788588639287.

TESTES DE SOFTWARE

59

Equipe de Desenvolvimento de Recursos Didticos


Coordenao de Educao a Distncia
Beth Schirmer
Coordenao Projetos EaD
Maristela de Lourdes Alves
Coordenao de Desenvolvimento de Recursos
Didticos
Gisele Umbelino
Projeto Educacional
Angela Maria Mendes
Israel Braglia
Projeto Grfico
Daniela de Oliveira Costa
Jordana Paula Schulka
Juliana Vieira de Lima

Design Educacional
Gisele Umbelino
Capa, Ilustraes, Tratamento de Imagens
Dimitre Camargo Martins
Diego Fernandes
Luiz Eduardo Meneghel
Diagramao
Daniela de Oliveira Costa
Reviso e Fechamento de Arquivos
Daniela de Oliveira Costa
Juliana Vieira de Lima
Reviso Ortogrfica e Normatizao
FabriCO

Anda mungkin juga menyukai