CENTRO DE ENSINO UNIFICADO DE TERESINA PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE

JUNIEL ALVES DA SILVA

AUTOMAÇÃO DOS TESTES DE REGRESSÃO EM UM AMBIENTE DE DESENVOLVIMENTO DE SOFTWARE

TERESINA 2011

JUNIEL ALVES DA SILVA

AUTOMAÇÃO DOS TESTES DE REGRESSÃO EM UM AMBIENTE DE DESENVOLVIMENTO DE SOFTWARE

Projeto apresentado ao Curso de Pós-Graduação em Engenharia de Software como requisito ao desenvolvimento do Trabalho de Conclusão de Curso, sobre a orientação do #oares #ousa sC! "rmando

TERESINA 2011

SUMÁRIO

1 TEMA........................................................................................................................ 2 DELIMITAÇÃO DO TEMA........................................................................................ JUSTIFICATIVA ....................................................................................................... ! PROBLEMAS............................................................................................................! " OBJETIVOS.............................................................................................................." # FUNDAMENTAÇÃO TEÓRICA................................................................................" $ METODOLOGIA DE PES%UISA..............................................................................& & CRONOGRAMA........................................................................................................& ' ORÇAMENTO...........................................................................................................' 10 REFER(NCIA BIBLIOGRÁFICA..........................................................................11

$ 1 TEMA

"utomação

dos

testes

de

%egressão

em

um

"mbiente

de

&esenvolvimento de #o't(are!

2 DELIMITAÇÃO DO TEMA

)s testes de regressão serão aplicadas nos sistemas desenvolvidos na %emanso no per*odo de tr+s meses, isso signi'ica que poder, ser analisados em torno de um a tr+s projetos, vai depender do tamanho do sistema, da sua comple-idade e da quantidade de pessoas envolvidas no projeto!

JUSTIFICATIVA

) teste de so't(are . a investigação de programa/ software a 'im de 'ornecer in'ormaç0es sobre sua qualidade em relação ao conte-to em que ele deve operar! 1sso inclui o processo de utili2ar o produto para encontrar seus de'eitos! 3m grande 'ato de percussão nacional a pouco tempo comentado em todas as m*dias nacionais pode servir de e-emplo como o teste adequado de um sistema pode evitar grandes transtornos, como poderia ter acontecido no sistema do EC o #i#u, veja abai-o, segundo o site ) Globo 4%)##ETT), 567789

:;< uitos estudantes tiveram problemas para acessar o site do #i#3 no per*odo de inscriç0es, que começou em 7= de janeiro! ) EC estendeu o pra2o que terminaria no dia 7> para o dia 56! #egundo o EC, entre 7= e 56 de janeiro, o #i#3 registrou 5!656!7?@ inscriç0es, 'eitas por 7!6>6!7AB candidatos! " primeira lista de aprovados 'oi divulgada em 5$ de janeiro!

B #e houvesse um planejamento melhor dos tipos de testes a serem 'eitos provavelmente essa 'alha poderia ter sido encontrada e melhor planejada/corrigida para que maiores transtornos como esse não acontecesse! Controlar a qualidade de sistemas de so't(are . um grande desa'io devido C alta comple-idade dos produtos e Cs inDmeras di'iculdades relacionadas ao processo de desenvolvimento e com relação aos pra2os que envolve quest0es humanas, t.cnicas, burocr,ticas, de negócio e pol*ticas! 1dealmente, os sistemas de so't(are devem não só 'a2er corretamente o que o cliente precisa, mas tamb.m 'a2+-lo de 'orma segura, e'iciente e escal,vel e serem 'le-*veis, de ',cil manutenção e evolução! " busca pela qualidade dos produtos de so't(are condu2 muitas organi2aç0es C utili2ação de mecanismos de veri'icação e validação, dentre os quais testes de regressão! Esses testes são e-ecutados após a correção de algum de'eito ou após a adição de uma nova 'uncionalidade! #eu objetivo . garantir que nenhum de'eito 'oi acrescentado ao sistema após sua modi'icação! &e nada adianta testar um sistema, veri'icar que ele não possui de'eitos para aquele conjunto de casos de teste e após modi'icaç0es no sistema, aqueles casos de teste não serem novamente e-ecutados, pois as novas mudanças podem tra2er de'eitos para o sistema! )s resultados apurados destacam vantagens, bene'*cios e di'iculdades percebidas atrav.s do uso da automação desses testes!

