Sei sulla pagina 1di 72

Teste de Software

Teste de Software
Apresentao
Apresentao
Prof Daves Martins
Msc Computao de Alto Desempenho
Email: daves.martins@ifsudestemg.edu.br
Agenda
este de !oft"are ##$ e Defeitos de !oft"are
%nspeo de !oft"are
este &nit'rio
An'lise do #alor (imite
este com )b*etos Moc+
este de Cobertura
este em ,anco de Dados
este de Mutao
este de %ntegrao
este -uncional
Particionamento em Classes de E.uival/ncia
este de Desempenho
este em 0eb !ervices
Desenvolvimento Dirigido pelo este
%ntegrao Cont1nua
Controle de Defeitos
Consideraes Importantes
2
Disciplina 34h5a
2
-altas 6 478 6 9: faltas;
Avaliao
2 9 6 rabalhos: <9= trabalhos pr'ticos> <9== pts>
2 - 6 rabalho -inal <94= pts>
2 ! 6 !emin'rios <:= pts>
2 A 6 Artigos <9= Artigos> ? (eitura e @esumo <9= pts eAtra>
2 Bota -inal C <9 D - D ! >
E
Referncias Bibliogrficas
DE(AMA@)F M.E.; MA(D)BAD)F G.C.; G%B)F M.
%ntroduo ao este de !oft"are. Elsevier EditoraF 4==3.
MHE@!F I.F ,ADIEF .F J)MA!F .F !ABD(E@F C.F
he Art of !oft"are esting. 0ileK; Erd EditionF %!,B
L3:6999:=E9LMN. 4=99.
etodologia
Aulas teOricas e pr'ticasF idealmente alternadas
!emin'rios ministrados pelos alunos
Pro*eto de disciplina
!ensamentos Importantes"""
!ensamentos Importantes"""
Teste de Software
P) soft"are sempre ser' testado. Pode ser testado
por voc/ ou ser' testado pelo seu cliente5usu'rio.Q
Teste de Software
Problemas ocorridos na utiliRao de produtos de
soft"areF percebidos muitas veRes pelo usu'rio finalF
podem ser decorrentes de falta de .ualidade no
processo de desenvolvimentoF onde tScnicas de
inspeo e de testes so fortes aliadas na
identificao precoce dos defeitosF melhorando a
satisfao do usu'rio e minimiRando os elevados
custos associados a manutenTes corretivas
&ma das formas de melhorar a .ualidade na
construo de soft"are S a implementao de
procedimentos de teste em todas as fases de seu
ciclo de vida
Teste de Software
EntretantoF esta S uma pr'tica pouco utiliRada nas
empresasF pois normalmente necessita de grande
mo6de6obra e um esforo desregrado com resultados
pouco favor'veis em muitos casos
%sso aconteceF pois testes devem ser embasados em
fundamentos lOgicosF e no simplesmente voltados
para eAecuo de funcionalidades aleatoriamenteF em
tentativas tendenciosas de encontrar defeitos
Teste de Software
Bo S poss1vel aplic'6los eAaustivamente
Para aumentar sua efic'ciaF deve ser eAecutado por
e.uipes independentes
#m bom teste$
Possui alta probabilidade de encontrar um defeito
Bo S redundante
U abrangente o suficiente
Possui um n1vel ade.uado de compleAidade
Teste de Software
) teste S uma atividade destrutivaF ao contr'rio do
desenvolvimento de soft"areF .ue S uma atividade
construtiva
%neAist/ncia de falhas: o soft"are S de alta
.ualidade ou o teste S de baiAa .ualidadeV
ipos de teste: unidadeF coberturaF integraoF
regressoF funcionalF desempenho
este Jomologao <ou de Aceitao>: aceite
pelo usu'rio final
Teste de Software
Poucos programadores e analistas gostam de
este
este Alfa: eAecutado na instalao do desenvolvedor
pelo cliente
este ,eta: eAecutado na instalao de um ou mais
clientes pelo usu'rio final do soft"are
Casos de &so devem considerar criticalidade e
fre.W/ncia <AltaF MSdiaF ,aiAa> para definir a
prioridade do teste
Teste de Software
Scnica -uncional <CaiAa6Preta>: baseia6se na
especificao do soft"are para derivar os casos
de teste

Particionamento em Classes de E.uival/ncia

