Вы находитесь на странице: 1из 5

FerramentasdeSuporteaDisciplinaTestedoRUP

LuizGustavoRissmann PontifciaUniversidadeCatlicadoParan(PUCPR) CuritibaPRBrasil


luiz.rissmann@auspex.com.br

Abstract.ThispaperexplainbrieflytheTestdisciplineofRUP.Moreover,are presentedavarietyoftoolstohelpyoutoimplementboththe assistedand automatedtestsonprojectsbasedinJavadevelopment. Resumo. Este artigo explica brevemente adisciplina Teste do RUP. Alm disso,soapresentadasvriasferramentasparaauxiliaraimplantaodos testes, manuais(assistidos) e automatizados, em projetos desenvolvidos em Java.

1. RationalUnifiedProcesseTestes
ORationalUnifiedProcess(RUP)umprocessodeengenhariadesoftwarequeoferece umaabordagembaseadaemdisciplinas,atribuindotarefaseresponsabilidadesdentroda organizao,paragarantiraproduodesoftwaredealtaqualidadeequeatenda s necessidadesdosusuriosdentrodeumcronogramaedeumoramentoprevisveis. Apesardetodasasdisciplinasseremdeextremaimportncia,talvezaquetraga resultadosmaisimediatosaempresa adisciplinaTeste.Otrechoaseguirfoiretirado dositehttp://www.wthreex.com/rup/edetalhabemoobjetivodestadisciplina. AdisciplinaTesteatuaemvriosaspectoscomoumaprovedoradeserviospara as outras disciplinas. O teste enfatiza principalmente a avaliao da qualidade do produto,realizadaatravsdevriasprticascentrais:
Localizaredocumentardefeitosnaqualidadedosoftware. Avisardeformageralsobreaqualidadeobservadanosoftware. Validarassuposiesfeitasnasespecificaesdedesignerequisitoatravsde

demonstraoconcreta.

Validarasfunesdosoftwareconformeprojetadas. Verificarseosrequisitosforamimplementadosdeformaadequada.

UmadiferenainteressanteentreoTesteeasoutrasdisciplinasdoRUP quea principal finalidade do Teste localizar e expor os pontos fracos do software. O interessante que,paraobter o mximobenefcio,eleprecisadeumafilosofiageral diferente da usada nas disciplinas Requisitos, Anlise e Design, e Implementao. A diferenasutil queenquanto as outras disciplinasenfatizamaabrangncia,o Teste enfatiza adeficincia.Umbomesforodeteste direcionadoporperguntasdotipo "Comoessesoftwarepodeserdividido?"e"Emquesituaesestesoftwarepodedeixar de funcionar da maneira prevista?". O teste desafia as suposies, os riscos e as incertezasinerentesaotrabalhodeoutrasdisciplinas,tratandoessasquestespormeio de uma demonstrao concreta e uma avaliao imparcial. O desafio evitar dois

extremospotenciais:umaabordagemquenoavalieosoftwaredeformaadequadae efetiva, expondo seus problemas e pontos fracos, e uma abordagem que seja inapropriadamente negativa ou destrutiva. Com a adoo de uma abordagem to negativa, talvez voc nunca considere aceitvel a qualidade do software, e provavelmentealienaroesforodeTestedeoutrasdisciplinas. Combasenasinformaesapresentadasemvriaspesquisaseensaios,otestede software responsvel por 30% a 50% dos custos totais de desenvolvimento do software.Portanto,talvezsejasurpreendentenotarqueamaioriadaspessoasacredita queosoftwarenobemtestadoantesdeserfornecido.Essacontradiobaseiaseem algumasquestesessenciais. Primeiro, o teste de software bastante difcil. No possvel quantificar as diversas maneiras como um programa pode se comportar. Segundo, o teste normalmenterealizadosemumametodologiaclarae,portanto,osresultadosvariamde acordocomoprojetoeaorganizao.Osucesso umfatorligadoprincipalmente qualidadee shabilidadesdosindivduos.Terceiro,asferramentasdeprodutividadeso usadas deformainsuficiente,tornandogerenciveisosaspectos trabalhososdo teste. Alm da falta de execuo de testes automatizados, vrios esforos de teste so conduzidossemferramentasquepermitamogerenciamentoeficazdeDadosdeTestee ResultadosdeTesteabrangentes.Enquantoaflexibilidadedeusoeacomplexidadedo software tornam o teste completo uma meta impossvel, uma metodologia bem concebidaeousodeferramentasavanadaspodemajudaramelhoraraprodutividadee eficciadotestedesoftware. Emsistemasde"seguranacrtica",nosquaisumafalhapodecausardanosa pessoas(como,porexemplo,controledotrfegoareo,direodemsseisousistemas deassistnciamdica),umsoftwaredealtaqualidade essencialparaosucessodesses sistemas. Em um sistema MIStpico, seugrau de risco pode no serimediatamente bvio, mas provvelqueo impacto deumdefeitopossaacarretar ao negcioque utiliza o software uma despesa considervel, devido a perda de receita ou possveis custos legais. Nesta "era da informao", com o aumento da demanda por servios eletrnicospelaInternet,vriossistemasMISsoagoraconsideradoscomode"misso crtica"; ou seja, as empresas no podem realizar as suas funes e sofrem grandes prejuzoscomaocorrnciadefalhas. Umaabordagemcontnuadaqualidade,realizadanoinciodociclodevidado software, pode diminuir significativamente o custo de concluso e manuteno do software. Isso reduz bastante o risco associado implantao de software de m qualidade.