! PROBLEMAS

Euando automati2ar os testesF Por que temos que automati2ar os testes de regressãoF Eue vantagens tem em se automati2ar um teste de regressãoF Euais casos de testes devem ser automati2adoF Eual 'erramenta usar para automati2ação dos testes de regressãoF Euais os problemas encontrados durante os testes de regressão utili2ando essa 'erramentaF

?

" OBJETIVOS

O)*+,-./ 0+1234 o Encontrar a melhor 'orma de automati2ar os testes de regressão mostrando passo a passo os procedimento desse tipo de testes e mostrando as 'uncionalidades da 'erramenta escolhida para automati2ação desses testes!

O)*+,-./ +56+789-7/4 o ostrar a importGncia dos testes de regressão no ciclo de desenvolvimento de so't(are! o Hrisar a importGncia da automati2ação dos testes mostrando os cuidados que devemos ter ao escolher automati2ar um teste! o ostrar as t.cnicas de automação de testes de so't(are!

o "presentar uma 'erramenta para e-ecução dos testes de regressão mostrando com um e-emplo real!

# FUNDAMENTAÇÃO TEÓRICA

#egundo #Illabus J5!6 47AAA, p! 7689
#istemas de so't(are tornam-se cada ve2 mais parte do nosso dia-a-dia, desde aplicaç0es comerciais 4e-9 bancos8 at. produtos de consumo 4e-9 carros8! " maioria das pessoas j, teve alguma e-peri+ncia com um so't(are que não 'uncionou como esperado! #o't(ares que não 'uncionam corretamente podem levar a muitos problemas, incluindo 'inanceiro, tempo e reputação das empresas! Podendo, inclusive, chegar a in'luenciar na integridade das pessoas!

= )s de'eitos ocorrem porque os seres humanos são pass*veis de 'alha e porque e-iste pressão no pra2o, códigos comple-os, comple-idade na in'raestrutura, mudanças na tecnologia e/ou muitas interaç0es de sistema! %igorosos testes em sistemas e documentaç0es podem redu2ir os riscos de ocorr+ncia de problemas no ambiente operacional, e contribui para a qualidade dos sistemas de so't(are se os de'eitos encontrados 'orem corrigidos antes de implantados em produção! &e acordo com o Gloss,rio Padrão de Termos 3tili2ados em Teste de #o't(are 45676, p! ?=89
Testar . um processo que consiste em todas as atividades do ciclo de vida, tanto est,ticas quanto dinGmicas, voltadas para o planejamento, preparação e avaliação de produtos de so't(are e produtos de trabalho relacionados a 'im de determinar se elas satis'a2em os requisitos especi'icados e demonstrar que estão aptas para sua 'inalidade e para a detecção de de'eitos!

) resultado da e-ecução dos testes pode representar con'iança na qualidade do so't(are caso sejam encontrados poucos ou nenhum de'eito! 3m teste projetado adequadamente e cuja e-ecução não encontra de'eitos redu2 o n*vel de riscos em um sistema! Por outro lado, quando os testes encontram de'eitos, a qualidade do sistema aumenta quando estes são corrigidos! &e acordo com ! Pe22K e ! Loung 4566>, p! B?B89

Euando uma nova versão de um so't(are não prov+ mais corretamente uma 'uncionalidade que deveria ter sido preservadas di2-se que a nova versão regrediu em relação Cs vers0es anteriores! " não regressão de novas vers0es 4isto ., a preservação de 'uncionalidades8 . um requisito b,sico de qualidade!

Essa abordagem descrita acima dever, ser garantida com a ree-ecução de todos os testes onde o mesmo tem por 'inalidade 'a2er uma comparação da versão corrente com a versão anterior pois tudo deveria est, 'uncionando como era antes! " atividade de testes que 'ocam esse problema . chamada de testes de regressão! &e acordo com o Houndation Mevel #Illabus na versão 566@br 4566@, p! 5@89

@
Teste de regressão . o teste repetido de um programa que j, 'oi testado, após sua modi'icação, para descobrir a e-ist+ncia de algum de'eito introdu2ido ou não coberto originalmente como resultado da mudança! Estes de'eitos podem estar no so't(are ou em um componente, relacionado ou não ao so't(are! N reali2ado quando o so't(are, ou seu ambiente . modi'icado! " quantidade de teste de regressão . baseada no risco de não se encontrar de'eitos no so't(are que estava 'uncionando previamente!

3ma abordagem simples de teste de regressão consiste em ree-ecutar todos os casos de teste projetados para as vers0es anteriores! esmo esta abordagem simples de retestar tudo, pode apresentar problemas e custos não triviais! )s primeiros casos de testes podem não ser ree-ecutados nas novas vers0es sem modi'icaç0es e a ree-ecução de todos os casos de testes pode ser muito cara e desnecess,rias, ou seja, e-ecutar todos os casos de teste para grandes produtos pode requerer muitas horas ou dias de e-ecução! 3ma solução seria automati2ar os testes de regressão! "utomação de teste de so't(are signi'ica repassar para o

computador tare'as que seriam reali2adas manualmente, ou seja um so't(are imita a interação com a aplicação simulando assim aç0es que deveriam ser 'eitas por um ser humano! &e acordo com M! olinari 45676, p! $>8 O" principal ra2ão do uso e da

disseminação da automação dos testes de so't(are . justamente a urg+ncia cada ve2 maior de reali2ar mais testes em menos tempo!P "utomati2ar a e-ecução dos testes de regressão poder, não ser uma tare'a muito ',cil no começo, quando normalmente o custo poder, ser elevado e e-igir um grande es'orço em relação a treinamento dos pro'issionais envolvidos para lidar com 'erramentas, al.m da elaboração de scripts de automação dos casos de teste, os quais normalmente e-igem conhecimento e pr,tica em alguma linguagem de programação! Herramentas de automação de teste são instrumentos 'acilitadores, o seu uso adequado aumenta a e'ici+ncia e a e'ic,cia do processo de testes redu2indo assim os custos e aumentando a produtividade de atividades ligadas tanto ao desenvolvimento de so't(are 4produto8 como tamb.m aos próprios testes! " visibilidade desses resultados

> . percebida principalmente quando a automação est, 'ocada em testes de regressão!

$ METODOLOGIA DE PES%UISA

" pesquisa ser, desenvolvida em grande parte em casa, no trabalho 4%emanso8 e no CE3T- Centro de Ensino 3ni'icado de Teresina, onde ser, utili2ado o laboratório de computação e abai-o est, sequ+ncia de atividades a ser reali2ado! A. Mevantamento bibliogr,'ico9 1nicialmente serão consolidados os 'undamentos teóricos abordado pela reali2ação de uma revisão bibliogr,'ica! B. Mevantamento das t.cnicas de automação de testes a serem utili2adas! C. Escolha da melhor 'erramenta a ser utili2ada durante os testes de regressão e-ecutados! D. Jantagens e desvantagem dessa 'erramenta9 Qessa 'ase serão 'eitos estudos dos manuais de utili2ação dessa 'erramenta e 'eito levantamento de suas 'uncionalidades! E. Mevantamento dos casos de testes a serem automati2ados veri'icando a viabilidade dessa automação! F. E-ecução dos testes de regressão! G. Conclusão sobre a automação de testes de regressão levantando suas vantagem e desvantagem em relação a 'erramenta em uso!

& CRONOGRAMA

) plano de trabalho dever, seguir a sequ+ncia de atividades abai-o!

A

T2)+32 14 C1/:/012;2 6212 7/:73<5=/ >/ ,12)23?/ A,-.->2>+5 61/012;2>25 Mevantamento bibliogr,'ico Mevantamento de t.cnicas de automação Escolha da melhor 'erramenta Jantagens e desvantagem dessa 'erramenta Mevantamento dos casos de testes E-ecução dos testes Conclusão
O<,<)1/ N/.+;)1/ D+@+;)1/ J2:+-1/ F+.+1+-1/ M21A/ A)1-3 M21A/

