Você está na página 1de 15

[Boas Prticas Engenharia de Software Easy]

Testes de Software
Elaborando Testes Funcionais em Ambientes geis

(14) 9171.9663 fabioluciomeira

fabio.lucio.meira@hotmail.com

Fbio !"cio #eira (fabioluciomeira@gmail.com www.open2up.blogspot.com)

Mestre em Cincia da Computao pela Uni ersidade !ederal de "o Carlos# professor uni ersit$rio %$ &' anos com nfase nas disciplinas de (anco de )ados e *ngen%aria de "oftware# atualmente atua pelo Centro Uni ersit$rio Uni em de Mar+lia e pela !aculdade de ,ecnologia de -ins !atec -ins. Consultor na $rea de *ngen%aria de "oftware# com nfase no .rocesso Unificado# em /n$lise e Modelagem de "istemas com UM- e em /n$lise de 0e1uisitos com Casos de Uso. [DIAGRAMAD R ! "u#e$t%o &e ilu$tra'%o ! [(e$te ! )erifica'%o ! )ali&a'%o ! Ma*ute*'%o ! +o*trole ! ,uali&a&e ! Guia$Do que trata o artigo .$te arti#o a/re$e*ta *o'0e$ #erai$ $obre ,uali&a&e &e "oft1are e (e$te$ &e "oft1are$ e o /roce$$o &e a/lica'%o &e (e$te &e "oft1are em /ro2eto$ &e /e3ue*o e m4&io /orte5 bem como5 em /ro2eto$ &e$e*6ol6i&o$ atra64$ &e Meto&olo#ia$ 7#ei$. Para que serve &e$e*6ol6ime*to &e $oft1are 4 ho2e uma ati6i&a&e cr8tica5 co*$i&era*&o a ubi3ui&a&e &o$ me$mo$ *o mu*&o co*tem/or9*eo. :roce$$o$ cr8tico$ &e/e*&em &e $oft1are como o co*trole &e e3ui/ame*to$ em uma u$i*a5 em um a6i%o ou em um ambie*te &e cirur#ia remota5 /or e;em/lo. Gara*tir 3ue o $oft1are ate*&a ao$ /a&r0e$ &e 3uali&a&e 4 /rimor&ial /ara o aceite e a/lica'%o &o me$mo. Em que situao o tema til A$ ati6i&a&e$ &e te$te &e $oft1are &e6em $er a/lica&a$ em to&a$ a$ ati6i&a&e$ &o /roce$$o &e &e$e*6ol6ime*to &e $oft1are5 bu$ca*&o ma*ter a 3uali&a&e &o /ro&uto #era&o atra64$ &e $ua 6erifica'%o e 6ali&a'%o. < im/orta*te e*te*&er 3ue5 a/e$ar &e au;iliar em5 o$ te$te$ &e $oft1are *%o #ara*tem a 3uali&a&e *o /roce$$o &e &e$e*6ol6ime*to. Resumo do DevMan

Neste artigo apresento alguns conceitos bsicos sobre teste de software e depois dou nfase no processo de aplicao de testes para equipes que atuam com nmero reduzidos de membros ou para equipes que atuam com metodologias geis. Para tal, so apresentados conceitos da disciplina de teste aplicada sobre o Processo Unificado Aberto, metodologia gil proposta pela Organizao Eclipse, mas que pode ser aplicada a outras metodologias geis como Scrum e XP. Apresento ao final do artigo um modelo especfico para a documentao de Casos de Testes e Scripts de Testes, que podem ser utilizados para a aplicao de testes de forma manual ou automatizada. Espero que esse artigo possa te auxiliar a definir suas aes para a aplicao de testes em seu processo de desenvolvimento. A/e$ar &e to&a$ a$ t4c*ica$ a/lica&a$ *o /roce$$o &e &e$e*6ol6ime*to &e $oft1are5 como A*=li$e &e >e#?cio$ e Re3ui$ito$5 .$/ecifica'%o &a Ar3uitetura5 :ara&i#ma$ &e rie*ta'%o a b2eto$5 Ger@*cia &e Re3ui$ito$ e Mu&a*'a$5 a .*#e*haria &e "oft1are *%o #ara*te 3ue erro$ *%o ocorram em 3ual3uer uma &e$$a$ ati6i&a&e$. A a/lica'%o &a Di$ci/li*a &e (e$te$ 6i$a miti#ar o maior *Amero /o$$86el &e erro$5 falha$5 &efeito$ ou e*#a*o$ e a$$im5 elimi*ar o$ ri$co$ 3ue /o&em amea'ar o $uce$$o &o /roce$$o &e &e$e*6ol6ime*to &e $oft1are. Segundo o Padro IEEE [IEEE1990] podemos definir os termos acima como: Defeito (fault) ! /a$$o5 /roce$$o ou &efi*i'%o &e &a&o$ i*correto5 como /or e;em/lo5 uma i*$tru'%o ou coma*&o i*corretoB .*#a*o (mistake) ! a'%o huma*a 3ue /ro&uC um re$ulta&o i*correto5 com /or e;em/lo5 uma a'%o i*correta toma&a /elo /ro#rama&orB .rro (error) ! &ifere*'a e*tre o 6alor obti&o e o 6alor e$/era&o5 ou $e2a5 3ual3uer e$ta&o i*terme&i=rio i*correto ou re$ulta&o i*e$/era&o *a e;ecu'%o &o /ro#rama co*$titui um erroB erro$ com/utacio*ai$ ! o erro /ro6oca uma com/uta'%o i*correta ma$ o cami*ho e;ecuta&o ($e3ue*cia$ &e coma*&o$) 4 i#ual ao cami*ho e$/era&oB erro$ &e &om8*io ! o cami*ho efeti6ame*te e;ecuta&o 4 &ifere*te &o cami*ho e$/era&o5 ou $e2a5 um cami*ho erra&o 4 $elecio*a&oB Dalha (failure) ! /ro&u'%o &e uma $a8&a i*correta com rela'%o E e$/ecifica'%o. >e$te te;to5 o$ termo$ e*#a*o5 &efeito e erro $er%o refere*cia&o$ como erro (cau$a) e o termo falha (co*$e3u@*cia) a um com/ortame*to i*correto &o /ro#rama. A/e$ar &e *%o $er /o$$86el5 atra64$ &e te$te$5 /ro6ar 3ue um /ro#rama e$t= correto5 o$ te$te$5 $e co*&uCi&o$ $i$tem=tica e criterio$ame*te5 co*tribuem /ara aume*tar a co*fia*'a &e 3ue o $oft1are &e$em/e*ha a$ fu*'0e$ e$/ecifica&a$ e e6i&e*ciar al#uma$ caracter8$tica$ m8*ima$ &o /o*to &e 6i$ta &a 3uali&a&e &o /ro&uto [FARF "AGHHG-. < im/orta*te &e$tacar 3ue5 me$mo em meto&olo#ia$ iterati6a$ &e &e$e*6ol6ime*to &e $oft1are5 a$ Di$ci/li*a$ &e Ar3uitetura e Im/leme*ta'%o /o$$uem total &e/e*&@*cia &o$ artefato$ #era&o$ *a &i$ci/li*a &e A*=li$e &e Re3ui$ito$. ,ual3uer erro i*ere*te E e$/ecifica'%o &e re3ui$ito$5 $e *%o &etecta&a5 ir= $e /ro/a#ar /elo$ artefato$ &a$ &i$ci/li*a$ /o$teriore$ e5 *e$$e ca$o5 tamb4m /ela Di$ci/li*a &e (e$te. I$$o /or3ue5 em #eral5 o$ ca$o$ &e te$te$ fu*cio*ai$ /o$$uem uma &e/e*&@*cia muito #ra*&e &a e$/ecifica'%o &e re3ui$ito$. $oft1are /o&e $er te$ta&o e;au$ti6ame*te. "e o$ re$ulta&o$ &o$ te$te$ corroboram o 3ue e$t= /o$to *a e$/ecifica'%o &o$ re3ui$ito$5 e*t%o o $oft1are $er= toma&o como correto. >e$$e /o*to 4 im/orta*te &e$tacar 3ue uma &a$ meta$ &a .*#e*haria &e "oft1are 4 oferecer a /o$$ibili&a&e &a$ e3ui/e$ &e &e$e*6ol6ime*to /ro&uCirem $oft1are com I3uali&a&eJ. "e#u*&o a &efi*i'%o &e [IFMGHHK-5 /ro&uCir $oft1are com 3uali&a&e e*6ol6e a e3ui/e &e a*ali$ta$ com/ree*&er corretame*te o$ re3ui$ito$5 bem como5 co*$e#uir i&e*tificaLlo$ em $ua com/letu&e. "e#u*&o [RM:GHH7- *o decorrer do ciclo de vida do produto, para gerenciar qualidade, so