2. Caixapretaecaixabranca
Testesdecaixapretanolevamemconsideraoocdigodaimplementaodosistema. Estointeressadosapenasnasentradasesadasdasfuncionalidades. Testesdecaixabranca,aocontrriodosanteriores,estolocalizadosnumnvel maisespecfico.Estestmcomoprincipalobjetivotestarasfunesquecompeuma funcionalidade.Sochamadostambmdetestesunitrios.[WIKIPEDIA2008] Paraqueumnveldeexcelnciasejaatingidoquantoaqualidadedoproduto, ambosostestessoimprescindveisnoprocessodedesenvolvimentodesoftware.

3. Testesautomatizados
A disciplina de testes fundamental na garantia da qualidade almejada pelas organizaes,pormelamesmanoestlivredefalhas.Umamaneiradediminuirofator humano na hora de realizar os testes usar de forma extensiva as ferramentas de automatizaodetestes.Comissoummesmotestepodeserrealizado1.000.000(um milho)devezestendocertezadequetodasasvezesqueelefoirealizado,amesma sequnciadepassosfoiseguidaenadafoiesquecidopelocaminho.

4. Ferramentas
4.1. Eclipse Estano exatamenteumaferramentadeteste,mas umapoderosaIDE( Integrated DevelopmentEnvironment )paraprogramaremJava.Aprincipalcaractersticaquea tornaamaisutilizadahojeentreosprogramadores agrandequantidadedeplugins disponveis.Edevidoaosseusdiversospluginsqueelaaparecenestalista.UmEclipse com os plugins certos j um grande avano na implementao efetiva dos testes automatizados.[Hemrajani2006] 4.2. JUnit JUnitumframeworkopensource,criadoporEricGammaeKentBeck,comsuporte criao de testes automatizados utilizado normalmente para fazer testes unitrios em cdigoJava.Algumasmetodologias,comoXP,tambmenfatizamfortementeestetipo deteste,tornandoestaumadasferramentasmaispopularesnomundoJavahojeemdia. [Hemrajani2006].OJUnitpodeserutilizadosozinhoatravsdalinhadecomandoou comopluginintegradoaoEclipse. 4.3. Coverclipse Outro grande plugin para o Eclipse, o Coverclipse tem como funo mostrar a coberturadostestesdoJUnitnoseucdigo.Podeparecerpouco,masjd umaboa dicaaoprogramadordeondepodemestarosfuturosproblemas.AFigura1mostraum exemplo da tela do Eclipse com o Coverclipse. Podemos observar que as linhas marcadascomverdesocobertasportestesdoJUniteasmarcadasemvermelhocoma exclamaosoaslinhasdocdigoquenosotestadas,indicandoospossveispontos defalhadosistema.[Kempka2008] 4.4. MavenContinuum Esta umaferramentadeintegraocontnua.Integraocontnua umaprticano desenvolvimento de software onde existam vrias pessoas desenvolvendo um mesmo software e todos fazem uso de um repositrio central como controlador de verses (CVSouSubversion,porexemplo).AtravsdoMavenContinuum, buildsautomticos dosistema,incluindoostestes,podemseragendadoscomumadeterminadafrequncia (porexemplo,tododiaameianoite),paraqueoserrosdeintegraosejamdetectadoso maiscedopossvel.[Sonatype2008]

Figura1:Exemplodecoberturadostestes

4.5. TestLink TestLink umaferramentadegerenciamentodecasosdetesteeexecuoOpenSource desenvolvidaemPHPeMySQLcominterfacetotalmenteweb[Costa2008].Estano umaferramentaparatestesautomatizados,mas muito tilparacriarplanosdetalhados de testes que devero ser realizados por uma pessoa. O foco principal aqui so as funcionalidades,masatravsdelatambmpodemserverificadosoutrosaspectoscomoa facilidadedeusodainterfacedosoftwareporrequererumainteraodiretadotestador com o sistema. Outro ponto bastante interessante que esta ferramenta oferece a possibilidade do responsvel a criar os planos de testes, de cadastrar os requisitos funcionais do sistema e associlos aos casos de teste, formando assim a matriz de rastreabilidadedosrequisitos. 4.6. Selenium Seleniumumaferramentadetesteespecficaparaaplicaesbaseadasembrowser.Ela capaz de simular um usurio real navegando pelos links do sistema, preenchendo formulriosefazendotudo queumusurionormalfaria[OpenQA2008].Amaneira maisfcildeutilizlaatravsdeumpluginparaonavegadorFirefox.Assimpossvel gravarasaesdeumusurionormaledepoisreproduzlasautomaticamentequantas vezesforemnecessrias.

References
Hemrajani,A.(2006)AgileJavaDevelopmentwith Spring,HibernateandEclipse, EditoraSams. Kempka, M. (2008) Coverclipse, http://coverlipse.sourceforge.net/index.php, Maio, 2008. Sonatype. (2008) Maven: The Definitive Guide, http://www.sonatype.com/book/, Maio,2008. Costa, E. (2008) Ferramentas de Teste: Testlink, http://www.testexpert.com.br/? q=node/650,Maio,2008. OpenQA(2008)SeleniumOverview,http://selenium.openqa.org/,Maio,2008. Wikipedia(2008)Testedesoftware, http://pt.wikipedia.org/wiki/Teste_de_software, Maio,2008. Rational Software Corporation (2008) Rational Unified Process, http://www.wthreex.com/rup/,Maio,2008.

Вам также может понравиться