' ORÇAMENTO

" 'im de reali2ar este trabalho são necess,rios alguns materiais que tem uma despesa de %R 765,66 na compra do livro9 PESST, !U L)3QG, ! T+5,+ + A:B3-5+ >+ S/9,C21+ - P1/7+55/D P1-:786-/ + TE7:-725. #ão Paulo9 "rtmed, 566>U %R 5$6,66 na compra do livro9 P%E## "Q, %oger #! E:0+:?21-2 >+ Software! = ed! #ão Paulo9 cGra( Vill, 566=U %R ?6,66 na compra do livro )M1Q"%1, M! I:/.2A=/ + A<,/;2A=/ >+ T+5,+5 >+ S/9,C21+! #ão Paulo9 Erica, 5676! )s demais livros se encontram na biblioteca do Centro de Ensino 3ni'icado de Teresina!

76 %esma de papel "B, custo total @5,66 %R, cartuchos de tinta custa 7$?,66 %R e encadernamento A,66 %R!

T2)+32 24 O1A2;+:,/ 61+.-5,/ 6212 2 7/:73<5=/ >/ ,12)23?/ VALOR %UANTIDADE 7 de so't(are 7 7 = $ = TOTAL M1J%)9 Engenharia de Software M1J%)9 1novação e "utomação de Testes de #o't(are %E# " &E P"PEM "B C"%T3CV)# P"%" 1 P%E##)%" EQC"&E%Q" EQT) 5$6,66 ?6!66 75,66 B?,66 5,?6 5$6,66 ?6,66 @5,66 7$?,66 7?,66 #0!D00 MATERIAL M1J%)9 Teste e analise de testes UNITÁRIO RF 765!66 VALOR TOTAL RF 765,66

77 BIBLIOGRAFIA BÁSICA

"##)C1"WX) Y%"#1ME1%" &E Q)% "# TNCQ1C"#! NBR ISOGIEC '12#-14 Engenharia de so't(are Z qualidade de produto! Parte 79 modelo de qualidade! %io de [aneiro, 566$! Brazilian Software Testing Qualifications Boar d - Y#TEY! B25+ >+ C/:?+7-;+:,/ 6212 C+1,-9-72A=/ +; T+5,+ - Advanced Level Syllabus! 566@br! Brazilian Software Testing Qualifications Board - Y#TEY! B25+ >+ C/:?+7-;+:,/ 6212 C+1,-9-72A=/ +; T+5,+ - Foundation Level Syllabus! 566@br! )M1Q"%1, M! I:/.2A=/ + A<,/;2A=/ >+ T+5,+5 >+ S/9,C21+! #ão Paulo9 Erica, 5676! PESST, !U L)3QG, ! T+5,+ + A:B3-5+ >+ S/9,C21+ - P1/7+55/D P1-:786-/ +

TE7:-725. #ão Paulo9 "rtmed, 566>! P%E## "Q, %! #! E:0+:?21-2 >+ S/9,C21+! = ed! #ão Paulo9 cGra( Vill, 566=!

%)##ETT), M! Estudantes %elatam Problemas para "cessar #ite do #isu! G3/)/, #ão Paulo, 7= janeiro 5677! &ispon*vel em9 \http9//g7!globo!com/vestibular-eeducacao/noticia/5677/67/estudantes-relatam-problemas-para-acessar-site-dosisu!html], "cesso em9 7A maio 5677! JEEQEQ&""M, E! J! G3/55B1-/ P2>1=/ >+ T+1;/5 U,-3-@2>/5 +; T+5,+ >+ S/9,C21+! 5!7br ed! Volanda9 GlossarI ^or_ing PartI, 5676!