realizadas medidas e avaliaes do processo e da qualidade do produto. A avaliao da qualidade pode ser feita quando ocorre um evento mais significativo, como o final de uma fase ou iterao, ou pode ocorrer quando um produto de trabalho criado, como um ensaio de cdigo. Os principais objetivos da Disciplina de Teste so: NocaliCar e &ocume*tar &efeito$ *a 3uali&a&e &o $oft1areB ferecer Ifee&bacOJ e $u#e$t0e$ $obre a 3uali&a&e &o $oft1areB )ali&ar e /ro6ar a$ $u/o$i'0e$ feita$ *a$ e$/ecifica'0e$ &e /ro2eto e re3ui$ito$ atra64$ &e &emo*$tra'%o co*creta.B )ali&ar $e o $oft1are $e com/orta co*forme o /ro2etoB )ali&ar $e o$ re3ui$ito$ $%o im/leme*ta&o$ a&e3ua&ame*te. Segundo [RUP2007], h uma diferena interessante entre a disciplina Teste e as demais disciplinas no processo de desenvolvimento de software. Em essncia, a disciplina Teste possui as tarefas de localizar e expor fraquezas no software e para obter o maior benefcio, necessrio uma filosofia geral diferente da que utilizada nas disciplinas Requisitos, Arquitetura e Implementao. A principal diferena a de que estas trs disciplinas so orientadas para a compleo, sendo que a disciplina Teste orientada para a incompleo.

Ti$os de Teste
Di6er$o$ $%o o$ ti/o$ &e te$te$ 3ue /o&em $er a/lica&o$ &ura*te o /roce$$o &e &e$e*6ol6ime*to &e $oft1are. .m #eral5 a e3ui/e e$colhe o 3ue melhor $e a&a/ta ao /roce$$o &e &e$e*6ol6ime*to a/lica&o. (e$te &e Du*'%o ! (amb4m co*heci&o como (e$te Du*cio*al. (e$te &e Du*'%o 4 co*heci&o como (e$te +ai;a :reta5 /oi$ 4 e;ecuta&o ba$ea*&oL$e a/e*a$ *a$ $ua$ fu*cio*ali&a&e$5 $em $e /reocu/ar *a forma como a$ me$ma$ foram im/leme*ta&a$. (e$te &e Du*'%o trata ba$icame*te o$ &a&o$ &e e*tra&a e o$ re$ulta&o$ #era&o$ /ela fu*cio*ali&a&e. (e$te &e "e#ura*'a ! $ (e$te$ &e "e#ura*'a bu$cam #ara*tir 3ue o$ &a&o$ ma*i/ula&o$ /ela fu*cio*ali&a&e e$te2am ace$$86ei$ a/e*a$ a 3uem 4 &e &ireito. (e$te &e )olume ! $ (e$te$ &e )olume bu$cam 6erificar a ca/aci&a&e &a fu*cio*ali&a&e te$ta&a em ma*i/ular 3ua*ti&a&e$ ma$$i6a$ &e &a&o$5 $e2a em co*e;0e$ &e re&e ou em ace$$o$ a $i$tema$ #ere*cia&ore$ &e ba*co &e &a&o$5 al4m &e5 te$te$ &e /roce$$ame*to ma$$i6o &e i*forma'0e$ em mem?ria. (e$te &e M$abili&a&e ! $ (e$te$ &e M$abili&a&e $e /reocu/am com 3ue$t0e$ como er#o*omia5 facili&a&e &e u$o5 /a&r0e$ &e i*terface5 e$t4tica5 &ocume*to$ &e trei*ame*to5 ma*uai$ &o u$u=rio5 etc. (e$te &e I*te#ri&a&e ! $ (e$te$ &e I*te#ri&a&e $e /reocu/am em &emo*$trar a robu$teC &a fu*cio*ali&a&e em foco5 $ua ca/aci&a&e &e /roce$$ame*to ma$$i6o. (e$te &e .$trutura ! "%o o$ te$te$ com foco *a a6alia'%o &a a&e3ua'%o &o ob2eti6o &o te$te em rela'%o ao &e$i#* e forma'%o. Geralme*te5 e$$e te$te 4 feito /ara a/licati6o$ ati6a&o$ *a Peb5 a$$e#ura*&o 3ue to&o$ o$ Ili*O$J e$t%o co*ecta&o$5 o co*teA&o a/ro/ria&o 4 e;ibi&o e *e*hum co*teA&o 4 ?rf%o. (e$te &e .$tre$$e ! Mm ti/o &e te$te &e co*fiabili&a&e 3ue e*fatiCa a a6alia'%o &e como o $i$tema re$/o*&e em co*&i'0e$ *ormai$. e$tre$$e *o $i$tema /o&e i*cluir car#a$ &e trabalho e;trema$5 mem?ria i*$uficie*te5 $er6i'o$ e har&1are i*&i$/o*86ei$ ou recur$o$ com/artilha&o$ limita&o$. >ormalme*te5 e$$e$ te$te$ $%o e;ecuta&o$ /ara com/ree*&er

melhor como e em 3uai$ =rea$ o $i$tema $er= &i6i&i&o5 /ara 3ue o$ /la*o$ &e co*ti*#@*cia e a ma*ute*'%o &e atualiCa'%o /o$$am $er /la*e2a&o$ e or'a&o$ com ba$ta*te a*tece&@*cia. (e$te &e +ar#a ! (e$te &e +ar#a 4 um ti/o &e te$te &e &e$em/e*ho utiliCa&o /ara 6ali&ar e a6aliar a aceita'%o &o$ limite$ o/eracio*ai$ &e um $i$tema em car#a$ &e trabalho 6aria&a$ e*3ua*to o $i$tema em te$te /erma*ece co*$ta*te. (e$te &e +o*fi#ura'%o ! te$te$ com foco em #ara*tir 3ue o ob2eti6o &o te$te fu*cio*e co*forme /rete*&i&o em &ifere*te$ co*fi#ura'0e$ &e har&1are e $oft1are. .$$e te$te tamb4m /o&e $er im/leme*ta&o como um te$te &e &e$em/e*ho &o $i$tema. (e$te &e I*$tala'%o ! (e$te$ &e I*$tala'%o /o$$uem foco em #ara*tir 3ue a fu*cio*ali&a&e em te$te $e2a i*$tala&a como /rete*&i&o em &ifere*te$ co*fi#ura'0e$ &e har&1are e $oft1are e em &ifere*te$ co*&i'0e$ (como e$/a'o i*$uficie*te em &i$co e i*terru/'0e$ &e e*er#ia).

%erificando a &ualidade do Produto A'aliado