An'lise do #alor (imite


Scnica Estrutural <CaiAa6,ranca>: baseia6se no
conhecimento da estrutura interna da implementao

CompleAidade Ciclom'tica
Teste de Software
Teste de Software
Defeitos no Processo de Desenvolvimento
A maior parte S de origem humana
Xuanto antes a presena de um defeito for reveladaF
menor o custo de sua correo e maior a
probabilidade de corrigi6lo corretamente
Deve6se introduRir atividades de ##$
<#erificaoF #alidao e este> ao longo de todo o
ciclo de desenvolvimento
Teste de Software
Teste de Software
25
:.: O Processo de Testes de Software
:.: O Processo de Testes de Software
Estratgia de testes
Testes caixa branca
Testes exploratrios
Testes caixa preta
Testes de vulnerabilidades
Testes de Carga e Stress
Testes Funcionais
Testes baseados em cenrios Testes negativos
Inspeo de
Arteatos !oc"
#eriicao de
!iagramas $%&
#alidao de modelos E'
#alidao(#eriicao de
re)uisitos
'gua de Avaliao
Fornecedores
Testes unitrios
A estratgia de testes a* parte da %etodologia dos
testes +++
Testes de regresso
Testes automati*ados
26
Slide, -.
/ 0 programa de certiicao do Quality Assurance
Institute (QAI) um dos mais aceitos
internacionalmente"
/ Existem dois tipos de certiicao,
1. CSTE 12produto34, preparao do ambiente de
testes5 plane6amento de testes5 test design5
execuo de testes5 automao5 erramentas5
elaborao de relatrios5 etc"
2. CSQA 12processo34, estrutura de modelos de
)ualidade5 deinio de padr7es de prtica e
controle de )ualidade5 construo8
implementao e mel9oria dos processos de
)ualidade5 mtricas"
/ 0utras institui7es outorgantes, International
Software Testing Institute e American Society for
Quality
:.: Certificao Profissional
:.: Certificao Profissional
27
Slide, -:
:.: Papis & Responsailidades
:.: Papis & Responsailidades
Papel Responsabilidades
;erente8 Coordenador ou
&<der de testes
#iabili*a os recursos necessrios para
um esoro de testes5 condu* as
atividades e as monitora em
conormidade com o plane6amento5
'ealoca recursos ao longo do ciclo"
Analistas de Testes =lane6a a estratgia e elabora casos
de testes8 baseando>se nos re)uisitos
de negcio do S$T"
Ar)uiteto de Testes =repara toda inra estrutura
necessria para se executar a
estratgia de testes" Instala
erramenta8 gera massa de dados8
mede perormance8 etc"
Executor de Testes Executa tudo o )ue est plane6ado"
Figura>c9ave do ciclo de testes pois
as ocorr?ncias encontradas por ele
so os indicadores da )ualidade do
produto inspecionado"
Teste de Software
)utras categorias de testes em sistemas
@ecuperao: fora o soft"are a falhar em diversas
situaTes e verifica a capacidade de recuperao do
Produto
!egurana: verifica se os mecanismos de proteo
constru1dos para o sistema iro de fato proteg/6lo de
alguma utiliRao ou intruso imprOpria
!tress: eAecuta o sistema de forma a eAigir recursos
em .uantidadeF fre.W/ncia ou volume anormais
Desempenho: avalia o desempenho do soft"are
.uando integrado ao sistema. Bormalmente est'
associado ao teste de !tress
este de !oft"are
este de !oft"are
Plane*amento dos estes
)b*etivo:
Y Plane*ar e definir o .ue ser' feito ao longo dos testes antes .ue
comece a sua realiRao efetiva

Definir ob*etivos

Definir Cronograma

Alocar Pessoas

Definir @iscos

Especificar Casos e Procedimentos de este


Plane*amento dos estes
Atividade 9 Plane*ar estes
Ponto chave para o sucesso dos testes
Deve estar relacionada ao plane*amento do pro*eto
Envolve muitas tomadas de decisTes .ue devem ser analisadas
buscando6se encontrar as melhores opTesF dado o conteAto de
um pro*eto
!ub6atividades:

CaracteriRao dos testes <escopo e ob*etivo>

Definio dos %tens de este e CritSrios de Aprovao dos %tens