>o &ecorrer &o ciclo &e 6i&a &o /ro&uto5 /ara #ere*ciar 3uali&a&e5 $%o realiCa&a$ me&i&a$ e a6alia'0e$ &o /roce$$o e &a 3uali&a&e &o /ro&uto. A a6alia'%o &a 3uali&a&e /o&e ocorrer 3ua*&o ocorre um e6e*to mai$ $i#*ificati6o5 como o fi*al &e uma fa$e5 ou /o&e ocorrer 3ua*&o um /ro&uto &e trabalho 4 cria&o5 como um e*$aio &e c?&i#o. "e#u*&o [RM:GHH6-5 ca&a fa$e e itera'%o *a$ meto&olo#ia$ 3ue a&otam o /roce$$o iterati6o5 re$ulta *a libera'%o (i*ter*a ou e;ter*a) &e um /ro&uto e;ecut=6el ou um $ubco*2u*to &o /ro&uto fi*al $ob &e$e*6ol6ime*to5 *o 3ual $%o feita$ a6alia'0e$ &e tem/o com o$ $e#ui*te$ /ro/?$ito$Q Demo*$trar a realiCa'%o &o$ re3ui$ito$ (e crit4rio$)B "i*cro*iCar e;/ectati6a$B "i*cro*iCar /ro&uto$ &e trabalho relacio*a&o$ a um *86el ba$eB I&e*tificar o$ ri$co$. Segundo [IEEE1990], podemos classificar as avaliaes de trs formas distintas: Re6i$%o ! Mma reu*i%o formal em 3ue um /ro&uto &e trabalho5 ou co*2u*to &e /ro&uto$ &e trabalho5 4 a/re$e*ta&o ao u$u=rio5 clie*te ou outra /arte i*tere$$a&a /ara come*t=rio$ e a/ro6a'%o. I*$/e'%o ! Mma t4c*ica &e a6alia'%o formal *a 3ual o$ /ro&uto$ &e trabalho $%o e;ami*a&o$ em &etalhe$ /or uma /e$$oa ou um #ru/o &ifere*te &o autor /ara &etectar erro$5 6iola'0e$ &o$ /a&r0e$ &e &e$e*6ol6ime*to e outro$ /roblema$. .*$aio ! Mm /roce$$o &e re6i$%o *o 3ual um &e$e*6ol6e&or co*&uC um ou mai$ membro$ &a e3ui/e &e &e$e*6ol6ime*to atra64$ &e um $e#me*to &e /ro&uto &e trabalho 3ue ele #ra6ou e*3ua*to o$ outro$ membro$ faCem /er#u*ta$ e come*t=rio$ $obre a t4c*ica5 e$tilo5 /o$$86ei$ erro$5 6iola'0e$ *o$ /a&r0e$ &e &e$e*6ol6ime*to ou outro$ /roblema$. /roce$$o &e a6alia'%o5 ta*to &o /ro&uto 3ua*to &o /roce$$o &e &e$e*6ol6ime*to &e $oft1are &ema*&a a coleta co*t8*ua &e &a&o$ &e /ro&uti6i&a&e e re$ulta&o$ &e 6erifica'%o e 6ali&a'%o &ura*te to&a$ a$ eta/a$ &e &e$e*6ol6ime*to. A /artir &e$$e$ 6alore$ 4 /o$$86el &efi*ir m4trica$ &e &e$e*6ol6ime*to &a e3ui/e. A$ m4trica$ $%o im/orta*te$ /ara 3ue o #ere*te &e /ro2eto$5 bem como5 a /r?/ria e3ui/e &e &e$e*6ol6ime*to5 /o$$am obter o co*trole $obre o /ro2eto5 $e*&o a$$im5 ca/aCe$ &e #ere*ci=Llo. A$ m4trica$ $%o utiliCa&a$ /ara alca*'ar &ua$ meta$5 co*hecime*to e altera'%o (ou realiCa'%o)Q Meta$ &e co*hecime*toQ $%o e;/re$$a$ /elo u$o &e 6erbo$5 como a6aliar5 /re6er5 mo*itorar. )oc@ &e$e2a com/ree*&er melhor o /roce$$o &e &e$e*6ol6ime*to. :or e;em/lo5 tal6eC 6oc@ &e$e2a a6aliar a 3uali&a&e &o /ro&uto5 obter &a&o$ /ara /re6er o e$for'o &e te$te5 mo*itorar a