Plane*ar estratSgia a ser seguida <tScnicasF mStodos e


ferramentas>

Plane*ar @ecursos Jumanos e necessidade de treinamentos

Plane*ar @ecursos -1sicos

Definir Cronograma <em conformidade ao cronograma do pro*eto>

Estimar Custos

%dentificar @iscos
Artefato 6 9 Plane*ar estes
<%EEE:4L>
Plane*amento dos estes
Atividade 4 Pro*etar estes
)b*etivo:
Y Especificar um refinamento da<s> abordagem<ns> de teste definida<s>
no plane*amento
Y %dentificar as caracter1sticas a serem testadas para cada item
Y Pro*etar seus testesF identificando o con*unto de casos e
procedimentos de teste a serem eAecutados
!ub6atividades:
Y Detalhar estratSgia de teste para cada item de teste e caracter1stica a
ser testada
Y %dentificar casos de procedimentos de teste
Y PrioriRar procedimentos de teste
Y Especificar critSrios de aprovao para cada caracter1stica5item
Artefato 6 4 Pro*etar estes
<%EEE:4L>
Plane*amento dos estes
Atividade E Especificar caso de
este
&m caso de teste descreve uma condio particular a ser testada e S
definido por valores de entradaF restriTes de uso e um resultado
esperado
Bessa atividadeF cada caso de anteriormente deve ser especificado
!ub6atividades <para cada caso de teste>:

CaracteriRar o caso de teste

Especificar Entradas e @esultados Esperados

Definir @ecursos para o Caso de este

Especificar @estriTes de &so

Definir Depend/ncias entre Casos de este


Artefato 6 E Especificar Caso de
este <%EEE:4L>
Plane*amento dos estes
Atividade N Definir procedimento
de teste
&m procedimento de teste descreve os passos necess'rios para a
eAecuo de um ou mais casos de teste
Cada procedimento precisa ser caracteriRado com informaTes sobre o
seu ob*etivo e re.uisitos para a sua eAecuoF alSm dos passos a serem
seguidos durante os testes
!ub6atividades <para cada procedimento de teste>

Definir ob*etivos do procedimento de teste

Definir @e.uisitos para a EAecuo do Procedimento

Descrever Passos

Construir Procedimento de este


Artefato 6 N Definir procedimento
de teste <%EEE:4L>
este de !oft"are
EAecuo dos estes
)b*etivo:
Y EAecutar os testes a partir do .ue foi estabelecido durante o
plane*amento
Y Monitorar as atividades realiRadas
Y @egistrar os incidentes detectadosF e
Y Apresentar ao final os resultados dos testes
Plane*amento dos estes
Atividade 7 EAecuo de testes
EAecuo dos testes deve incorporar os princ1pios b'sicos de
eAperimentao cientifica
Y tudo feito durante os testes deve ser realiRado e documentado
claramente permitindo .ue outras pessoas possam repetir os mesmos
resultados
)s testes devem ser realiRados de acordo com os procedimentos
plane*ados
!ub6atividades:
Y Configurar Ambiente de este
Y EAecutar Procedimentos de este
Y @egistrar %ncidentes de este
Artefato ? 7.9 (og dos testes
Artefato ? 7.9 (og dos testes
Plane*amento dos estes
Atividade M Analisar o resultado
dos testes
)s resultados dos testes devem ser avaliados para determinar
se os testes obtiveram PsucessoQ
Y Ba maioria dos casosF PsucessoQ significa .ue o sistema funcionou
conforme o esperado de acordo com os critSrios do testeF e no
apresentou resultados inesperados
Permite a uma organiRao prover um entendimento sobre os seus
processos identificando pontos de falhas durante o desenvolvimentoF e
conse.uentemente prover melhorias nos seus processos.
Deve6se obter mStricas de teste espec1ficas
!ub6atividades:
Y @esumir estes
Y @egistrar Dados dos estes
Artefato ? M @esultado
%nspeo de COdigo -onte
Bormalmente associa6se inspeo a cOdigo fonteF
visando melhorar sua .ualidade
&tiliRada para verificar:
PadrTes de codificao
Estrutura dos algoritmos
Para padrTes de codificaoF diversas ferramentas
podem apoiar essa atividade:
Chec+stKleF PMDF -ind,ugsF DependencK -inderF
!XE
EAistem plugins para algumas dessas ferramentas
em diferentes %DEs
%nspeo de COdigo -onte
%nspeo de @e.uisitos
em sido o tipo de reviso de soft"are mais estudado
e utiliRado
%b&etivos

%dentificar erros espec1ficos em documentos e em


sistemas

%dentificar erros sistem'ticos no processo de


desenvolvimento

%dentificar desvios em relao Zs especificaTes e


padrTes
%nspeo de @e.uisitos
Benef'cios
Prov/ ganhos significativos em relao a praRos e
custos. ende a achar mais defeitos .ue .ual.uer
outro processoF e a um custo menor
Bo in1cioF era aplicado apenas a cOdigo fonte.
Atualmente so amplamente utiliRadas
U um mStodo eficaR para o controle da .ualidade e
aumento da produtividade
%nspeo de !oft"are
,enef1cios e Custo de %nspeTes:
Y %nspeTes v/m sendo utiliRadas h' mais de tr/s
dScadas;
Y EAiste evid/ncia eAperimental de sua usabilidade e
ade.uabilidade;
Y Prov/em um bom meio para o gerente do pro*eto
monitorar a .ualidade e progresso do pro*eto;
Y Apresentam baiAo custo devido ao fato do revisor
no precisar investir muito tempo ou mesmo no
demandar ferramentas sofisticadas para realiR'6las.
&ma alta taAa de atividades de inspeo ao longo do
processo pode representar de 78 a 9=8 do esforo
de desenvolvimento.
%nspeo de !oft"are
%nspeTes em re.uisitos e pro*etoF conduRidas no GP(
? Basa Get Propulsion (aboratorK <MillerF9LL=>;
%nspeo de !oft"are
Defeitos em @e.uisitos
Defeitos em @e.uisitos
Defeitos em @e.uisitos
Defeitos em @e.uisitos
Defeitos em @e.uisitos
Processo de inspeo de soft"are
%nspeo Ad6Joc
%nspeo com Chec+lists
(ista de )erificao de Inspeo de Re*+isitos
9>)s re.uisitos eAibem uma clara distino entre funTes e dadosV
4>)s re.uisitos definem todas as informaTes a serem eAibidas aos usu'riosV
E>)s re.uisitos definem as respostas ao sistema e ao usu'rio Zs condiTes de erroV
N>U cada re.uisito indicado claramenteF concisoF e no amb1guoV
7>U cada re.uisito test'velV
M>J' re.uisitos amb1guos ou inconsistentesV
3>J' conflitos de re.uisitosV
:>EAistem 'reas no identificadas na especificao de re.uisitos de soft"are .ue
necessitam serV
L>)s re.uisitos de desempenho <tais como o tempo de respostaF re.uisitos de
armaRenamento de dados> so indicadosV
9=>!e os re.uisitos envolverem compleAas cadeias de decisoF esto eApressos em
um formato .ue facilite sua compreenso <isto SF tabelas de decisoF 'rvores da
decisoF etc..>V
99>)s re.uisitos para eAecutar melhorias do soft"are foram especificadosV
94>J' re.uisitos .ue contSm um n1vel desnecess'rio de detalhe do pro*etoV
9E>As restriTes de tempo real foram especificadas em detalhe suficienteV
9N>A preciso e a eAatido dos c'lculos foram especificadasV
97>U poss1vel desenvolver um con*unto completo de testes baseados nas informaTes
contidas nas especificaTes de re.uisito do soft"areV !e noF .ue informao faltaV

As suposiTes e as depend/ncias foram indicadas claramenteV


9>) documento contSm toda a informao identificada no escopo para a especificao
de re.uisitos do soft"areV
ipos de Defeitos de %nspeo
@elato de Defeitos em %nspeo
de @e.uisitos
este &nit'rio

Possibilita o teste de mStodos de cada


classe

U uma tScnica caiAa6brancaF onde o


conhecimento da estrutura interna do sistema
deve ser conhecida

Becessita de um bom plane*amento de


testes

A utiliRao de ferramentas S fundamental

A utiliRao de testes automatiRados S


prS6re.uisito para a realiRao de testes de
regresso
%BRI,A-%"
%BRI,A-%"
,ase de Consulta:
!lides 6 Marco Ant[nio Pereira Ara\*oF D.!c

Potrebbero piacerti anche