cobertura &e te$te ou ra$trear altera'0e$ &e re3ui$ito$. Meta$ &e altera'%o ou realiCa'%oQ $%o e;/re$$a$ /elo u$o &e 6erbo$5 como aume*tar5 re&uCir5 a/rimorar ou realiCar. Geralme*te 6oc@ tem i*tere$$e em 6er como a$ coi$a$ $%o altera&a$ ou a/rimora&a$ ao lo*#o &o tem/o5 &e uma itera'%o /ara outra5 &e um /ro2eto /ara outro. A$ m4trica$ /ara amba$ a$ meta$ $%o utiliCa&a$ /ara me&ir a ,uali&a&e &o :roce$$o e &o :ro&uto. $ crit4rio$ &e aceita'%o &e falha$ em um /ro#rama /o&em $er &etermi*a&o$ &e &ifere*te$ forma$5 u$a*&o 6ari=6ei$ &i$ti*ta$5 como /or e;em/loQ [RM:GHH6 +o*ta#e*$ e R ou te*&@*cia$ &e &efeito$ ! +omo o *Amero &e &efeito$ i&e*tifica&o$5 corri#i&o$ ou 3ue /erma*ecem aberto$ (*%o corri#i&o$)B +obertura &e te$te ! como a /orce*ta#em &e c?&i#o5 ou o$ ca$o$ &e u$o /la*e2a&o$ ou im/leme*ta&o$ e e;ecuta&o$ (/or um te$te). A cobertura &e te$te 4 #eralme*te utiliCa&a em co*2u*to com o$ crit4rio$ &e &efeito$ i&e*tifica&o$ acima)B De$em/e*ho ! +omo o tem/o *ece$$=rio /ara 3ue ocorra uma a'%o e$/ecifica&a (ca$o &e u$o5 o/era'%o ou outro e6e*to). .$te$ 4 o crit4rio *ormalme*te utiliCa&o /ara te$te$ &e De$em/e*ho5 te$te$ &e Dalha e Recu/era'%o (ca/aci&a&e &e toler9*cia a falha$) ou outro$ te$te$ em 3ue a criticali&a&e &e tem/o 4 e$$e*cialB +o*formi&a&e ! .$te crit4rio i*&ica o #rau &e co*formi&a&e &e ca&a /ro&uto &e trabalho5 ati6i&a&e5 tarefa ou eta/a com um /a&r%o ou uma &iretriC co*cor&a&aB Aceitabili&a&e ou $ati$fa'%o ! .$te crit4rio 4 #eralme*te utiliCa&o com me&i&a$ $ub2eti6a$5 /or e;em/lo5 utili&a&e e harmo*ia. A &efi*i'%o &o$ re3ui$ito$ &e mo&o claro e co*ci$o5 bem como5 a &efi*i'%o &o$ crit4rio$ a&e3ua&o$ $%o fatore$ /rimor&iai$ /ara a e3ui/e &e &e$e*6ol6ime*to e o Gere*te &e :ro2eto$ &efi*irem a me&i&a &a 3uali&a&e &o /ro&uto em &e$e*6ol6ime*to. A me&i&a &a 3uali&a&e &e um /ro&uto &e trabalho e;ecut=6el 4 realiCa&a utiliCa*&o uma ou mai$ t4c*ica$ &e me&i&a$5 comoQ re6i$0e$ R $a8&a$B i*$/e'%oB e;ecu'%o. A medida de Qualidade do Processo realizada, coletando as medidas de conhecimento e de realizao. As medidas podem ser geradas em relao ao: #rau &e a&er@*cia ao$ /a&r0e$5 &iretriCe$ e im/leme*ta'%o &e um /roce$$o aceitoB "tatu$ R e$ta&o &a im/leme*ta'%o &o /roce$$o atual /ara im/leme*ta'%o /la*e2a&aB A 3uali&a&e &o$ /ro&uto$ &e trabalho cria&o$ (utiliCa*&o a$ me&i&a$ &e 3uali&a&e &o /ro&uto &e$crita$ acima). A me&i&a &a 3uali&a&e &o /roce$$o 4 realiCa&a utiliCa*&o uma ou mai$ t4c*ica$ &e me&i&a$5 :ro#re$$o ! /or e;em/lo5 ca$o$ &e u$o &emo*$tra&o$ ou marco$ co*clu8&o$B )aria'%o ! &ifere*'a$ e*tre /la*e2ame*to$ reai$ e /ro#rama&o$5 or'ame*to$5 re3ui$ito$ &e forma'%o &e e3ui/e5 etcB Me&i&a$ e m4trica$ &e 3uali&a&e &o /ro&uto.

comoQ

A$licando Testes em E(ui$es de Pe(ueno Porte ou )om #*todos

geis

A Di$ci/li*a &e (e$te$ 4 uma &i$ci/li*a 3ue5 i*&e/e*&e*te &o :roce$$o ou Guia &e Ger@*cia &e :ro2eto$ utiliCa&a5 $em/re 4 (ou ao me*o$ &e6eria $er) a/lica&a ao :roce$$o &e De$e*6ol6ime*to &e "oft1are. A Di$ci/li*a &e (e$te mo$tra como a e3ui/e &e &e$e*6ol6ime*to /o&e obter re$/o$ta$ $obre o

ama&urecime*to &o $i$tema5 atra64$ &o /roce$$o &e /ro2eto5 im/leme*ta'%o5 e;ecu'%o e a6alia'%o &e te$te$ &e $oft1are. $ /ri*ci/ai$ ob2eti6o$ &e$$a &i$ci/li*a $%oQ :ro6er fee&bacO /rematuro e fre3ue*te a6alia*&o $e o $i$tema em &e$e*6ol6ime*to ate*&e a$ e$/ecifica'0e$ &a a*=li$e &e re3ui$ito$B Me&ir o /ro#re$$o &o &e$e*6ol6ime*to em i*creme*to$B I&e*tificar o$ ob2eti6o$ &a $olu'%o5 i*creme*ta*&o a /robabili&a&e &e 3ue o $i$tema $e com/ortar= corretame*te5 &e acor&o com a e$/ecifica'%o &e re3ui$ito$B Gara*tir 3ue a$ mu&a*'a$ $olicita&a$ *%o i*$iram *o6o$ erro$ *o $i$tema. A Di$ci/li*a &e (e$te$ 4 iterati6a e i*creme*tal e a/lica a e$trat4#ia &e Ite$tar /rematurame*te e te$tar fre3ue*teme*teJ /ara elimi*ar o$ ri$co$ o mai$ ce&o /o$$86el *o ciclo &e 6i&a &o /ro2eto. $ te$te$ ocorrem a ca&a itera'%o &o ciclo &e 6i&a &e /ro2eto5 i*icia*&o o mai$ ce&o /o$$86el5 ai*&a *a fa$e &e e$/ecifica'%o &e re3ui$ito$. A realiCa'%o &e te$te$ re$/o*&e E /er#u*taQ I 3ue a $olu'%o &e6e realiCar /ara co*$i&erarmo$ 3ue um re3ui$ito foi im/leme*ta&oSJ5 co*$i&era*&o 3ue o$ ca$o$ &e te$te5 em #eral5 &e6em ate*&er E$ /er#u*ta$ #era&a$ &ura*te E e$/ecifica'%o &o$ re3ui$ito$ (fu*cio*ai$ ou *%o fu*cio*ai$). NotaQ Mma Di$ci/li*a a#ru/a um co*2u*to &e ati6i&a&e$ e tarefa$ i*ere*te$ e comu*$ E me$ma. .m #eral5 /ara o$ /roce$$o$ =#ei$5 /o&emo$ a/licar a$ &i$ci/li*a$ &e Re3ui$ito$5 Ar3uitetura5 Im/leme*ta'%o5 (e$te$ e Ger@*cia &e :ro2eto$ (a *%o $er em "crum) [M.IRAGH1H-. A Di$ci/li*a de Testes est intrinsecamente ligada s seguintes disciplinas [RUP2007] [OPENUP2009]: Di$ci/li*a &e Re3ui$ito$ ! $ ca$o$ &e te$te 3ue $er%o realiCa&o$ /o&em $er &efi*i&o$ 2= &ura*te o /roce$$o &e .$/ecifica'%o &e Re3ui$ito$5 oferece*&o a /o$$ibili&a&e &e 6erifica'%o &e 3ua*to o $i$tema ate*&er= ao$ re3ui$ito$ e$/ecifica&o$B Di$ci/li*a &e Ar3uitetura ! .$$a &i$ci/li*a reA*e a$ ati6i&a&e$ relati6a$ ao /roce$$o &e &efi*i'%o &a e$trutura e com/ortame*to &o $i$tema como um to&o. A$$im como a &i$ci/li*a &e re3ui$ito$5 oferece $ub$8&io /ara a &efi*i'%o &o$ ca$o$ &e te$te$ 3ue $er%o realiCa&o$B Di$ci/li*a &e Im/leme*ta'%o ! .$$a &i$ci/li*a cria o$ Ibuil&$J i*creme*tai$ 3ue $er%o a6alia&o$ e 6ali&a&o$ /ela Di$ci/li*a &e (e$te. A ca&a itera'%o5 a &i$ci/li*a &e te$te for*ece re$ulta&o$ ob2eti6o$ /ara 3ue a e3ui/e &e &e$e*6ol6ime*to a6alie $ua$ a'0e$. $ re$ulta&o$ efeti6o$ &a Di$ci/li*a &e (e$te /ermite ai*&a5 3ue a e3ui/e &e &e$e*6ol6ime*to refi*e a ar3uitetura &o $i$tema5 bem como5 im/leme*te *o6a$ fu*cio*ali&a&e$B Di$ci/li*a &e Ger@*cia &e :ro2eto$ ! A Di$ci/li*a &e Ger@*cia &e :ro2eto$ /la*e2a o /roce$$o &e &e$e*6ol6ime*to como um to&o5 bem como5 o e$co/o &a$ a'0e$ &e ca&a itera'%o. A Di$ci/li*a &e (e$te oferece uma me&i&a ob2eti6a &o /ro#re$$o &a e3ui/e em rela'%o ao /ro2eto5 a 3ual /ermite uma melhor a&e3ua'%o &a$ a'0e$ &e &e$e*6ol6ime*to &a me$ma. e*6ol6ime*to &a Di$ci/li*a &e (e$te$ com a Di$ci/li*a &e Ger@*cia &e :ro2eto$ i*&e/e*&e &e 3ual #uia &e Ger@*cia &e :ro2eto$ e$t= $e*&o utiliCa&a5 como "crum /or e;em/lo5 o*&e a e3ui/e realiCa autoL#er@*cia5 *%o e;i$ti*&o o /a/el &e Gere*te &e :ro2eto$. O desenvolvimento gil prega a customizao das atividades inerentes ao processo de desenvolvimento de software de forma que as mesmas sejam desburocratizadas e elementares, porm, sem perder suas essncias. A proposta aqui que para equipes de pequeno porte ou equipes de desenvolvimento que

utilizem metodologias geis, a Disciplina de Teste se divida em trs tarefas: Criao de Casos de Teste, Implementao de Teste e Execuo de Teste. +ria*&o +a$o$ &e (e$te$ L ob2eti6o &e$$a tarefa 4 3ue a e3ui/e &e te$ta&ore$ or#a*iCem5 em co*2u*to com o$ &emai$ membro$ &a e3ui/e &e &e$e*6ol6ime*to5 o$ te$te$ 3ue &e6er%o $er realiCa&o$ /ara o$ re3ui$ito$ e$/ecifica&o$. $ /a$$o$ /ara a realiCa'%o &e$$a tarefa $%oQ Re6i$a*&o o$ re3ui$ito$ 3ue $er%o te$ta&o$ ! .m co*2u*to com o$ a*ali$ta$5 o$ te$ta&ore$ &efi*em o$ re3ui$ito$ e ce*=rio$ 3ue $er6ir%o &e $u/orte /ara o$ ca$o$ &e te$teB I&e*tifica*&o o$ ca$o$ &e te$te rele6a*te$ ! te$ta&or &e6e &efi*ir *a e$/ecifica'%o &e re3ui$ito$ o ce*=rio b=$ico e /o$$86ei$ ce*=rio$ alter*ati6o$ /ara elaborar o$ re$/ecti6o$ ca$o$ &e te$te. "e /o$$86el5 o te$ta&or &e6er= &i$cutir com o$ $taOehol&er$ outra$ /o$$86ei$ $itua'0e$ 3ue /o&em ocorrer *o ambie*te &e *e#?cio e 3ue /o&em le6ar o $i$tema a falharB .$bo'ar o$ ca$o$ &e te$te ! +a&a ca$o &e te$te &e6e $er bre6eme*te &e$crito5 bem como5 o$ re$ulta&o$ e$/era&o$ &a e;ecu'%o &e$$e ca$o &e te$teB I&e*tifica'%o &o$ &a&o$ *ece$$=rio$ ! $ te$ta&ore$ &e6em i&e*tificar o$ &a&o$ *ece$$=rio$ /ara a e;ecu'%o &o$ te$te$5 bem como5 $eu$ &om8*io$B +om/artilhar e a6aliar o$ ca$o$ &e te$te ! $ te$ta&ore$ &e6er%o &i6ul#ar o$ ca$o$ &e te$te /ara o$ ar3uiteto$ e &e$e*6ol6e&ore$5 bem como5 tamb4m /ara o$ $taOehol&er$ /ara co*hecime*to &e to&o$ e /o$$86ei$ $u#e$t0e$ &o$ &emai$ membro$ &a e3ui/e. < im/orta*te tamb4m 3ue a e3ui/e #ara*ta 3ue to&o$ ca&a re3ui$ito e$te2a a$$ocia&o a *o m8*imo um ca$o &e te$te. Im/leme*ta*&o o$ (e$te$ ! ob2eti6o &e$$a tarefa 4 6ali&ar um IFuil&J &a $olu'%o em &e$e*6ol6ime*to. A e3ui/e &e te$te$ &e6e $e /reocu/ar em or#a*iCar o$ I"cri/t$J &e (e$te$5 e5 colaborati6ame*te5 a$$e#urar 3ue o$ te$te$ $er%o e;ecuta&o$ em to&a $ua com/letu&e. $ /a$$o$ /ara a realiCa'%o &e$$a tarefa $%oQ "elecio*ar o$ ca$o$ &e te$te /ara im/leme*tar ! 4 fu*'%o &o te$ta&or $elecio*ar o co*2u*to &e ca$o$ &e te$te 3ue $er%o e;ecuta&o$ atra64$ &e "cri/t$ &e te$te. A ca&a itera'%o5 ao me*o$ o$ te$te$ 3ue e*6ol6em o$ re3ui$ito$ em &e$e*6ol6ime*to *a3uele mome*to &e6em ter $eu$ I"cri/t$J #era&o$B :ro2eta*&o o T"cri/tT &e te$te ! te$ta&or &e6er= elaborar o T"cri/tT &e te$te5 &efi*i*&o a$ a'0e$ /a$$o a /a$$o /ara a e;ecu'%o &o me$mo. te$ta&or tamb4m &e6er= &efi*ir a$ t4c*ica$ &e te$te 3ue $er%o a/lica&a$5 bem como5 /o$$86ei$ ferrame*ta$ &e automa'%o &e te$teB .$/ecifica'%o &o$ &a&o$ &o te$te ! te$ta&or &e6er= #erar o$ T"cri/t$T &e te$te /ara o$ I&ata$etJ *ece$$=rio$ /ara a e;ecu'%o &o$ te$te$B )erificar a im/leme*ta'%o &o$ T"cri/t$T &e te$te ! $ te$ta&ore$ &e6er%o 6erificar a*teci/a&ame*te a 6ali&a&e &o$ T"cri/t$T #era&o$5 /ara #ara*tir 3ue o$ me$mo$ /ro&uCir%o o$ re$ulta&o$ a&e3ua&o$. $ te$ta&ore$ tamb4m &e6em ma*ter o$ T"cri/t$T atualiCa&o$ co*forme $%o #era&a$ $olicita'0e$ &e mu&a*'a$ *o $i$tema. .;ecuta*&o o$ (e$te$ L ob2eti6o &e$ta tarefa 4 e;ecutar o$ te$te$5 6erificar o$ re$ulta&o$ obti&o$5 articular /o$$86ei$ altera'0e$ *ece$$=ria$ e comu*icar ao$ &emai$ membro$ &a e3ui/e o$ re$ulta&o$ obti&o$. Re6i$ar a$ ati6i&a&e$ e;ecuta&a$ *a cria'%o &o IFuil&J ! $ te$ta&ore$ &e6em 6erificar $e a ar3uitetura /ro/o$ta /ara o buil& &a itera'%o atual foi ma*ti&a. (amb4m &e6em $er

re6i$to$ artefato$ 3ue foram altera&o$ &e6i&o a /e&i&o$ &e mu&a*'aB .;ecutar o$ T"cri/t$T &e te$te$5 $e2am ele$ ma*uai$ ou automatiCa&o$ ! $ te$te$ automatiCa&o$ #eram o$ re$ulta&o$ em ar3ui6o$ &e lo# &e te$te automaticame*te. U= *o$ te$te$ ma*uai$5 o$ te$ta&ore$ &e6em e;ecutar o $i$tema /a$$o a /a$$o e re#i$trar o$ re$ulta&o$ obti&o$ *o ar3ui6o &e lo#B A*ali$ar e comu*icar o$ re$ulta&o$ obti&o$ ! ambie*te$ como IPiOiJ $%o /erfeito$ /ara a &i6ul#a'%o e /o$terior &i$cu$$%o /or /arte &e to&o$ o$ membro$ &a e3ui/e &e &e$e*6ol6ime*to. Dee&bacO $obre a /o$$86el a/ro6a'%o ou *ece$$i&a&e &e ma*ute*'%o em um artefato &e6e $er ofereci&o ime&iatame*te /ara a e3ui/e &e &e$e*6ol6ime*to. NotaQ Mm IFuil&J 4 o /ro&uto &e trabalho re$ulta*te &e uma itera'%o5 $e*&o um artefato corre$/o*&e*te a um com/o*e*te ou um e;ecut=6el 3ual3uer5 /ro*to /ara $er &i$/o*ibiliCa&o /ara o$ te$te$ &e i*te#ra'%o e re$/ecti6ame*te5 im/la*ta'%o /ara te$te$ Feta com o clie*te.

Es$ecificando e Elaborando os Testes


"e#u*&o [RM:GHH7-5 um +a$o &e (e$te e$/ecifica e comu*ica a$ co*&i'0e$ *ece$$=ria$ 3ue &e6em $er 6ali&a&a$ /ara /ermitir a a6alia'%o &o$ a$/ecto$ &o$ te$te$. A &ifere*'a e*tre um ca$o &e te$te e uma i&4ia &e te$te 4 3ue o ca$o &e te$te 4 uma e$/ecifica'%o forma&a5 com/leta5 &o te$te. $ +a$o$ &e (e$te /o&em $er moti6a&o$ /or 6=rio$ fatore$5 ma$ *ormalme*te i*cluir%o um $ubco*2u*to &o$ Re3ui$ito$5 como +a$o$ &e M$o5 caracter8$tica$ &e &e$em/e*ho e o$ ri$co$ relacio*a&o$ ao /ro2eto. +omo uma re#ra #eral5 a$ e$/ecifica'0e$ &e ca$o &e te$te $%o mai$ Atei$ o*&e a /r?/ria im/leme*ta'%o &e te$te $er= muito com/le;a /ara $er com/ree*&i&a $oCi*ha5 $em o $u/orte &e uma e;/lica'%o mai$ ab$trata for*eci&a /elo ca$o &e te$te. Template 1 Template de Caso de Teste5 a/re$e*ta um mo&elo b=$ico /ara a e$crita &e ca$o &e te$te. 1.Descrio do Caso de Teste Mma &e$cri'%o &a fi*ali&a&e ou &o ob2eti6o &o te$te5 &o e$co/o e &e 3uai$3uer /r4Lco*&i'0e$ &o te$te. 2.Condio de Execuo Mma &e$cri'%o &e uma co*&i'%o 3ue $er= e;/erime*ta&a &ura*te e$te te$te. 2.1.Pr !condi"es :ara ca&a co*&i'%o &e e;ecu'%o5 &e$cre6a o e$ta&o *ece$$=rio em 3ue o $i$tema &e6e e$tar a*te$ &o i*8cio &o te$te. 2.2.Entradas de Teste :ara ca&a co*&i'%o &e e;ecu'%o5 e*umere uma li$ta &o$ e$t8mulo$ e$/ec8fico$ a $erem a/lica&o$ &ura*te o te$te. .m #eral5 ele$ $%o chama&o$ &e T.*tra&a$T *o te$te e i*cluem o$ ob2eto$ ou cam/o$ &e i*tera'%o e o$ 6alore$ &e &a&o$ e$/ec8fico$ &i#ita&o$ ao e;ecutar e$$e +a$o &e (e$te. 2.#.Pontos de $%servao Dura*te a e;ecu'%o &o te$te5 e*umere 3uai$ ob$er6a'0e$ e$/ec8fica$ &e6em $er feita$. 2.&.Pontos de Controle Dura*te a e;ecu'%o &o te$te5 i&e*tifi3ue 3uai$3uer /o*to$ em 3ue o flu;o &e co*trole /o&e alterar ou 6ariar. 2.'.Resultados Esperados e$ta&o re$ulta*te ou a$ co*&i'0e$ ob$er6=6ei$ 3ue $%o e$/era&a$ como um re$ulta&o &a e;ecu'%o &o te$te. b$er6e 3ue i$$o /o&e abra*#er re$/o$ta$ /o$iti6a$ e *e#ati6a$ (como co*&i'0e$ &e erro e &efeito$).

2.(.P)s!condi"es :ara ca&a co*&i'%o &e e;ecu'%o5 &e$cre6a o e$ta&o *ece$$=rio /ara o 3ual o $i$tema &e6e $er retor*a&o5 /ermiti*&o 3ue te$te$ $ub$e3ue*te$ $e2am e;ecuta&o$. Tem$late + ,emplate de Caso de ,este .m &etermi*a&o$ &om8*io$ e cultura$ &e te$te5 o$ +a$o$ &e (e$te $%o co*$i&era&o$ /ro&uto$ &e trabalho o/cio*ai$5 e*3ua*to em outro$5 ele$ $%o altame*te formaliCa&o$ e obri#at?rio$. A$$im $e*&o5 o co*teA&o e o formato &o$ +a$o$ &e (e$te /o&em *ece$$itar &e mo&ifica'%o /ara ate*&er E$ *ece$$i&a&e$ &e ca&a or#a*iCa'%o ou /ro2eto e$/ec8fico. utro eleme*to im/orta*te 3ue &e6e $er &e6i&ame*te co*$i&era&o *o /roce$$o &e &e$e*6ol6ime*to &e te$te 4 o co*2u*to &e Da&o$ &e (e$te. ,ua*&o #ere*cia&o$ $e/ara&ame*te &o$ a$/ecto$ &e /roce&ime*to &o te$te5 o$ Da&o$ &e (e$te /ermitem a mo&ifica'%o &a$ caracter8$tica$ e;clu$i6a$ &o te$te &e mo&o i*&e/e*&e*te. Template 2 ! (em/late &e Defi*i'%o &e Da&o$ &e (e$te5 a/re$e*ta o$ eleme*to$ *ece$$=rio$ /ara a &efi*i'%o e e$/ecifica'%o &o$ &a&o$ 3ue $er%o utiliCa&o$ *o$ te$te$5 bem como5 o$ &om8*io$ &e$$e$ &a&o$. 1.*reve Descrio da +uncionalidade Mma &e$cri'%o r=/i&a &e *o m=;imo 3uatro ou ci*co li*ha$ &a fu*cio*ali&a&e *a 3ual o$ &a&o$ e$t%o i*$eri&o$. De$$a forma5 4 /o$$86el com/ree*&er o co*te;to &o u$o &o$ &a&o$ em rela'%o E fu*cio*ali&a&e. 2.Elementos de Execuo 2.1.Dados ,tili-ados 2.1.1.Nome do Dado G.1.1.1.(i/o &o Da&o G.1.1.G.Dro*teira$ &o Da&o (Dro*teira$ $u/erior e i*ferior) ou .$co/o G.1.1.3.Re$tri'0e$ 2.1.2.Nome do Dado G.1.G.1.(i/o &o Da&o G.1.G.G.Dro*teira$ &o Da&o (Dro*teira$ $u/erior e i*ferior) ou .$co/o G.1.G.3.Re$tri'0e$ V 2.2.Pr Condi"es de ,so dos Dados em Teste A$ /r4Lco*&i'0e$ *ece$$=ria$ &a +o*fi#ura'%o &o Ambie*te &e (e$te 3ue &e6em e;i$tir ime&iatame*te a*te$ &o u$o &o$ Da&o$ &e (e$te. 2.#.Depend.ncias Entre os Dados A$ &e/e*&@*cia$ e;i$te*te$ /ela &eri6a'%o &e 6alore$ e*tre o$ Da&o$ &e (e$te. 2.&.Condi"es de Teste Fre6e &e$cri'%o &o ambie*te *o 3ual $er%o e;ecuta&o$ o$ te$te$ com o$ Da&o$ &e$e2a&o$5 *ormalme*te &efi*i*&o o ti/o &e falha 3ue ocorrer= ca$o a co*&i'%o te$ta&a $e2a co*$i&era&a fal$a. Tem$late , ,emplate de )efinio de )ados de ,este :ara o$ te$ta&ore$ 3ue atuam em e3ui/e$ 3ue e$/ecificam re3ui$ito$ fu*cio*ai$ utiliCa*&o como ferrame*ta o Mo&elo &e +a$o$ &e M$o. >a e$/ecifica'%o &e +a$o$ &e M$o5 o item Dlu;o Alter*ati6o a/re$e*ta um co*2u*to &e e;ce'0e$ 3ue &e6em $er trata&a$ /ela$ e3ui/e$ &e ar3uitetura5 &e$e*6ol6ime*to e te$te$. A +i/ura 1 Exemplo de Especi0icao de Caso de ,so5 &ei;a claro a facili&a&e &e e$cre6er ca$o$ &e te$te$ fu*cio*ai$ u$a*&o como ba$e o$ Dlu;o$ Alter*ati6o$. e;em/lo abai;o a/re$e*ta trecho$ &a e$/ecifica'%o &o ca$o &e u$o Gerar Noca'%o5 /ro/o$ta /ara uma loca&ora &e

6e8culo$5 uma em/re$a &e /e3ue*o /orte. 1 Fluxo Bsico de Eventos FB1 INICIAR CASO DE USO Esse caso de uso iniciado quando o/a ATENDENTE seleciona a opo GERAR LOCAO no sistema. FB2 APRESENTAR CLIENTES CADASTRADOS Aps a entrada na opo, o sistema apresentar para o/a ATENDENTE uma lista dos clientes previamente cadastrados no sistema da Locadora. FB3 SELECIONAR CLIENTE O/a ATENDENTE ir selecionar, da lista apresentada, um dos clientes para dar continuidade ao processo de locao do veculo. Mais de uma forma de seleo do cliente deve ser oferecida ao/ ATENDENTE (EXEMPLOS: Nome, CPF, CNH, etc.). FB4 VERIFICAR HISTRICO DE INADIMPLNCIA Aps selecionado o cliente pelo/a ATENDENTE, o sistema ir comunicar-se com o SISTEMA SERASA para verificar o histrico atual do cliente. Para isso, seus dados so enviados ao SISTEMA SERASA. FB5 APRESENTAR VECULOS DISPONVEIS Aps a aprovao do cliente: FB5.1 O sistema apresentar uma lista dos veculos disponveis para locao e que estejam de acordo com a categoria da CNH do cliente solicitante. FB5.2 O/a ATENDENTE ir selecionar o veculo desejado de acordo com a escolha do cliente. Um sistema de visualizao dever ser oferecido ao cliente para que ele possa escolher o veculo de forma adequada e confortvel. FB6 SELECIONAR FORMA DE PAGAMENTO aps selecionado o veculo e formalizada a locao, o/a ATENDENTE: FB6.1 Dever selecionar a forma de pagamento da locao. A locadora exige um sinal mnimo de 1 dia de locao e mais o valor respecitvo a meio tanque de gasolina. Pendncias devero ser pagas na devoluo do veculo. FB6.2 Dever efetivar e registrar o pagamento, encerrando o processo de sinal e liberando o veculo para a locao. FB7 ENCERRAR CASO DE USO Esse caso de uso encerrado normalmente. +luxos 2lternativos +21 ! 3rea de +uncionalidade DF3 ! ".N.+I >AR +NI.>(. Primeiro Fluxo Alternativo CN4 5ENC6D2 ! Ao 6erificar o$ &a&o$ &o clie*te $elecio*a&o5 ca$o o $i$tema i&e*tifi3ue 3ue a +>W &o clie*te e$t= 6e*ci&a5 e*t%o o $i$tema ir= $olicitar aoRE A(.>D.>(. a 6erifica'%o &o &ocume*to e a atualiCa'%o &o$ &a&o$ $e *ece$$=rio. >e$$e ca$o5 o $i$tema /o&er=Q a) $e a &ocume*ta'%o e$t= re#ulariCa&a5 atualiCar o $i$tema e retor*ar ao flu;o DF4 ! ).RIDI+AR WI"(XRI D. I>ADIM:NY>+IAB b) $e a &ocume*ta'%o *%o e$ti6er re#ulariCa&a5 e*t%o o $itema emitir= uma *otifica'%o aoRE ate*&e*te 3ue a Noca'%o Doi +a*cela&a e retor*ar ao flu;o DF7 ! .>+.RRAR +A" D. M" . +22 ! 3rea de +uncionalidade

DF4 ! ).RIDI+AR WI"(XRI+ D. I>ADIM:NY>+IA Primeiro Fluxo Alternativo C76ENTE 6N2D6MP7ENTE ! +a$o o "I"(.MA ".RA"A retor*e uma certi&%o /o$iti6a*&o o clie*te em $eu ca&a$tro5 e*t%o o $i$tema emitir= uma me*$a#em /ara oRa A(.>D.>(. i*&ica*&o a $itua'%o &o clie*te e retor*ar= ao flu;o DF7 ! .>+.RRAR +A" D. M" . Segundo Fluxo Alternativo 868TEM2 8ER282 6N2CE8895E7 ! +a$o o "I"(.MA ".RA"A e$te2a i*ace$$86el5 e*t%o o $i$tema &e6er= efetuar 3 *o6a$ te*tati6a$ &e co*e;%o com o me$mo5 &e6e*&o *o ca$oQ a.1) "e co*$e#uir a co*e;%o5 e*6iar o$ &a&o$ e retor*ar o re$ulta&o ao flu;o DFK ! A:R.".>(AR ).Z+MN " DI": >Z).I" ca$o o re$ulta&o $e2a /o$iti6o5 libera*&o a loca'%o. a.G) "e co*$e#uir a co*e;%o5 e*6iar o$ &a&o$ e retor*ar o re$ulta&o ao flu;o alter*ati6o 3.G.1 :rimeiro Dlu;o Alter*ati6o +NI.>(. I>ADIM:N.>(.5 ca$o co*tr=rio. b) "e *%o co*$e#uir a co*e;%o5 e*t%o o $i$tema e*6iar= uma *otifica'%o aoRE ate*&e*te /ara comu*ica'%o ao clie*te e retor*ar= ao flu;o DF7 ! .>+.RRAR +A" D. M" . +2# ! 3rea de +uncionalidade DFK ! A:R.".>(AR ).Z+MN " DI": >Z).I" Primeiro Fluxo Alternativo 5E9C,7$ C$MP2T95E7 6ND68P$N95E7 ! +a$o a loca&ora $? /o$$ua &i$/o*86el 6e8culo$ i*com/at86ei$ com a +>W &o clie*te5 e*t%o *otificar= oRa A(.>D.>(. 3ue a loca'%o $er= e*cerra&a e retor*ar= ao flu;o DF7 ! .>+.RRRAR +A" D. M" . +2& ! 3rea de +uncionalidade DF6 ! ".N.+I >AR D RMA D. :AGAM.>( Primeiro Fluxo Alternativo P2:2MENT$ DE C2RT;$ DE CR<D6T$ REC,82D$ ! +a$o o /a#ame*to &a loca'%o te*ha $i&o recu$a&a /ela o/era&ora &e cart%o &e cr4&ito5 e*t%o o $i$tema *otificar= oRa A(.>D.>(. 3ue /o&er=Q a) )oltar ao flu;o DF6 L ".N.+I >AR D RMA D. :AGAM.>( e co*ti*uar a o/era'%o atra64$ &e outra$ forma$ &e /a#ame*to. b) .*cerrar a o/era'%o &e loca'%o. $i$tema retor*ar= ao flu;o DF7 ! .>+.RRAR +A" D. M" . ... Figura + *2emplo de *specificao de Caso de Uso )amo$5 $e#ui*&o e$$e ca$o &e u$o5 criar o Docume*to &e +e*=rio &e +a$o &e (e$te5 $e#ui*&o o tem/late /ro/o$to a*teriorme*te. b$er6e a +i/ura 2 Descrio do Caso de Teste. 1.Descrio do Caso de Teste .$$e +a$o &e (e$te 4 a/lica&o $obre o +a$o &e M$o Gerar Noca'%o. "er= a/lica&o (e$te Du*cio*al $obre a fu*cio*ali&a&e5 6erifica*&o e 6ali&a*&o to&a$ a$ /o$$86ei$ co*&i'0e$ &e e*tra&a e $a8&a &a fu*cio*ali&a&e5 bem como5 &e6er%o $er a/lica&o$ te$te$ &e co*e;%o com ambie*te$ e;ter*o$ ao $i$tema. 2.Condio de Execuo Mma &e$cri'%o &e uma co*&i'%o 3ue $er= e;/erime*ta&a &ura*te e$te te$te. 2.1.Pr !condi"es

:ara a e;ecu'%o &e$$e te$te o ambie*te &e6e ter ca&a$tra&o$ o clie*te e o 6e8culo &e$e2a&o /ara a realiCa'%o &a loca'%o. 2.2.Entradas de Teste :ara a e;ecu'%o &e$$a fu*cio*ali&a&e &e6er%o $er te$ta&o$ o$ $e#ui*te$ cam/o$Q ! Data &e )ali&a&e &a +>W &o co*&utorB A data de validade deve ser posterior data atual; ! "tatu$ &o +lie*te /era*te a .m/re$aB O cliente n o !ode estar com o status inadimplente !erante a em!resa; ! "tatu$ &o +lie*te /era*te o "era$aB O cliente n o !ode estar com o status negativado !erante o Serasa; ! "tatu$ &o "i$tema &e +o*$ulta$ &o "era$aB O status do sistema de consulta do Serasa dever" ser OnLine. 2.#.Pontos de $%servao >%o h= /o*to$ &e ob$er6a'%o /ara e$$a fu*cio*ali&a&e. 2.&.Pontos de Controle :ara a e;ecu'%o &e$$a fu*cio*ali&a&e &e6er%o $er 6erifica&o$ o$ $e#ui*te$ /o*to$ &e co*troleQ ! "ele'%o &o clie*te /ara a loca'%oB Data de #alidade da $N%; Status do $liente; ! +o*e;%o com o "i$tema &e +o*$ulta$ &o "era$aB Status do Sistema de $onsultas do Serasa; ! Re$/o$ta &o "i$tema &e +o*$ulta$ &o "era$aB Status do $liente !erante o Serasa. 2.'.Resultados Esperados :ara o$ re$ulta&o$ e$/era&o$5 6erificar Ta%ela 2 Cen=rios de Casos de Teste. 2.(.P)s!condi"es :ara a$ /?$Lco*&i'0e$ &e$e2a&a$5 6erificar Ta%ela 2 Cen=rios de Casos de Teste. Figura , )escrio do Caso de ,este :ara o e;em/lo5 criaremo$ uma tabela com/o$ta5 em $ua$ colu*a$5 /ela$ 6ari=6ei$ E$ 3uai$ $%o cab86ei$ a6alia'0e$ *o$ /o$$86ei$ ce*=rio$ e5 *a$ $ua$ li*ha$5 ca$o$ &e te$te$ 3ue /o&em $er a/lica&o$ ao$ &i6er$o$ ce*=rio$ &a e$/ecifica'%o &e +a$o &e M$o. Um cenrio indica um fluxo de execuo do sistema em relao ao caso de uso, como apresentado na Tabela 1 Cenrios do Caso de Uso Gerar Locao. Tabela + Cen$rios do Caso de Uso 3erar -ocao Cenrio ... CNH vencida e no regularizada. Cliente inadimplente Sistema Serasa Inacessvel ... FB1 FB1 FB1 FB2 FB2 FB2 FB3 FB3 FB3 F3.1.1.B FB4 FB4 FB7 F3.2.1 F3.3.2B FB7 FB7 Passos

A Figura 3 Definio de Dados de Teste, apresenta um maior detalhamento sobre os dados que so utilizados na funcionalidade em teste, bem como, o seu contexto.

1.*reve Descrio da +uncionalidade .$te ca$o &e u$o tem como /ri*ci/al ob2eti6o /ermitir a loca'%o &e um 6e8culo /ara um clie*te. Doi$ atore$ $%o utiliCa&o$ *e$$e ca$o &e u$oQ A(.>D.>(. e "I"(.MA ".RA"A5 o 3ual $er= utiliCa&o /ara a 6erifica'%o &a i&o*ei&a&e &o clie*te e re$/ecti6a libera'%o &o me$mo. 2.Elementos de Execuo 2.1.Dados ,tili-ados 2.1.1.$N% G.1.1.1.(i/o &o Da&oQ 11 &8#ito$ G.1.1.G.Dro*teira$ &o Da&o ! &8#ito$ com 6alore$ &e H L 9 G.1.1.3.Re$tri'0e$ ! 6ali&a&o /or al#oritmo /r?/rio como i*&ica&o *a .$/ecifica'%o "u/leme*tar 2.1.2.Data de #alidade da $N% G.1.G.1.(i/o &o Da&oQ Data G.1.G.G.Dro*teira$ &o Da&o ! >%o $e a/lica G.1.G.3.Re$tri'0e$ ! "e a &ata for me*or ou i#ual a &ata atual5 a loca'%o &e6er= $er ca*cela&a 2.1.3.Status do cliente G.1.3.1.(i/o &o Da&oQ I*teiro G.1.3.G.Dro*teira$ &o Da&o ! H ou 1 G.1.3.3.Re$tri'0e$ ! "e o 6alor atribu8&o for H5 i*&ica 3ue *%o e;i$tem /e*&@*cia$ &o clie*te com a em/re$aB ca$o o 6alor $e2a 15 i*&ica 3ue e;i$te /e*&@*cia$ &o clie*te com a em/re$a e a loca'%o $? $er= libera&a a/?$ re$ol6i&a a /e*&@*cia. 2.1.2.Status do Sistema de Consultas do Serasa G.1.G.1.(i/o &o Da&oQ I*teiro G.1.G.G.Dro*teira$ &o Da&o ! H ou 1 G.1.G.3.Re$tri'0e$ ! $e o 6alor atribu8&o for H5 i*&ica 3ue o "i$tema &e +o*$ulta$ &o "era$a e$t= &i$/o*86elB ca$o o 6alor $e2a 15 i*&ica 3ue o "i$tema &e +o*$ulta$ &o "era$a e$t= I*&i$/o*86el. 2.2.Pr Condi"es de ,so dos Dados em Teste $ &a&o$ &o clie*te 2= &e6em e$tar /re6iame*te ca&a$tra&o$. 2.#.Depend.ncias Entre os Dados >%o $e a/lica. 2.&.Condi"es de Teste )erificar (abela G ! +e*=rio$ &e +a$o$ &e (e$te Figura - )efinio de )ados de ,este >o e;em/lo &a Ta%ela 2 Cen=rios de Casos de Teste >CT?5 $%o e;/o$to$ tr@$ ce*=rio$. :or4m5 to&o$ o$ ce*=rio$ /o$$86ei$ &e6em $er te$ta&o$. A/?$ &efi*i&o$ o$ ce*=rio$5 #eraL$e a tabela com o$ ca$o$ &e te$te$ e a$ 6ari=6ei$ 3ue &e6er%o $er 6erifica&a$. >o ca$o5 a$ e*tra&a$ 6=li&a$ &e &a&o$ $%o re#i$tra&a$ com um $8mbolo &e , e*3ua*to 3ue a$ e*tra&a$ i*6=li&a$ $%o re#i$tra&a$ com um [ ( b$er6a'%oQ em um ca$o real5 to&a$ a$ 6ari=6ei$ *ece$$=ria$ &e6em $er te$ta&a$). Tabela , Cen$rios de Casos de ,este (C,)
CT Cenrio CNH Data Validade CNH Status Cliente Status Serasa Resultado Esperado Resultado Obtido

CT1 CT2 CT3 CT4 CT5 CT6 CT7 CT8

CNH vencida e no regularizada. CNH vencida e no regularizada. Cliente inadimplente Cliente inadimplente Sistema Serasa Inacessvel Sistema Serasa Inacessvel Elaborao da 1 tentiva Sistema Serasa Inacessvel Elaborao da 2 tentiva Sistema Serasa Inacessvel Elaborao da 3 tentiva

X X X

Locao Liberada Locao Recusada Locao Liberada Locao Recusada Locao Liberada Retornar Fluxo F4 Retornar Fluxo F4 Locao Recusada

Observao: A combinao de qualquer valor irregular nesta tabela gerar como resultado esperado o valor Locao Recusada.

b$er6e 3ue5 *a matriC acima5 *e*hum 6alor real foi &i#ita&o /ara a$ co*&i'0e$ (&a&o$). A 6a*ta#em &e criar a matriC &o ca$o &e te$te &e$$a ma*eira 4 a facili&a&e &e 6er a$ co*&i'0e$ 3ue e$t%o $e*&o te$ta&a$. $ &a&o$ 6=li&o$ $%o a3uele$ 3ue #eram um re$ulta&o e$/era&o ao fi*al &a o/era'%o &a fu*cio*ali&a&e. $ I"cri/t$J &e (e$te /o&em $er facilme*te realiCa&o$ /ree*che*&o a tabela acima com 6alore$ 6=li&o$ ou i*6=li&o$5 &e/e*&e*&o &o re$ulta&o e$/era&o *o te$te. I"cri/tJ &e (e$te &e6e $er #era&o5 i*&e/e*&e*teme*te &o me$mo $er ma*ual ou automatiCa&o. A Ta%ela # Exemplo de 8cript5 a/re$e*ta um e;em/lo &e I"cri/tJ &e te$te em rela'%o ao /roblema /ro/o$to. Tabela - *2emplo de "cript
CT Cenrio CNH Data Validade CNH 20/12/12 10/01/10 20/12/12 20/12/12 20/12/12 20/12/12 20/12/12 Status Cliente Status Serasa Resultado Esperado Locao Liberada Locao Recusada Locao Liberada Locao Recusada Locao Liberada Retornar Fluxo F4 Retornar Fluxo F4 Resultado Obtido

CT1 CT2 CT3 CT4 CT5 CT6 CT7

CNH vencida e no regularizada (data vencimento > data atual) CNH vencida e no regularizada (data vencimento < data atual) Cliente inadimplente Cliente inadimplente Sistema Serasa Inacessvel Sistema Serasa Inacessvel (Elaborao da 1 tentativa) Sistema Serasa Inacessvel (Elaborao da 2 tentativa)

55555555555

Ok Ok Ok Devedor Ok Ok Ok

Disponvel Disponvel Disponvel Disponvel Disponvel Indisponvel Indisponvel

55555555555

55555555555

55555555555

55555555555

55555555555

55555555555

CT8

Sistema Serasa Inacessvel (Elaborao da 3 tentativa)

55555555555

20/12/12

Ok

Indisponvel

Locao Recusada

Apesar da simplicidade do exemplo acima, o mesmo reflete bem a necessidade da realizao dos testes em qualquer processo de desenvolvimento de software. Os mesmos devem ser realizados de forma exaustiva, buscando verificar todas as variantes possveis em relao aos valores dos dados em um sistema. A coluna Resultado Obtido deve ser preenchida aps a execuo de cada um dos testes. Caso o resultado obtido no reflita o resultado esperado, ento a equipe dever solicitar mudanas para a correo necessria, seja ela na fase de requisitos, arquitetura ou implementao. >em to&o$ o$ re3ui$ito$ &e um ob2eti6o &e te$te $er%o refleti&o$ em ca$o$ &e u$o. Re3ui$ito$ *%oLfu*cio*ai$5 como &e$em/e*ho5 $e#ura*'a e ace$$o5 e re3ui$ito$ &e co*fi#ura'%o e$/ecificam com/ortame*to$ ou caracter8$tica$ a&icio*ai$ &o ob2eti6o &o te$te.

)onclus.o
A a/lica'%o &e te$te$ *%o 4 uma ati6i&a&e $im/le$ *em t%o /ouco a#ra&=6el &e realiCar. Ma$ 4 *ece$$=ria e e;tremame*te im/orta*te /ara 6erificar e 6ali&ar a 3uali&a&e &e um $oft1are em &e$e*6ol6ime*to. .;i$tem &i6er$a$ ferrame*ta$ *o merca&o5 utiliCa&a$ /ara a automa'%o &o /roce$$o &e te$te &e $oft1are. (a*to ferrame*ta$ /ro/riet=ria$5 como a $u8te &a Ratio*al /ara realiCa'%o &e te$te$5 como ferrame*ta$ IfreeJ5 como /or e;em/lo Gri*&er5 Umeter5 Robot Drame1orO G.K e &eCe*a$ &e outra$ mai$. Mai$ im/orta*te 3ue a e$colha &e uma ferrame*ta /o&ero$a /ara te$te$5 4 a realiCa'%o &o te$te em $i. >%o e;i$te alter*ati6a /ara a realiCa'%o &e te$te$. .;i$te a realiCa'%o &e te$te$ e /ro*to. A$ e3ui/e$ 3ue u$am m4to&o$ =#ei$ ho2e 2= /e*$am em te$te$ &e$&e o /roce$$o &e a*=li$e &e re3ui$ito$5 ta*to 3ue muita$ $%o a$ e3ui/e$ 3ue co*he'o 3ue u$am (DD (I(e$t Dri6e De6elo/me*tJ)5 meto&olo#ia &e &e$e*6ol6ime*to &e $oft1are 3ue /re#a o &e$e*6ol6ime*to &iri#i&o a te$te$5 ou $e2a5 a e3ui/e /e*$a em te$te &e$&e o i*8cio &o /roce$$o5 como /re#a e$$e arti#o. .$/ero 3ue e$$e arti#o /o$$a te a2u&ar *o /roce$$o &e im/la*ta'%o &e te$te$ em $ua e3ui/e5 $e2a ela &e /e3ue*o /orte5 e$te2a ela u$a*&o meto&olo#ia =#il.

/efer0ncias Bibliogrficas
[I...199H[M.IRAGH1H[BARBOSA2002] [IFMGHHK[RM:GHH7[ :.>M:GHH9I... $ta*&ar& #lo$$ar\ of $oft1are e*#i*eeri*# termi*olo#\. "ta*&ar& 61H.1G5 I... :re$$5 199H. Meira5 D=bio NAcioB :roce$$o M*ifica&o AbertoQ Mm /roce$$o =#il &e &e$e*6ol6ime*to &e $oft1areB .>.( Ma#aCi*e 7K. Barbosa, Ellen Francine et. All.; Introduo ao Teste de Software; M*i6er$i&a&e &e "%o :aulo ]I+M+RM":. Ma$teri*# Re3uirime*t$ Ma*a#eme*t Pith M$e +a$eB IFMB GHHK. Ratio*al M*ifie& :roce$$B IFMB GHH7. /e* M*ifie& :roce$$B .cli/$eB )er$io* 1.K.H.4

Você também pode gostar