automa teste
TRANSCRIPT
-
7/30/2019 Automa Teste
1/185
Automao eGerenciamento de Testes
Aumentando a Produtividade
com as Principais SoluesOpen Source e Gratuitas
Cristiano Caetano
1
-
7/30/2019 Automa Teste
2/185
Prefcio...................................................................................................5 Agradecimentos .......................................................................................7Introduo...............................................................................................8Proposta deste livro................................................................................11Consideraes iniciais .............................................................................12Captulo 1 Gesto de defeitos ...............................................................14Mantis................................................................................................15
Instalando e configurando................................................................16Criando um novo projeto..................................................................17Registrando e modificando um bug ...................................................19Meus Bugs ......................................................................................22Sumrio dos bugs............................................................................23News ..............................................................................................24Change Log.....................................................................................25Documentao do projeto ................................................................25Configurao do Mantis....................................................................26
Captulo 2 Gesto de testes ..................................................................27TestLink .............................................................................................28
Instalando e configurando................................................................29Criando um novo projeto..................................................................30
Adicionando requisitos .....................................................................31Adicionando test cases .....................................................................34Associando test cases aos requisitos.................................................. 38Associando keywords aos test cases..................................................39Criando test suites ...........................................................................41
Associando nveis de prioridade a test suite .......................................44Associando usurios ao test suite ......................................................44Criando builds e milestones ..............................................................45Executando os Test Cases ................................................................46
Captulo 3 Gesto de projetos...............................................................49php-collab ..........................................................................................50
Instalando e configurando................................................................51Criando um novo projeto..................................................................52
Adicionando tarefas .........................................................................55Visualizando o calendrio do projeto .................................................56Listas de discusses.........................................................................57
Adicionando arquivos ao projeto .......................................................59Bookmarks compartilhados...............................................................61
Adicionando clientes ........................................................................62Requisies de suporte.....................................................................65Relatrios........................................................................................66
Captulo 4 Automao de testes funcionais e de aceitao.......................67Selenium............................................................................................68
Selenium Core.................................................................................69
2
-
7/30/2019 Automa Teste
3/185
Selenium IDE ..................................................................................73Selenium RC (Remote Control)..........................................................78
Marathon ...........................................................................................83Criando um novo projeto..................................................................84Criando um script de teste................................................................87Criando um mdulo reutilizvel .........................................................90Executando os scripts de teste por meio do JUnit ...............................92Criando uma fixture .........................................................................93
SoapUI...............................................................................................95 Criando um novo projeto..................................................................96Criando um test case ..................................................................... 100Criando asseres.......................................................................... 102Depurando os Test Cases ............................................................... 104
Adicionando novos Test Steps ao Test Case ..................................... 105Criando testes de desempenho e stress ........................................... 107
Captulo 5 Automao de testes de performance .................................. 109JMeter ............................................................................................. 110
Configurando um test plan ............................................................. 111Adicionando e configurando um thread group .................................. 112Gravando um teste por meio de um HTTP Proxy .............................. 114
Adicionando asseres ................................................................... 117Adicionando um timer .................................................................... 120Adicionando listeners (relatrios) .................................................... 121Executando e visualizando os resultados.......................................... 123Monitorando a performance do servidor........................................... 126
Microsoft WEB Application Stress........................................................ 131Gravando um teste por meio de um HTTP Proxy .............................. 132Executando e visualizando os resultados.......................................... 136Configurando o comportamento dos testes ...................................... 138Configurando Page Groups ............................................................. 139Configurando usurios para autenticao......................................... 141
Captulo 6 Controle de verses............................................................ 142CVS ................................................................................................. 143
TortoiseCVS .................................................................................. 146Repositrio.................................................................................... 147Importao ................................................................................... 147Retirada dos arquivos do repositrio................................................ 151Modificando os arquivos ................................................................. 152Inspecionando as modificaes ao longo do tempo........................... 154Configurando o TortoiseCVS ........................................................... 155
Captulo 7 Ferramentas de apoio......................................................... 156Tail for Win32................................................................................... 157HeavyLoad ....................................................................................... 158Process Explorer ............................................................................... 159
3
-
7/30/2019 Automa Teste
4/185
VMWARE.......................................................................................... 160Microsoft Pairwise Independent Combinatorial Testing ......................... 161Burp Suite ........................................................................................ 162Camstudio ........................................................................................ 163MWSnap .......................................................................................... 164WinMerge......................................................................................... 165Data Generator................................................................................. 166Firebug ............................................................................................ 167
Consideraes Finais ............................................................................ 168Ferramentas similares no apresentadas neste livro............................. 168Repositrios de ferramentas Open Source........................................... 172
Alternativas comerciais ...................................................................... 174Referncias sobre teste de software ................................................... 178Sobre o autor ................................................................................... 179
Bibliografia Recomendada ..................................................................... 180Bibliografia .......................................................................................... 182ndice Remissivo .................................................................................. 183
4
-
7/30/2019 Automa Teste
5/185
Prefcio
Caro Leitor,
O grande escritor e poeta Carlos Drummond de Andrade disse uma vez quetodas as vezes que se abre uma livraria deveramos comemorar com festa, talqual o nascimento de uma criana. Da mesma forma que quando nasce umlivro, seja por qual mdia ou formato que ele venha, deveramos comemorarcom festa e grande orgulho. Um livro representa uma expresso viva de umconjunto de conhecimentos que se acumularam e que foi compartilhado. Esteconhecimento pode ser um conto, uma histria, um conhecimento tcnico, ouat mesmo um pouco de sabedoria que todos ns aprendemos diariamente.Este livro um reflexo da experincia profissional madura em Teste eQualidade de Software vivida pelo autor, meu amigo Cristiano Caetano.
Quando vemos os altos custos do processo de desenvolvimento subindo cadavez mais e se exigindo nveis de excelncia cada vez maiores, percebe-se quea necessidade em se conhecer ferramentas que tenham custo zero se tornouuma exigncia.
A maioria das empresas usa, ou vo usar ainda, alguma ferramenta OpenSource ou Gratuita. O Linux um exemplo real disto e tem tomado cada vezmais espao. Muitas grandes empresas tm aberto o cdigo de seus produtose optado por ter lucro atravs da venda de servio associado ferramenta,ao invs de "ganhar" puramente com a venda da ferramenta. um modelo
novo de negcio. uma nova viso. algo que veio pra ficar. Voc pode atno gostar e evitar. Pode desconfiar, mas impossvel negar o que est a. uma nova transformao. Concluso: Transforme-se ou voc sertransformado. Ser transformado em um profissional que se "esqueceu" dese atualizar. Infelizmente, no mercado de trabalho, quem se esquece torna-se um esquecido.
Leve este livro para todos os lados e no tenha medo de perguntar aoCristiano, ou de pesquisar nas referncias citadas no livro. Este livro , emessncia, uma ferramenta de apoio para quem deseja usar solues em
Automao e Gerenciamento de Testes de Software.
Quando o Cristiano me convidou em um primeiro instante para prefaciar oseu livro, relutei um pouco, talvez porque queria entender a "alma" do livro.
Afinal sou escritor, e cada livro para mim como um filho. Aceitei, e meorgulho do convite aceito, porque percebi a essncia central deste livro:compartilhar com convico honesta uma grande experincia na rea deTestes e Qualidade de Software. Repito: compartilhar. Disseminar. Dividir. No
5
-
7/30/2019 Automa Teste
6/185
caso aqui: dividir para conquistar a sua transformao no modo de ver comoas solues Open Source podem ser teis no seu trabalho. Este livro comoum afilhado para mim, e como "padrinho" dei sugestes que foramaproveitadas de modo a aproximar voc, caro Leitor, fazendo-o sentir-se emcasa.
Devido a limitaes de tamanho do livro e por algumas questes deinviabilidade tcnica no foi possvel colocar "tudo de tudo" no que se referea automao de testes. A cada dia surgem novas solues, e algumasamadurecem como o caso do Testlink, usado mundialmente e suportado porum grupo forte de usurios, e outras tantas acabam no vingando. Por isso oCristiano colocou as que ele considerou mais usadas ou mais maduras. Maslembre-se: a nica certeza a mudana. Por mais que o livro seja tambmuma "foto", este tambm uma ferramenta madura e extremamente til,tendo um pouco de tudo tal qual um "canivete suo". Essa a proposta doCristiano. Simples, prtica e multiuso.
O livro se divide em grandes reas que vo ajud-lo a tirar o mximo deproveito do conhecimento aqui colocado. Por exemplo, se voc no desejarler o livro de forma seqencial, pode faz-lo indo direto no conhecimento quevoc precisa. O livro tanto servir como livro base como livro de referncia.
Muitos tm medo de compartilhar conhecimento, mas o Cristiano Caetanono teve medo de compartilhar o conhecimento aqui colocado, da mesmaforma que no tive medo em escrever de forma transparente aqui. O maiorconhecimento e aquele que dividido e de preferncia no menor espao de
tempo. O futuro ainda no foi escrito, e cada um escreve o seu. Este livro uma ferramenta para lhe ajudar a escrever de forma positiva o seu futuro narea de Automao de Testes de Software.
Caro Leitor, acredite em voc e no tenha medo. Boa leitura.
Leonardo MolinariConsultor de Qualidade de Software, Palestrante e Autor de diversos livroscomo "Testes de Software", "BTO - Otimizao da Tecnologia do Negcio",
"Gesto de Projetos" e "Gerncia de Configurao".
E-mail: [email protected]: http://diariodaqualidade.blogspot.com/site: http://br.geocities.com/lm7k/testes.html
6
mailto:[email protected]://diariodaqualidade.blogspot.com/http://br.geocities.com/lm7k/testes.htmlhttp://br.geocities.com/lm7k/testes.htmlhttp://diariodaqualidade.blogspot.com/mailto:[email protected] -
7/30/2019 Automa Teste
7/185
Agradecimentos
Eu gostaria de agradecer todas as pessoas que direta ou indiretamente
contriburam para a realizao desta obra. Estou muito grato pelas crticas,conselhos e sugestes dos revisores: Leonardo Molinari, Renan Sucupira,Daniel Cunha, Jos Papo, Cristiane Machado e Sagiane Dvila.
Um obrigado especial para os meus gestores na HP Invent. O apoio,compreenso e aquele empurrozinho especial na hora certa foramessenciais para a finalizao desta obra e de outras realizaes na minha vidapessoal. Sem vocs, esse livro no seria possvel: obrigado.
7
-
7/30/2019 Automa Teste
8/185
Introduo
"If you don't have the right equipment forthe job, you just have to make it yourself"
MacGyverColoque um rdio transistorizado prximo ao processador do computadorem que o teste estiver rodando, sintonize aproximadamente na estao 975
AM e voc poder literalmente escutar o zumbido do processadorfuncionando. Essa tcnica bastante interessante para voc descobrir se o
processador est realmente realizando algum processamento durante algumteste ou se nada est acontecendo. O cenrio descrito no pargrafo anterior,apesar de representar uma situao extrema, um timo exemplo de umtestador altamente eficaz em ao. medida que se queira executar ostestes com maior eficincia, torna-se necessrio estar familiarizado com a
maior gama de ferramentas que possam vir a ajudar a execuo dos testes,simular um componente de hardware ou software que no estiver disponvel,observar o trfego da rede, entre outros cenrios. As situaes so ilimitadas,tudo depende do tipo de aplicao que estiver sendo testada
O trecho apresentado acima parte de um dos meus artigos maisconhecidos: Os 7 hbitos dos Testadores Altamente Eficazes1; e o fiocondutor deste livro. Aps a publicao do artigo Os 7 hbitos dosTestadores Altamente Eficazes a idia de criar um novo artigo apresentandoquais eram as ferramentas que os testadores altamente eficazes
normalmente usam ficou martelando na minha cabea por semanas. Euacabei me envolvendo com outros temas e escrevendo outros artigos at odia em que eu comecei a ler o Guide to the CSTE Common Body ofKnowledge do QAI. Em certo ponto do livro desta certificao de teste desoftware abordado o tema Utilizao de ferramentas. O livro afirma queapesar de no existir uma categorizao amplamente difundida dasferramentas de teste, a experincia tem mostrado elas so normalmenteagrupadas em 8 reas distintas:
1. Ferramentas de automao de testes de regresso;2. Ferramentas para gesto de defeitos;
3. Ferramentas para testes de Performance/Estresse;4. Ferramentas manuais;5. Ferramentas de rastreabilidade;6. Ferramentas de cobertura de cdigo;7. Ferramentas para gesto de testes;8. Ferramentas de apoio execuo dos testes;
1http://www.linhadecodigo.com.br/artigos.asp?id_ac=1083
8
http://www.linhadecodigo.com.br/artigos.asp?id_ac=1083http://www.linhadecodigo.com.br/artigos.asp?id_ac=1083 -
7/30/2019 Automa Teste
9/185
Naquele momento, entre riscos e rabiscos numa folha em branco o artigoganhou forma. Uma das premissas bsicas originais era de que somenteferramentas Open Source2 e gratuitas fariam parte do escopo. Entretanto, oescopo sofreu muitas modificaes ao longo da sua histria. O artigo que iriaabordar apenas ferramentas utilizadas por testadores altamente eficazes,
acabou abraando ferramentas das reas sugeridas pelo Guide to the CSTECommon Body of Knowledge, tais como ferramentas para gesto dedefeitos, gesto de testes, automao de testes de regresso e assim pordiante. Assim que finalizei o primeiro rascunho do MindMap contendo asreas e ferramentas que seriam abordadas no artigo, ficou muito claro queno daria para apresentar tudo o que eu queria apenas num artigo; ficariaexageradamente superficial.
Ento surgiu a idia do livro. Aps uma pequena pesquisa, cheguei aconcluso de que o escopo deveria ser reduzido a fim de evitar que o livrolevasse muito tempo para ser escrito e ficasse muito desatualizado (asferramentas Open Source evoluem numa velocidade fantstica). Dessa formaeu tinha um escopo e um deadline definidos. As primeiras pginas deste livroforam escritas em dezembro de 2006 e, entre semanas extremamenteprodutivas e semanas sem nenhuma pgina escrita, as ltimas pginas foramfinalizadas em julho de 2007 (a ltima linha sendo escrita no ltimo dia, masdentro do prazo previsto).
Mas no pensem que foi fcil. Como voc poder notar mais adiante nocaptulo Ferramentas similares no apresentadas neste livro, o escopooriginal era bastante extenso e interessante. Foi duro ter que remover o
Bugzilla, o XPlanner, o WEBLoad, entre outros do escopo. De qualquer forma,o escopo teve que ser redefinido tendo em mente as ferramentas realmenteessenciais; outro ponto que pesou muito foi a facilidade de uso e o tamanhodas comunidades apoiando e suportando estas ferramentas. Ferramentascom grandes comunidades e liberaes freqentes foram privilegiadas emrelao s outras.
De qualquer forma, tive o cuidado de manter as ferramentas do escopooriginal para que o leitor possa explorar as outras alternativas noapresentadas neste livro. Considere isso, um atalho onde o joio j foiseparado do trigo para voc.
No entanto, por mais abrangente que sejam as categorias e ferramentasapresentadas neste livro, seria ingnuo pensar que ele ofereceria soluesque atendessem a necessidade de todos os leitores. Pensando neste cenrio,fiz uma pesquisa extensa cujo resultado uma lista detalhada com osmaiores e melhores repositrios de ferramentas Open Source do mundo, a
2http://en.wikipedia.org/wiki/Open_source
9
http://en.wikipedia.org/wiki/Open_sourcehttp://en.wikipedia.org/wiki/Open_source -
7/30/2019 Automa Teste
10/185
-
7/30/2019 Automa Teste
11/185
Proposta deste livro
A proposta deste livro apresentar as ferramentas Open Source e gratuitasessenciais para a gesto e automao de testes de software, sem no entanto,
esgotar o assunto. O livro tem o propsito de apresentar um catlogo dasmelhores opes disponveis atualmente e os seus principais recursos. Porm,no faz parte do escopo deste livro, detalhar todos os recursos existentes,todas as possibilidades de configurao ou tornar os leitores especialistas nasferramentas apresentadas.
Dessa forma, o objetivo principal deste livro fornecer informaes esubsdios a fim de que o leitor seja capaz de utilizar os conhecimentosadquiridos para aprofundar-se no assunto e escolher a soluo que melhoratenda a sua necessidade.
Por ltimo, devemos lembrar que este livro no foi escrito para substituir omanual de nenhuma das ferramentas apresentadas. Dvidas especficasdevem ser sanadas por meio dos manuais ou por meio dos fruns dediscusses das comunidades que suportam as ferramentas.
Tambm no faz parte do escopo deste livro apresentar a teoria ou tcnicasde teste de software. O captulo Referncias sobre teste de softwareapresenta uma listagem com os livros nacionais mais importantes daatualidade sobre esse tema.
Este livro ser unicamente comercializado por meio eletrnico (e-book). Estafoi uma deciso pessoal do autor para viabilizar a venda do livro por umpreo justo a fim de permitir que todas as pessoas interessadas possamcompr-lo. Tambm foi deciso do autor no utilizar nenhum tipo demecanismo de segurana ou senha neste livro com base na premissa de queo livro tem um preo justo e que qualquer um pode pagar por ele.
com base nessa relao de confiana que voc est neste momento lendoestas linhas por um preo justo. Mas, no entanto, se por algum motivo estelivro est sendo til para voc, mas voc no pagou por ele, peo que vocprestigie o autor e compre o livro no endereo abaixo para que o autor possa
escrever outros livros com preos acessveis tanto para voc quanto paraoutras pessoas interessadas em teste de software:
http://www.linhadecodigo.com/EBook.aspx?id=2951
11
http://shop.linhadecodigo.com.br/http://shop.linhadecodigo.com.br/ -
7/30/2019 Automa Teste
12/185
Consideraes iniciais
Desenvolver software de qualidade no mais um requinte para poucos,transformou-se num fator de competitividade num mercado cada vez mais
exigente. O filsofo Nietzsche, no sculo passado, alertava: "Com o aumentoda competio, a qualidade se torna mera propaganda. Vence aquele quemelhor engana".
Essa receita muito simples e fcil de seguir, todavia, quem tomar esse tipode postura estar fadado ao fracasso. Nos dias de hoje, a qualidade tornou-se requisito imprescindvel para garantir a sobrevida de um software nomercado.
Podemos concluir que as empresas mais competitivas so as empresas quetrabalham sob a tica da melhoria contnua dos processos para aumentar aqualidade do processo de desenvolvimento e, conseqentemente, aumentara qualidade do produto final.
Neste contexto, devemos destacar adoo crescente de ferramentas para darsuporte ao processo de melhoria contnua. Estas ferramentas servem paradar suporte a todas as atividades relacionadas ao ciclo de vida dedesenvolvimento de software: da concepo implantao.
Como mencionamos anteriormente, a proposta deste livro apresentar asferramentas Open Source e gratuitas essenciais para a gesto e automao
de testes de software. Dessa forma, a figura abaixo apresenta a relevnciade cada tipo de ferramenta apresentada neste livro em relao s fases deum ciclo de vida de desenvolvimento de software:
12
-
7/30/2019 Automa Teste
13/185
Neste livro sero apresentadas e sugeridas diversas ferramentas Open Sourcee gratuitas. Para o autor, considerado Open Source Software 3 (OSS) todo equalquer software que permita simultaneamente:
A sua utilizao para qualquer fim e sem restries;
A distribuio de cpias sem restries; O acesso ao seu cdigo fonte e o estudo do seu funcionamento; A sua adaptao s necessidades de cada um; A possibilidade de disponibilizar a terceiros quaisquer alteraes
introduzidas;
Est fora do escopo deste livro, comparar e debater as vantagens dautilizao de ferramentas Open Source em relao a ferramentas comerciais4.No entanto, devemos destacar que a principal vantagem na adoo deferramentas Open Source a economia na aquisio de licenas, uma vezque estas ferramentas so distribudas gratuitamente. Por outro lado, existe ocusto de formao, suporte e manuteno. Neste caso, cada organizaodeve utilizar os seus prprios critrios para calcular o ROI (Return ofInvestment) e o TCO (Total Cost of Ownership) na ocasio da adoo de umaferramenta Open Source.
3http://www.opensource.org/4http://cio.uol.com.br/estrategias/2005/08/22/idgnoticia.2005-08-22.4315880495
13
http://www.opensource.org/http://cio.uol.com.br/estrategias/2005/08/22/idgnoticia.2005-08-22.4315880495http://cio.uol.com.br/estrategias/2005/08/22/idgnoticia.2005-08-22.4315880495http://www.opensource.org/ -
7/30/2019 Automa Teste
14/185
Captulo 1 Gesto de defeitos
A gesto de defeitos uma das atividades primordiais de um processo deteste de software. Por meio da gesto de defeitos podemos acompanhar a
qualidade do software em teste com base nos defeitos cadastrados pelostestadores ao longo de um ciclo de teste. Com base nesses dados, podemosidentificar reas problemticas da aplicao onde os riscos so maiores eplanejar atividades preventivas.
A gesto de defeitos pode ser implementada por meio de ferramentasautomatizadas (bug tracking system). Estas ferramentas devem oferecer umrepositrio central e padronizado onde todos os membros do time poderocadastrar os defeitos, acompanhar o ciclo de vida destes defeitos e emitirrelatrios de gesto.
Na figura abaixo, voc poder visualizar os principais passos de um processode gesto de defeitos formal e os papis associados:
Na tabela abaixo voc poder ver a ferramenta que ser apresentada nasprximas sees:
Mantis
http://www.mantisbt.org/
14
http://www.mantisbt.org/http://www.mantisbt.org/ -
7/30/2019 Automa Teste
15/185
Mantis
O Mantis5 uma ferramenta Open Source cujo principal objetivo registrar eacompanhar os bugs encontrados em um projeto, desde o seu nascimentoat o seu fechamento. Neste cenrio, o ciclo de vida gerenciado pelo Mantisinicia-se quando um bug registrado; as fases seguintes so empregadaspara a confirmao, correo, reviso e o fechamento do bug. Cada bugrecebe um nmero seqencial nico a fim de identific-lo durante asoperaes de consulta, relatrios e modificaes. Por outro lado, diversasinformaes so agregadas ao bug durante as fases que compem o seuciclo de vida, como por exemplo, status, prioridade, severidade, comentrios,anexos, etc.
Entre as diversas funcionalidades oferecidas pelo Mantis, devemos destacaras seguintes:
Pode ser executado em qualquer plataforma que suportar PHP/Apache(Windows, Linux, Mac, Solaris, AS400/i5, etc);
Suporta vrios bancos de dados (MySQL, MS SQL, PostgreSQL); Suporta mltiplos mecanismos de autenticao (Interna, LDAP, HTTP
Basic, Active Directory); Traduzido em 68 lnguas diferentes (incluindo "portuguese_brazil"); Criao ilimitada de projetos e relatos de defeitos; Controle de acesso e nveis de permisses para os usurios; Ciclo de vida dos defeitos (worflow) personalizvel; Gerador interno de relatrios e grficos (possibilidade para exportar os
dados nos formatos CSV, Excel e Word); Mecanismo para a criao de campos personalizveis (custom fields); Notificaes por email automticas ou por meio de RSS Feeds; Integrao com ferramentas de controle de verses (Subversion e
CVS); Interface Webservice (SOAP) para integrao com outras ferramentas; MantisWAP Suporte a dispositivos mveis (funcionalidade paga);
5http://www.mantisbt.org/ (os exemplos deste livro so apresentados com a verso 1.0.5)
15
http://www.mantisbt.org/http://www.mantisbt.org/ -
7/30/2019 Automa Teste
16/185
Instalando e configurando
Para instalar o Mantis, voc dever seguir os seguintes passos (a ttulo deexemplo estamos sugerindo a utilizao do XAMMP a fim de satisfazer ossoftwares requeridos para a utilizao do Mantis (Apache, MySQL, PHP)).
1. Faa o download do XAMMP6.2. Instale e inicialize o XAMMP conforme a orientao do manual ou
descompacte o arquivo zip em alguma pasta no seu computador.3. Aps instalado, configure um password para o usurio root do Mysql
usando um dos mtodos sugeridos no site do XAMMP7.4. Faa o download do Mantis.5. Descompacte o arquivo zip na pasta htdocs do XAMMP (ex: c:\xampp-
win32-1.6.2\xampp\htdocs\mantis_1.0.5).6. Abra o seu navegador e acesse o seguinte endereo:
(http://localhost/mantis_1.0.5/).7. Na janela Pre-Installation Check, preencha os campos username com'root' e o campo password com a senha configurada no passo 3.
8. Deixe os valores default nos demais campos.9. Pressione o boto Install/Upgrade Database.10. Abra o seu navegador e acesse o seguinte endereo:
(http://localhost/mantis_1.0.5/login_page.php).11. Faa o login com o usurio padro (administrator/root). Lembre-se de
mudar a senha deste usurio.
Caso voc prefira utilizar esta ferramenta com todos os textos traduzidos
para a lngua portuguesa, ento siga os passos descritos abaixo:
1. Faa o login normalmente com o seu usurio e senha.2. Clique no menu My Account e ento selecione a opo
Preferences.3. No campo Language selecione a opo "portuguese_brazil".4. Pressione o boto "Update Prefs".
6http://www.apachefriends.org/en/xampp.html7http://www.apachefriends.org/pt_br/faq-xampp-windows.html
16
http://www.apachefriends.org/en/xampp.htmlhttp://www.apachefriends.org/pt_br/faq-xampp-windows.htmlhttp://www.apachefriends.org/pt_br/faq-xampp-windows.htmlhttp://www.apachefriends.org/en/xampp.html -
7/30/2019 Automa Teste
17/185
Criando um novo projeto
To logo o Mantis seja instalado e configurado, a sua primeira ao deverser cadastrar um novo projeto para que seja possvel cadastrar bugs e utilizaras demais funcionalidades. Para tal tarefa, voc dever clicar no menu
Manage e ento selecionar a opo Manage Projects. A pgina AddProject dever ser exibida, conforme o exemplo apresentado na Figura 1.
Figura 1: Criando um novo projeto no Mantis
Nesta pgina voc poder fornecer diversas informaes sobre o projeto,como por exemplo: o Nome do projeto, Status, Descrio do projeto entreoutras informaes. Uma vez que o projeto for cadastrado, voc poderselecion-lo na lista de projetos existentes e inserir informaes adicionais,tais como: SubProjetos, Categorias, Verses, Campos Personalizados,
17
-
7/30/2019 Automa Teste
18/185
Usurios do projeto, entre outras informaes conforme o exemploapresentado na Figura 2.
Figura 2: Configurando um projeto no Mantis
18
-
7/30/2019 Automa Teste
19/185
Registrando e modificando um bug
Para registrar (cadastrar) um bug no Mantis, voc dever clicar no menuReport Issue. A pgina Enter Report Details dever ser exibida, comopode ser visto na Figura 3. Nesta pgina voc dever preencher os campos
de acordo com o comportamento do bug encontrado. Se for necessrio vocpoder anexar alguma imagem ou arquivo para auxiliar o entendimento eevidenciar a existncia do bug. O Mantis oferece tambm a opo de registrode bugs por meio de uma pgina avanada Advanced Report. A pgina
Advanced Report exibe novos campos de preenchimento. Esta pgina usada normalmente por usurios mais experientes que conseguem fornecermais detalhes sobre o bug encontrado.
Figura 3: Registrando um bug no Mantis
Se for necessrio voc poder ver a lista dos bugs existentes. Para tal tarefa,voc dever clicar no menu View Issues. A pgina Viewing Issues deverser exibida, como pode ser visto na Figura 4. Esta pgina, por default, listatodos os bugs abertos. No entanto, voc poder configurar filtros especficos
19
-
7/30/2019 Automa Teste
20/185
conforme a sua necessidade com base nos campos de filtragem exibidos naparte superior desta pgina. O Mantis tambm permite que voc salve o filtropara posterior utilizao.
Figura 4: Visualizando os bugs abertos
importante ressaltar que os bugs listados so apresentados em diferentescores. Cada cor significa o status do bug conforme a legenda apresentada naparte inferior desta pgina (Figura 4) Voc poder clicar sobre qualquer bugda lista a fim de abrir a pgina Viewing Issue e modificar qualquerinformao relacionada ao bug, como pode se visto no exemplo apresentadona Figura 5.
20
-
7/30/2019 Automa Teste
21/185
Figura 5: Modificando um bug
Uma vez dentro desta pgina, alm de modificar as informaes do bug, vocpoder criar uma associao de relacionamento com outros bugs (relacionadoa, filho de, pai de, etc) e tambm poder selecionar a opo para monitorar obug e receber um e-mail sempre que alguma informao for modificada.
21
-
7/30/2019 Automa Teste
22/185
Meus Bugs
O Mantis oferece uma pgina onde voc poder visualizar de forma resumidae consolidada todos os bugs. Para visualizar esta pgina, voc dever clicarno menu My View. Basicamente, esta pgina exibe os bugs registrados,
atribudos e monitorados por voc. Alm dessas informaes, voc podertambm visualizar os bugs recentemente modificados, bugs que no foramatribudos e assim por diante, como pode visto no exemplo apresentado naFigura 6. De qualquer maneira, caso seja necessrio, voc poder modificaros filtros default usados para exibir as informaes nesta pgina por meio dolink [^] existente em cada seo.
Figura 6: Meus bugs
22
-
7/30/2019 Automa Teste
23/185
Sumrio dos bugs
O Mantis oferece uma pgina onde voc poder visualizar o sumrio de todosos bugs registrados. Para tal tarefa, voc dever clicar no menu Summary.Nesta pgina, voc poder visualizar o sumrio dos bugs, gerar relatrios e
grficos com estatsticas, como pode ser visto no exemplo apresentado naFigura 7.
Figura 7: Sumrio dos bugs
23
-
7/30/2019 Automa Teste
24/185
News
O Mantis tambm oferece uma funcionalidade para a divulgao de notciasNews. Por meio desta funcionalidade, voc poder registrar qualquernovidade ou aviso aos demais usurios do Mantis. Para tal tarefa, voc
dever clicar no menu News. A pgina Add News dever ser exibida,como pode ser visto na Figura 8. A notcia registrada poder ser vista napgina principal do Mantis.
Figura 8: Registrando novidades e avisos
24
-
7/30/2019 Automa Teste
25/185
Change Log
Por meio do Change Log, voc poder ver todas as correes associadas aum determinado release (verso). Para visualizar o Change Log, voc deverclicar no menu Change Log, como pode ser visto no exemplo apresentado
na Figura 9.
Figura 9: Change Log
Documentao do projeto
Outra funcionalidade interessante a possibilidade de adicionar adocumentao do projeto no Mantis. Para realizar tal tarefa, voc deverclicar no menu Docs e fazer o upload dos documentos, como pode ser vistono exemplo apresentado na Figura 10.
Figura 10: Documentao do projeto
25
-
7/30/2019 Automa Teste
26/185
Configurao do Mantis
O Mantis oferece uma srie de pginas de configuraes que voc poderutilizar para realizar customizaes a fim de atender as suas necessidades.Para tal tarefa, voc dever clicar no menu Manage. Basicamente, esta
pgina exibe as diversas reas que voc poder realizar algum tipo decustomizao tais como: criao de campos personalizados, gesto deusurios, configurao de workflows, notificao por email, entre outros(como pode ser observado no exemplo apresentado na Figura 11).
Figura 11: Configurando o Mantis
26
-
7/30/2019 Automa Teste
27/185
Captulo 2 Gesto de testes
A gesto de testes o corao de um processo de teste de software. Agesto de testes importante para o planejamento e controle das atividades
de um projeto de teste.
A gesto de testes pode ser implementada por meio de ferramentasautomatizadas (test management system). Estas ferramentas devem oferecerum repositrio central e padronizado onde os lderes de testes podero criarsuites com casos de testes, atribuir os casos de testes aos testadores,acompanhar o status da execuo dos testes e emitir os relatrios commtricas e estatsticas.
Na figura abaixo, voc poder visualizar os principais passos de um processode gesto de testes formal e os papis associados:
Na tabela abaixo voc poder ver a ferramenta que ser apresentada nasprximas sees:
TestLink
http://www.teamst.org/
27
http://www.teamst.org/http://www.teamst.org/ -
7/30/2019 Automa Teste
28/185
TestLink
O TestLink8 uma aplicao Open Source cujo principal objetivo gerenciaras atividades de testes de um projeto. Por meio do TestLink voc poder criarTest Cases e organiz-los em Test Suites.
Voc tambm poder associar um conjunto de Test Cases a um testador eacompanhar os resultados da execuo dos testes, assim como, gerarrelatrios com diversas mtricas para o acompanhamento da execuo dostestes.
O TestLink oferece um recurso para que voc possa registrar e organizar osrequisitos do projeto, assim como, associar os Test Cases aos requisitos.Dessa forma, voc poder garantir o rastreamento entre os requisitos e osTest Cases por meio de uma matriz de rastreabilidade.
Adicionalmente, o TestLink permite a integrao com Mantis. Por meio dessaintegrao, quando um Test Case falhar, voc conseguir associar os bugscadastrados no Mantis a este Test Case.
Entre as diversas funcionalidades oferecidas pelo TestLink, devemos destacaras seguintes:
Pode ser executado em qualquer plataforma que suportarPHP/Apache/Mysql (Windows, Linux, Mac, Solaris, AS400/i5, etc);
Traduzido em vrias lnguas diferentes (incluindo "Brazil Portuguese"); Controle de acesso e nveis de permisses por papis (Lder, Testador,
etc); Os casos de testes so organizados hierarquicamente em sutes; Os casos de testes podem ser classificados por palavras-chave
"keyword" para facilitar a pesquisa e organizao; Criao ilimitada de projetos e casos de testes; Os ciclos de testes podem ser priorizados e atribudos aos testadores; Gerador interno de relatrios e grficos (possibilidade para exportar os
dados nos formatos CSV, Excel e Word); Integrao com ferramentas de gesto de defeitos (Bugzilla, Mantis,
Jira);
8http://www.teamst.org/ (os exemplos deste livro so apresentados com a verso 1.6.2)
28
http://www.teamst.org/http://www.teamst.org/ -
7/30/2019 Automa Teste
29/185
Instalando e configurando
Para instalar o TestLink, voc dever seguir os seguintes passos (a ttulo deexemplo estamos sugerindo a utilizao do XAMMP a fim de satisfazer ossoftwares requeridos para a utilizao do TestLink (Apache, MySQL, PHP)).
1. Faa o download do XAMMP9.2. Instale e inicialize o XAMMP conforme a orientao do manual ou
descompacte o arquivo zip em alguma pasta no seu computador.3. Aps instalado, configure um password para o usurio root do Mysql
usando um dos mtodos sugeridos no site do XAMMP10.4. Faa o download do TestLink.5. Descompacte o arquivo zip na pasta htdocs do XAMMP (ex: c:\xampp-
win32-1.6.2\xampp\htdocs\testlink-1.6.2).6. Abra o seu navegador e acesse o seguinte endereo: (http://localhost/
testlink-1.6.2/install/index.php).7. Na janela de instalao, selecione a opo New installation.8. Na janela TestLink Setup, preencha os campos login com 'root' e o
campo password com a senha configurada no passo 3.9. Deixe os valores default nos demais campos.10. Pressione o boto Setup TestLink.11. Abra o seu navegador e acesse o seguinte endereo:
(http://localhost/testlink-1.6.2/login.php).12. Faa o login com o usurio padro (admin/admin). Lembre-se de
mudar a senha deste usurio.
Caso voc prefira utilizar esta ferramenta com todos os textos traduzidospara a lngua portuguesa, ento siga os passos descritos abaixo:
1. Faa o login normalmente com o seu usurio e senha.2. Clique no menu Personal.3. No campo Locale selecione a opo "Portuguese (Brazil)".4. Pressione o Boto "Update".
9http://www.apachefriends.org/en/xampp.html10http://www.apachefriends.org/pt_br/faq-xampp-windows.html
29
http://www.apachefriends.org/en/xampp.htmlhttp://www.apachefriends.org/pt_br/faq-xampp-windows.htmlhttp://www.apachefriends.org/pt_br/faq-xampp-windows.htmlhttp://www.apachefriends.org/en/xampp.html -
7/30/2019 Automa Teste
30/185
Criando um novo projeto
Assim que o TestLink for instalado e configurado, a sua primeira ao deverser criar um novo produto (projeto). Para tal tarefa, voc dever ir para aseo Product Management e ento clicar no menu Create New Products.
A pgina Product Management dever ser exibida, conforme o exemploapresentado na Figura 12.
Figura 12: Criando um novo projeto no TestLInk
importante ressaltar que durante a criao do projeto, voc poderdesabilitar o recurso de gerenciamento de requisitos oferecido pelo TestLink,caso voc utilize alguma outra ferramenta para este fim. Alm disso, vocpoder associar uma cor ao projeto criado. Dessa forma, o fundo das pginassempre sero da mesma cor que foi associada ao projeto neste passo.
30
-
7/30/2019 Automa Teste
31/185
Adicionando requisitos
Assim que o projeto for criado, o prximo passo a criao dos requisitos(caso voc tenha habilitado o recurso de gerenciamento de requisitos).Primeiro, voc dever adicionar uma Especificao de Requisito. Para realizar
tal tarefa, v para a seo Requirements e ento clique no menuRequirement Specification. A pgina Requirement Specification dever serexibida, conforme o exemplo apresentado na Figura 13. importanteressaltar que segundo a organizao do TestLink, cada requisito deve serassociado a uma Especificao de Requisito, que representa a grosso modoum agrupador de requisitos semelhantes (algo como uma sute ou seo derequisitos), como pode ser visto no modelo apresentado na Figura 14.
Figura 13: Adicionando uma especificao de requisito
31
-
7/30/2019 Automa Teste
32/185
Figura 14: Relacionamento entre os componentes do TestLink
To logo a Especificao de Requisito seja criada, voc dever clicar sobreela. A pgina Edit Requirement Specification dever ser exibida, conforme oexemplo apresentado na Figura 15.
Figura 15: Edio das especificaes de requisitos
32
-
7/30/2019 Automa Teste
33/185
Nesta pgina voc poder importar os requisitos por meio de um arquivoexterno (*.CSV) ou adicionar o requisito manualmente. Observe ainda que,nesta pgina voc poder tambm visualizar a lista de requisitos existentes,assim como, gerar um relatrio (por meio do boto Analyze) que demonstraum sumrio dos requisitos cobertos e os no cobertos por testes.
Para adicionar um requisito manualmente, voc dever clicar no botoCreate New REQ. A pgina Create a new Requirement dever ser exibida,conforme o exemplo apresentado na Figura 16. Convm lembrar, alis, quedurante a criao do requisito, voc poder identificar no campo Status seo requisito testvel ou no.
Figura 16: Criando um novo requisito
33
-
7/30/2019 Automa Teste
34/185
Adicionando test cases
Assumindo que os requisitos j foram criados, o prximo passo deve ser acriao dos Test Cases. Em primeiro lugar, no entanto, voc dever criar umaEspecificao de Teste. Para tal tarefa, clique no menu Specification. A
pgina Test Specification dever ser exibida, conforme o exemploapresentado na Figura 17. Nesta pgina clique no boto New Componentpara criar um novo componente.
Figura 17: Criando um novo Componente
De forma similar aos requisitos, a Especificao de Teste dever obedecer auma organizao hierrquica definida pelo TestLink. Nessa condio, segundoa hierarquia do TestLink, cada Especificao de Teste composta por um oumais Componentes, que por sua vez pode ter uma ou mais Categorias. CadaCategoria agrupa um ou mais Test Cases, como pode ser visto no modeloapresentado na Figura 18.
34
-
7/30/2019 Automa Teste
35/185
Figura 18: Elementos de uma Configurao de Teste
Uma vez que o Componente for criado, voc dever selecion-lo na lista doscomponentes disponveis e clicar no boto New Category. A pgina CreateCategory dever ser exibida, conforme o exemplo apresentado na Figura 19.
Figura 19: Criando uma nova Categoria
35
-
7/30/2019 Automa Teste
36/185
Finalmente, uma vez que a Categoria for criada, voc dever selecion-la nalista de categorias a fim de criar um novo Test Case. Nesta pgina vocpoder importar os Test Cases por meio de um arquivo externo (*.CSV) oucriar o Test Case manualmente. Para tal tarefa, voc dever clicar no boto
Create Test Cases. A pgina Create Test Case dever ser exibida,
conforme o exemplo apresentado na Figura 20.
Figura 20: Criando um novo Test Case
36
-
7/30/2019 Automa Teste
37/185
O TestLink tambm permite a impresso dos Test Cases de uma Categoria ouComponente. Para realizar tal tarefa, voc dever ir para a seo TestSpecification e ento clicar no menu Print Test Cases. A pgina Print TestCase Specification dever ser exibida, conforme o exemplo apresentado naFigura 21. Nesta pgina voc dever selecionar a Categoria ou Componente
que voc deseja imprimir e configurar as opes de impresso na seoPrint Options.
Figura 21: Imprimindo Test Cases
37
-
7/30/2019 Automa Teste
38/185
Associando test cases aos requisitos
Conforme discutido anteriormente, o TestLink permite que voc possaassociar os Test Cases aos requisitos. Dessa forma, voc poder garantir orastreamento entre os requisitos e os Test Cases por meio de uma matriz de
rastreabilidade. Para realizar tal tarefa, voc dever ir para a seoRequirements e ento clicar no menu Assign Requirements. A pginaAssign Requirements to Test Case dever ser exibida, conforme o exemploapresentado na Figura 22. Nesta pgina voc dever selecionar o Test Casedesejado, depois selecionar os requisitos disponveis e, por ltimo, associar oTest Case aos requisitos (por meio do boto Assign).
Figura 22: Associando test cases aos requisitos
38
-
7/30/2019 Automa Teste
39/185
Associando keywords aos test cases
O TestLink permite que uma keyword (palavra-chave) seja associada aosTest Cases. As keywords facilitam a realizao de pesquisas ou filtros dosTest Cases disponveis. Para criar uma Keyword, voc dever ir para a seo
Keywords e ento clicar no menu Create Keywords. A pgina Enter NewKeyword dever ser exibida, conforme o exemplo apresentado na Figura 23.
Figura 23: Criando keywords
To logo as keywords sejam criadas, voc poder associa-las aos Test Cases.Para realizar tal tarefa, voc dever ir para a seo Keywords e ento clicarno menu Assign Keywords. Uma vez dentro desta pgina, voc dever
selecionar o Test Case desejado. A pgina Assign Keywords dever serexibida, conforme o exemplo apresentado na Figura 24. Nesta pgina vocdever selecionar a keyword desejada e, por ltimo, associa-la ao Test Case(por meio do boto Assign).
39
-
7/30/2019 Automa Teste
40/185
Figura 24: Associando keywords
40
-
7/30/2019 Automa Teste
41/185
Criando test suites
Voc poder criar Test Suites para agrupar os Test Cases por similaridade.Para criar uma Test Suite, voc dever ir para a seo Test SuiteManagement e ento clicar no menu Create Test Suite. A pgina New
Test Suite dever ser exibida, conforme o exemplo apresentado na Figura25. Voc poder criar uma Test Suite baseada em outra j existente. Almdisso, durante a criao da Test Suite voc dever informar se desejacontrolar a permisso de acesso (dessa forma, voc poder determinar quaisusurios podem visualizar e executar os testes desta Test Suite).
Figura 25: Criando test suites
Uma vez que a primeira Test Suite for criada, um novo conjunto de menus eopes ser exibido na rea esquerda da pgina principal do TestLink. Amaioria dessas novas opes serve para o gerenciamento da Test Suite,execuo dos Test Cases e gerao de relatrios, como pode ser visto noexemplo apresentado na Figura 26. preciso lembrar que voc deveselecionar a Test Suite (seta vermelha da Figura 26) antes de comear arealizar qualquer operao para evitar modificaes na Test Suite errada.
41
-
7/30/2019 Automa Teste
42/185
Figura 26: Gerenciamento das Test Suites
Por ltimo, voc dever associar os Test Cases a Test Suite recm criada.Para tal tarefa, voc dever selecionar a Test Suite desejada, conformeorientado no pargrafo anterior. Em seguida, v para a seo Test CaseSuite e ento clique no menu Add Test Cases. A pgina Add Test Cases tothe Test Suite dever ser exibida, conforme o exemplo apresentado naFigura 27.
42
-
7/30/2019 Automa Teste
43/185
Figura 27: Associando Test Cases a Test Suite
Nesta pgina voc dever selecionar o Test Case desejado (com base noComponente ou Categoria selecionada) e associar ao Test Suite por meio doboto Add selected Test Cases. importante lembrar que voc poderutilizar as keywords para filtrar os Test Cases conforme a sua necessidade.
43
-
7/30/2019 Automa Teste
44/185
Associando nveis de prioridade a test suite
Voc tambm poder associar nveis de prioridade, nveis de risco e um donopara a Test Suite. Para tal tarefa, voc dever ir para a seo Test CaseSuite e ento clicar no menu Assign Risk and Ownership. A pgina Assign
Ownership dever ser exibida, conforme a Figura 28.
Figura 28: Associando riscos ao Test Suite
Associando usurios ao test suiteVoc poder associar e realizar o controle de permisses de usurios nosTest Suites existentes. Para tal tarefa, voc dever ir para a seo Test SuiteManagement e ento clicar no menu Define User / Test Suite Rights. Apgina Assign Ownership dever ser exibida, conforme a Figura 29.
Figura 29: Associando usurios ao Test Suite
44
-
7/30/2019 Automa Teste
45/185
Criando builds e milestones
medida que se queira executar os Test Cases de um Test Suite voc devercriar um Build. Um Build identifica uma verso ou liberao do software queser testado. Toda execuo dos Test Cases deve ser associada a um Build.
Para criar um Build, voc dever ir para a seo Test Suite Management eento clicar no menu Build Management. A pgina Create build for TestSuite dever ser exibida, conforme a Figura 30.
Figura 30: Criando um Build
Convm lembrar, alis, que voc poder criar Milestones a fim de definirmarcos no tempo do seu projeto. Um Milestone define critrios mnimos quedevem ser atingidos baseado nos nveis de prioridades associados aos TestSuites. Para criar um Milestone, voc dever ir para a seo Test SuiteManagement e ento clicar no menu Edit / Delete Milestones.
45
-
7/30/2019 Automa Teste
46/185
Executando os Test Cases
Uma vez que os Test Suites e os Builds tenham sido criados, voc poderexecutar os Test Cases existentes. Para tal tarefa, voc dever ir para aseo Test Execution e ento clicar no menu Execute Tests. A pgina
Test Results dever ser exibida, conforme a Figura 31.
Figura 31: Executando os Test Cases
Nesta pgina, o testador poder selecionar os Test Cases com base nos TestSuites existentes ou por meio de filtros criados no menu Navigation Filter &Settings (rea esquerda desta pgina).
Aps a execuo do Test Case, o testador dever definir o resultado daexecuo (Not run, Pass, Failed ou Blocked) e algum comentrio caso sejanecessrio. importante lembrar que as mtricas e relatrios so gerados apartir dos dados informados pelos testadores durante a execuo dos TestCases.
Adicionalmente, o TestLink oferece uma configurao especial que permite aintegrao com Mantis (e outras ferramentas de gesto de defeitos). Essa
46
-
7/30/2019 Automa Teste
47/185
configurao dever ser realizada manualmente, conforme descrito nomanual do TestLink11. Dessa forma, voc poder registrar um bug no Mantise associar este bug ao Test Case que falhou no TestLink, como pode ser vistono exemplo apresentado na Figura 32.
Figura 32: Associando bugs aos test cases
Por fim, para gerar os relatrios com as mtricas de execuo dos testes,voc dever ir para a seo Test Execution e ento clicar no menu Testreports and Metrics. A pgina Overview of available Test Reports andMetrics dever ser exibida. Nesta pgina voc poder gerar mtricas ourelatrios de acordo com o Build selecionado. Os diversos relatriosexistentes agrupam as informaes por Build, Test Suite, Componente,Keyword, Milestone, Prioridade e at mesmo por Requisito, como pode serobservado na Figura 33.
11http://testlink.org/mantis/file_download.php?file_id=72&type=bug
47
http://testlink.org/mantis/file_download.php?file_id=72&type=bughttp://testlink.org/mantis/file_download.php?file_id=72&type=bug -
7/30/2019 Automa Teste
48/185
Figura 33: Mtricas e relatrios gerados pelo TestLink
48
-
7/30/2019 Automa Teste
49/185
Captulo 3 Gesto de projetos
A gesto de projetos, assim como a gesto de testes, faz parte do corao deum processo de teste (e desenvolvimento) de software. Por meio da gesto
de projetos, as atividades do projeto so planejadas, organizadas econtroladas num nvel mais macro. A gesto de projetos define e acompanhaas fases e os principais marcos de um projeto, assim como, os recursoshumanos e o esforo necessrio para atingir os objetivos do projeto.
A gesto de projetos pode ser implementada por meio de ferramentasautomatizadas (project management system). Essas ferramentas, alm deviabilizar a gesto de projetos, tambm oferecem diversas facilidades, comopor exemplo: repositrios de arquivos, agendas e calendrios compartilhados,wikis, entre outros. Na figura abaixo, voc poder visualizar a seqnciatpica de fases no ciclo de vida de um projeto, conforme descrito no
Conjunto de Conhecimentos em Gerenciamento de projetos (PMBOK):
Na tabela abaixo voc poder ver a ferramenta que ser apresentada nasprximas sees:
php-collab
http://www.php-collab.org
49
http://www.php-collab.org/http://www.php-collab.org/ -
7/30/2019 Automa Teste
50/185
php-collab
O php-Collab12 uma aplicao Open Source cujo principal objetivo gerenciar projetos e facilitar a colaborao entre os membros de um time. Ophp-Collab oferece um recurso onde o projeto pode ser gerenciado sob oponto de vista do time do projeto (gerenciando e exibindo todas asinformaes especficas do projeto) ou do cliente (oferecendo apenasinformaes relevantes ao cliente e dados para o acompanhamento dasatividades). Entre as diversas funcionalidades oferecidas pelo php-collab,devemos destacar as seguintes:
Pode ser executado em qualquer plataforma que suportarPHP/Apache/Mysql (Windows, Linux, Mac, Solaris, AS400/i5, etc);
Permite a criao de duas vises do projeto: viso do time e viso docliente;
Criao ilimitada de projetos e tarefas; Gerador interno de relatrios e grficos (possibilidade para exportar os
dados nos formatos CSV, Excel e Word); Controle de acesso e nveis de permisses por usurio; Organizao do projeto por meio de fases, tarefas e sub-tarefas; Integrao com o Mantis (ferramenta de gesto de defeitos); Gerenciador integrado de requisies de suporte tcnico; Calendrios e Bookmarks compartilhados; Gerenciador de listas de discusses; Versionamento de artefatos;
12http://www.php-collab.org (os exemplos deste livro so apresentados com a verso 2.5)
50
http://www.php-collab.org/http://www.php-collab.org/ -
7/30/2019 Automa Teste
51/185
Instalando e configurando
Para instalar o php-collab, voc dever seguir os seguintes passos (a ttulo deexemplo estamos sugerindo a utilizao do XAMMP a fim de satisfazer ossoftwares requeridos para a utilizao do php-collab (Apache, MySQL, PHP)).
1. Faa o download do XAMMP13.2. Instale e inicialize o XAMMP conforme a orientao do manual ou
descompacte o arquivo zip em alguma pasta no seu computador.3. Aps instalado, configure um password para o usurio root do Mysql
usando um dos mtodos sugeridos no site do XAMMP14.4. Crie um database no Mysql por meio do phpMyAdmin integrado no
XAMMP (http://localhost/phpmyadmin/).5. Faa o download do php-Collab.6. Descompacte o arquivo zip na pasta htdocs do XAMMP (ex: c:\xampp-
win32-1.6.2\xampp\htdocs\phpcollab-2.5).7. Abra o seu navegador e acesse o seguinte endereo:(http://localhost/phpcollab-2.5/installation/setup.php).
8. Na janela de instalao, selecione a opo Offline installation(firewall/intranet, no update checker).
9. Na janela Settings, preencha o campo database com o nome dodatabase criado no passo 4. Preencha os campos login com 'root' e ocampo password com a senha configurada no passo 3. Preencha ocampo Admin Password com o password que voc quiser atribuir aoadministrador.
10. Deixe os valores default nos demais campos e pressione o boto Save.
11. Abra o seu navegador e acesse o seguinte endereo:(http://localhost/phpcollab-2.5/).
12. Faa o login com o usurio padro (admin/a senha definida no passo9).
Caso voc prefira utilizar esta ferramenta com todos os textos traduzidospara a lngua portuguesa, ento siga os passos descritos abaixo:
1. Abra a janela de login do php-collab.2. No campo Language selecione a opo "Brazilian Portuguese".
3. Faa o login normalmente com o seu usurio e senha.
13http://www.apachefriends.org/en/xampp.html14http://www.apachefriends.org/pt_br/faq-xampp-windows.html
51
http://www.apachefriends.org/en/xampp.htmlhttp://www.apachefriends.org/pt_br/faq-xampp-windows.htmlhttp://www.apachefriends.org/pt_br/faq-xampp-windows.htmlhttp://www.apachefriends.org/en/xampp.html -
7/30/2019 Automa Teste
52/185
Criando um novo projeto
To logo o php-collab for instalado e configurado, a sua primeira ao dever
ser criar um novo projeto. Para tal tarefa, voc dever realizar o login eentrar na pgina principal do php-collab. Esta pgina exibe todos os projetos,tarefas, discusses e notas que estiverem associadas ao seu usurio, comopode ser visto na Figura 34.
Figura 34: Pgina principal do php-collab
52
-
7/30/2019 Automa Teste
53/185
Uma vez dentro da pgina principal, voc poder criar um novo projeto pormeio do cone Add do menu Projects. Durante a criao do projeto, vocdever informar o nome do projeto, prioridade, status, entre outrasinformaes, como pode ser observado na Figura 35. O campo EnablePhases habilita a organizao do projeto em fases. Dessa forma, cada tarefa
cadastrada dever ser associada a uma fase distinta do projeto. O campoClient Organization habilita a criao e publicao de Websites para ocliente, como veremos mais adiante.
Figura 35: Criando um novo projeto
Assim que o projeto for criado, voc ser remetido automaticamente para apgina de visualizao e alterao dos dados do projeto. Nesta pgina, vocpoder ver as fases associadas ao projeto, o status de cada fase, aquantidade de tarefas existentes, a quantidade de tarefas no concludas,
53
-
7/30/2019 Automa Teste
54/185
entre outras informaes, como pode ser visto no exemplo apresentado naFigura 36.
Figura 36: Visualizando e alterando um projeto
54
-
7/30/2019 Automa Teste
55/185
Adicionando tarefas
Para adicionar uma tarefa, voc dever entrar na pgina do projeto eselecionar a fase na qual a tarefa ser associada. Uma vez dentro da pginada fase selecionada, voc dever ir para a seo Tasks e ento clicar no
cone Add. Durante o cadastramento da tarefa, voc dever informar onome da tarefa, a descrio, a prioridade, o responsvel, o tempo estimado,entre outras informaes, como pode ser visto na Figura 37.
Figura 37: Adicionando tarefas ao php-collab
55
-
7/30/2019 Automa Teste
56/185
Visualizando o calendrio do projeto
O php-collab oferece um ambiente de gerenciamento integrado, dessa forma,todas as tarefas so listadas num calendrio comum ao projeto como podeser visto no exemplo apresentado na Figura 38.
Figura 38: Calendrio compartilhado do projeto
56
-
7/30/2019 Automa Teste
57/185
Listas de discusses
A lista de discusso do php-collab oferece um canal comum e integrado paratodos os membros do time. Para criar um tpico, voc dever entrar napgina do projeto. Uma vez dentro desta pgina, voc dever ir para a seo
Discussions e ento clicar no cone Add, conforme o exemplo apresentadona Figura 39.
Figura 39: Criando uma lista de discusso
Qualquer membro do time pode criar um tpico ou postar uma mensagem.
Alm disso, assim que a discusso for concluda o php-collab permite que otpico seja fechado pelo seu criador, como pode ser observado na Figura 40.
57
-
7/30/2019 Automa Teste
58/185
Figura 40: Postando tpicos na lista de discusso
58
-
7/30/2019 Automa Teste
59/185
Adicionando arquivos ao projeto
O php-collab tambm permite que arquivos sejam adicionados e associados aum projeto. Para adicionar um arquivo, voc dever entrar na pgina doprojeto. Uma vez dentro desta pgina, voc dever ir para a seo Linked
Content e ento clicar no cone Add, conforme o exemplo apresentado naFigura 41.
Figura 41: Adicionando arquivos ao projeto
Alm de armazenar o arquivo, o php-collab faz o controle do status(pendente, aprovado, etc) e o controle de verses do arquivo, como pode serobservado na Figura 42.
59
-
7/30/2019 Automa Teste
60/185
Figura 42: Controle de verses e status dos arquivos
60
-
7/30/2019 Automa Teste
61/185
Bookmarks compartilhados
O php-collab tambm oferece uma funcionalidade para gerenciar bookmarkscompartilhados. Para tal tarefa, voc dever clicar no menu Bookmarks eento clicar no cone Add, conforme o exemplo apresentado na Figura 43.
Figura 43: Adicionando bookmarks compartilhados
61
-
7/30/2019 Automa Teste
62/185
Adicionando clientes
To logo o projeto seja criado voc poder adicionar clientes e associ-los aoprojeto. Para tal tarefa, voc dever clicar no menu Clients e ento clicar nocone Add. A pgina Add Client Organization dever ser exibida conforme
o exemplo apresentado na Figura 44. Nesta pgina, voc dever informar onome do cliente, endereo, telefone, entre outras informaes.
Figura 44: Adicionando clientes
Uma vez que o cliente tenha sido adicionado, voc poder associa-lo a um
projeto. Na pgina de visualizao das informaes do cliente, voc tambmpoder criar o site do projeto (sob o ponto de vista do cliente). Para realizartal tarefa, voc dever clicar no link , como pode ser observadono exemplo exibido na Figura 45.
62
-
7/30/2019 Automa Teste
63/185
Figura 45: Visualizando informaes dos clientes
Assim que voc realizar esta operao, a pgina Create Project Site deverser exibida, conforme o exemplo apresentado na Figura 46. Nesta pgina,voc dever clicar no boto Create para criar definitivamente o site doprojeto.
Assim que o site do projeto for criado, qualquer usurio cadastrado (Client
Users) poder realizar o login e entrar no site do projeto automaticamente.Voc tambm poder acessar o site do projeto por meio do link Go toprojects site localizado no topo direito da pgina principal do php-collab.
Figura 46: Criando o site do projeto
63
-
7/30/2019 Automa Teste
64/185
No site do projeto, o cliente poder visualizar as tarefas existentes, osdocumentos e as listas de discusses, como pode ser visto na Figura 47.
As informaes no so disponibilizadas ao site do projeto automaticamente.Para que elas sejam visualizadas no site do projeto, voc dever realizar a
publicao por meio do cone Add to project site (presente na maior partedos menus do php-collab).
Figura 47: Site do projeto
64
-
7/30/2019 Automa Teste
65/185
Requisies de suporte
O cliente, por meio do site do projeto, tambm poder realizar requisies desuporte. Basicamente, o php-collab fornece um mecanismo simples de gestode requisies de suporte, como pode ser visto no exemplo apresentado na
Figura 48.
Figura 48: Adicionando requisies de suporte
Uma vez que as requisies tenham sido cadastradas pelos clientes, elaspodero ser visualizadas e gerenciadas por meio da seo Supportlocalizada na pgina do projeto, como pode ser visto na Figura 49.
Figura 49: Gerenciando requisies de suporte
65
-
7/30/2019 Automa Teste
66/185
Relatrios
O php-collab fornece tambm um recurso para a gerao de relatrios. Pormeio desse recurso, voc poder filtrar e listar as tarefas com base noprojeto, cliente, prioridade, data de finalizao entre outros filtros, como
pode ser visto no exemplo apresentado na Figura 50. Adicionalmente, vocpoder salvar os filtros criados para que o relatrio possa ser executadoposteriormente.
Figura 50: Relatrios
66
-
7/30/2019 Automa Teste
67/185
Captulo 4 Automao de testesfuncionais e de aceitao
Nos ltimos tempos, a automao de testes tem se tornado uma atividadevital em projetos de teste de software. A maturidade das ferramentas e avasta quantidade de opes comerciais e Open Source so algumas dasrazes motivadoras para essa mudana de enfoque. Somado a isto, apromessa de testes de regresso repetitveis com baixo custo e o aumento dacobertura dos testes, reforam esse sbito interesse na automao de testes.
Aplicaes cada vez mais complexas e oramentos curtssimos tornam asferramentas Open Source mais atraentes no mar de opes existentes. Natabela abaixo voc poder ver as ferramentas que sero apresentadas nas
prximas sees:
selenium
http://www.openqa.org/selenium/marathon
http://www.marathontesting.com/marathon/soapUI
http://www.soapui.org/
67
http://www.openqa.org/selenium/http://www.marathontesting.com/marathon/http://www.soapui.org/http://www.soapui.org/http://www.marathontesting.com/marathon/http://www.openqa.org/selenium/ -
7/30/2019 Automa Teste
68/185
Selenium
O Selenium15 uma ferramenta Open Source usada para a criao de testesde regresso automatizados para aplicaes WEB. O Selenium foi escritoutilizando Java Script e DHTML. Em funo disso, os testes rodamdiretamente a partir do navegador. Na realidade, em virtude destacaracterstica do Selenium, os testes podem rodar virtualmente em qualquernavegador que suporte Java Script (Internet Explorer, Firefox, Opera, Safari,Konqueror, etc).
Basicamente, os testes do Selenium so escritos em tabelas HTML. Nestastabelas, voc informar as operaes ou asseres de um teste e os seusrespectivos argumentos. O Selenium responsvel por interpretar oscomandos das tabelas HTML e executar as aes, simulando um usurio real.
O Selenium dividido em dois modos diferentes:
Selenium Core: Neste modo os testes so executados a partir do WEBServer que a aplicao WEB estiver sendo executada. Os testes soescritos previamente em tabelas HTML e o TestRunner (Gerenciadorda execuo dos testes) responsvel pela execuo dos testes.
Selenium RC (Remote Control): Neste modo os testes so dirigidos poruma das linguagens suportadas pelo Selenium (Ruby16, Python, etc).
15 http://www.openqa.org/selenium/ (os exemplos deste livro so apresentados com averso 0.8.2)16http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programao)
68
http://www.openqa.org/selenium/http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)http://www.openqa.org/selenium/ -
7/30/2019 Automa Teste
69/185
Selenium Core
Conforme mencionado anteriormente, neste modo chamado de SeleniumCore, os testes so executados a partir do WEB Server em que a aplicaoWEB estiver sendo executada. Para que o Selenium Core funcione
corretamente, voc dever habilitar o acesso de leitura e escrita nosdiretrios onde ele for instalado.
Figura 51: TestRunner do Selenium Core
Para instalar o Selenium Core, voc dever fazer o download17 a partir do sitedo Selenium. Uma vez feito o download, voc dever descompactar osarquivos sob o diretrio de deploy do seu WEB Server (Ex: DocumentRoot,htdocs, www ou webroot).
Uma vez instalado, voc poder testar se houve sucesso por meio daabertura da pgina TestRunner.html. O TestRunner a pgina que gerenciaa execuo dos testes e exibe o relatrio de progresso da execuo.Normalmente esta pgina est localizada sob o diretrio core, como podeser observado no exemplo apresentado na Figura 51.
17http://www.openqa.org/selenium-core
69
http://www.openqa.org/selenium-corehttp://www.openqa.org/selenium-core -
7/30/2019 Automa Teste
70/185
A pgina do TestRunner dividida em quatro diferentes reas:
Test Suite: Nesta rea voc dever escolher a Test Suite que serexecutada pelo Selenium, assim como selecionar um teste da lista detestes disponveis.
Current Test: Nesta rea voc poder visualizar o teste selecionado ouo teste que estiver sendo executado.
Control Panel: Nesta rea voc poder gerenciar a execuo dos testes(rodar apenas os testes selecionados, diminuir a velocidade deexecuo dos testes, executar os testes passo a passo, ver o log deexecuo e o resultado da execuo dos testes).
AUT: Nesta rea localizada na parte inferior da pgina, voc visualizara aplicao em teste durante a execuo dos testes. Voc tambmpoder configurar o Selenium para exibir a aplicao em teste em uma
janela separada por meio da opo AUT in separate window ou peloparmetro "multiWindow=true" da pgina TestRunner.html. Noentanto, o Firefox no suporta nativamente o multi-window mode.Para resolver este problema, voc dever baixar o add-onreadyState.xpi18.
importante lembrar que voc dever desabilitar os bloqueadores de pop-up,gerenciadores de senhas e recursos semelhantes do navegador antes daexecuo dos testes automatizados, para garantir que os testes no falhem
ou travem em virtude de algum desses recursos oferecidos pela maioria dosnavegadores.
Naturalmente, para executar os testes por meio do Selenium Core, vocdever ter criado previamente os casos de testes para a sua aplicao WEB.Conforme mencionamos anteriormente, os testes so escritos em tabelasHTML. Nestas tabelas, voc informar as operaes ou asseres de um testee os seus respectivos argumentos.
A sintaxe destes comandos chamada de Selenese, ou em bom portugus:Selens. Um teste escrito em Selens basicamente composto por uma
tabela contendo trs colunas. Uma coluna usada para a operao e as duasrestantes so usadas para os argumentos. Cabe lembrar que nem todas asoperaes requerem dois argumentos, como pode ser visto no exemploapresentado na Figura 52.
18 http://www.openqa.org/selenium-core/download/readyState.xpi
70
-
7/30/2019 Automa Teste
71/185
Figura 52: Caso de teste escrito em Selens
Cabe ressaltar que as linhas com menos de trs colunas seroautomaticamente ignoradas pelo Selenium. Neste caso, voc poder utiliz-las para comentrios ou para o ttulo do caso de teste. Por questesestticas, voc poder usar a tag HTML   para fazer as clulas databela ficarem esteticamente melhores, ao invs de apenas exibir um espaovazio.
De forma similar, os Test Sutes tambm so representados em tabelasHTML. Cada Test Suite referencia um ou mais casos de teste. No entanto, ocdigo HTML usado para o Test Suite, tem uma pequena particularidade: a
tag HTML target deve sempre referenciar o frame testFrame para que oscasos de teste sejam adequadamente exibidos na rea Test Sute doTestRunner, conforme discutido anteriormente. Observe o exemploapresentado na Figura 53:
Figura 53: Cdigo HTML da Test Suite
71
-
7/30/2019 Automa Teste
72/185
De um ponto de vista genrico, as operaes suportadas pelo Selens sodivididas em trs grupos distintos:
Actions: Representam as operaes realizadas pelo usurio durante autilizao da aplicao WEB. A maioria das Actions representam aes
do tipo (clicar em determinado link ou boto, selecionar determinadaopo e assim por diante). Se a execuo de uma Action falhar, ostatus do teste modificado para Failed e o teste imediatamenteparalisado. Adicionalmente, voc poder adicionar o sufixo AndWaitpara a maioria das Actions. Este sufixo informa ao Selenium que aao gerou uma requisio ao servidor e a execuo do teste precisaesperar que a pgina seja recarregada.
Accessors: Executa uma assero (compara o estado ou propriedadede um objeto da pgina contra um valor esperado) e armazena oresultado numa varivel. O resultado negativo de uma Accessor noparalisa a execuo do teste, mas no entanto, a falha exibida noresultado dos testes.
Assertions: Executa uma assero (compara o estado ou propriedadede um objeto da pgina contra um valor esperado). No entanto, a
Assertion no armazena o resultado numa varivel. O resultadonegativo de uma Assertion no paralisa a execuo do teste, mas noentanto, a falha exibida no resultado dos testes.
Infelizmente, no faz parte do escopo deste livro apresentar minuciosamente
as operaes suportadas pelo Selens. Com certeza, um livro inteiropoderia ser escrito para descrever e mostrar exemplos prticos de todas asoperaes existentes. Neste caso, o autor sugere que voc leia o ReferenceGuide19 do Selens no site do Selenium.
Por outro lado, voc no precisa decorar todas as operaes suportadas peloSelens. Por meio de um ambiente grfico integrado chamado Selenium IDE,voc poder gravar e reproduzir os testes sem escrever uma nica operaoem Selens, como veremos mais adiante.
19http://release.openqa.org/selenium-core/nightly/reference.html
72
http://release.openqa.org/selenium-core/nightly/reference.htmlhttp://release.openqa.org/selenium-core/nightly/reference.html -
7/30/2019 Automa Teste
73/185
Selenium IDE
O Selenium IDE20 um ambiente grfico integrado ao Firefox capaz degravar e reproduzir os testes do Selenium. O Selenium IDE captura e gravaas suas aes no Firefox. Essas aes so convertidas para o Selens
automaticamente para que voc possa salvar o teste, execut-lo e depur-loindividualmente ou em conjunto com outros testes numa Test Suite.
O Selenium IDE uma extenso do Firefox, como pode ser visto na Figura54. Uma vez instalado, voc poder executar o Selenium IDE acessando omenu Tools>Selenium IDE, de acordo com o exemplo apresentado naFigura 55.
Figura 54: Instalando o Selenium IDE
Uma vez aberta a janela do Selenium IDE, qualquer ao que voc executarnas pginas do navegador ser convertida para uma operao em Selens naaba Table. No entanto, o Selenium IDE no se limita apenas a reproduzir oscliques ou preenchimento dos campos realizados durante a navegao. Voctambm poder selecionar qualquer uma das operaes suportadas peloSelens conforme a sua necessidade por meio do campo Command. Vale apena destacar que, conforme o comando selecionado, uma descriocompleta da sua utilizao e argumentos requeridos apresentada na parte
inferior da janela do Selenium IDE.
20 http://www.openqa.org/selenium-ide/ (os exemplos deste livro so apresentados com averso 0.8.6)
73
http://www.openqa.org/selenium-ide/http://www.openqa.org/selenium-ide/ -
7/30/2019 Automa Teste
74/185
Figura 55: Selenium IDE
Adicionalmente, o Selenium IDE adiciona novos menus de contexto noFirefox. Neste caso, durante gravao da navegao, voc poder selecionarqualquer objeto da pgina e adicionar uma operao ou assero de acordocom o contexto do objeto selecionado, como pode ser visto no exemploapresentado na Figura 56.
74
-
7/30/2019 Automa Teste
75/185
Figura 56: Operaes integradas aos menus do Firefox
Por fim, assim que voc finalizar gravao da navegao da sua aplicaoWEB, todos os passos executados sero convertidos automaticamente emSelens e estaro disponveis na aba Table. O teste poder ser salvo noformato HTML para que seja posteriormente executado.
Voc tambm poder executar, pausar ou depurar o teste por meio doSelenium IDE. Adicionalmente, o Selenium IDE empacota internamente pordefault o Selenium Core. Neste caso, voc tambm poder executar o testepor meio do TestRunner do Selenium Core, como pode ser visto na Figura 57.
75
-
7/30/2019 Automa Teste
76/185
Figura 57: Executando os Testes no Selenium Core
Todo navegador, por default, oferece mecanismos de segurana para evitarataques do tipo XSS cross-site scripting. Toda extenso do Firefox temacesso ao protocolo Chrome (especfico deste navegador). Esse protocolooferece um meio alternativo para burlar a segurana dos navegadores paraevitar os ataques do tipo XSS.
No exemplo da Figura 57, o Selenium Core no precisou ser instalado noWEB Server em que a aplicao WEB estava sendo executada em virtudedessa caracterstica do Firefox.
Dessa forma, voc poder executar as suas Teste Sutes a partir do Firefoxsem a necessidade de instalar o Selenium Core no mesmo WEB Server ondea aplicao WEB estiver sendo executada. Para realizar tal tarefa, vocdever utilizar a seguinte URL para executar o TestRunner a partir do Firefox:
76
-
7/30/2019 Automa Teste
77/185
Onde: baseURL: Indica a URL base da aplicao WEB. test: Indica a localizao da Test Suite.
auto: Indica que o TestRunner dever executar os testes assim que foraberto.
Por ltimo, devemos destacar que voc tambm poder testar aplicaesWEB baseadas em AJAX (Asynchronous JavaScript and XML) utilizando oSelenium IDE. Sem discutir em detalhes, uma pgina AJAX capaz derealizar diversas operaes sem, no entanto, precisar buscar ou trocar muitasinformaes com o WEB Server.
Neste caso, normalmente a pgina no recarregada, garantindo assimmaior velocidade nas operaes. No entanto, neste cenrio, operaes emSelens do tipo clickAndWait no funcionaro corretamente em virtude deque a pgina AJAX no ser recarregada.
Para solucionar esta limitao e viabilizar os testes de pginas AJAX, vocdever utilizar, por exemplo, a operao waitForValue que aguardar amudana do valor definido como argumento, ao invs de esperar a pginarecarregar.
Existem muitas pginas21 na Internet apresentando solues e exemplos paratestes de pginas AJAX utilizando o Selenium. Vale a pena conferir tambm
os exemplos apresentados no site do Selenium.
21http://www.infoq.com/articles/testing-ajax-selenium
77
http://www.infoq.com/articles/testing-ajax-seleniumhttp://www.infoq.com/articles/testing-ajax-selenium -
7/30/2019 Automa Teste
78/185
Selenium RC (Remote Control)
No modo chamado de Selenium RC22 (Remote Control), os testes soexecutados por meio de uma das linguagens de programao suportadaspelo Selenium. O Selenium RC a melhor soluo quando os testes escritos
em Selens nas tabelas HTML no forem suficientes para as suasnecessidades.
Se voc precisar de uma lgica mais complexa de controle, fluxos, acesso abanco de dados ou leitura de informaes externas, sem dvida, o SeleniumRC ser de grande ajuda.
Figura 58: Arquitetura do Selenium RC
A arquitetura do Selenium RC extremante simples e eficaz (Figura 58).Basicamente, o Selenium RC expe uma interface (Wrapper API) para oscomandos em Selens. J existem interfaces escritas para as principaislinguagens de programao da atualidade23 (Java, .NET, Perl, Python, andRuby).
Durante a execuo do teste na linguagem escolhida por voc, os comandosexecutados por meio dessas interfaces se comunicam com o Selenium Server,
que a outra parte da arquitetura do Selenium RC. O Selenium Server, deacordo com o site do Selenium, onde a mgica acontece.
Por meio do Selenium Server, uma instncia do navegador escolhido por voc iniciada nos bastidores. Assim, toda a vez que o teste executa uma
22http://www.openqa.org/selenium-rc/23http://www.openqa.org/selenium-rc/tutorial.html
78
http://www.openqa.org/selenium-rc/http://www.openqa.org/selenium-rc/tutorial.htmlhttp://www.openqa.org/selenium-rc/tutorial.htmlhttp://www.openqa.org/selenium-rc/ -
7/30/2019 Automa Teste
79/185
operao, na verdade ele se comunica com o Selenium Server, que por suavez se comunica com essa instncia do navegador (usando XmlHttpRequestdo AJAX).
Figura 59: Selenium Server no modo interativo
Alm desse modo de execuo convencional, o Selenium Server oferecetambm um modo interativo. Neste modo, voc poder interagir diretamentecom Selenium Server por meio da digitao de comandos (Selens) no seuprompt.
Para inicializar o Selenium Server em modo interativo, execute o seguintecomando java -jar selenium-server.jar -interactive, como pode ser visto noexemplo apresentado na Figura 59 (o output dos comandos forampropositalmente omitidos).
Adicionalmente, voc poder utilizar o Selenium IDE para criar os testesusados pelo Selenium RC. O Selenium IDE tem um recurso que permite aexportao dos testes em Selens para a maioria das linguagens suportadaspelo Selenium RC, como pode ser observado na Figura 60.
79
-
7/30/2019 Automa Teste
80/185
Figura 60: Exportando os testes para outras linguagens
Como resultado do processo de exportao, obtemos o cdigo fonte nalinguagem alvo escolhida por voc. No exemplo apresentado na Figura 61,voc poder ver o resultado da exportao para a linguagem Ruby.
80
-
7/30/2019 Automa Teste
81/185
Figura 61: Trecho de um teste exportada para Ruby
Para confirmar se o teste foi exportado com sucesso, execute o SeleniumServer por meio do comando java jar selenium-server.jar. Em outra janelado prompt execute o seu teste, como pode ser visto no exemplo apresentadona Figura 62.
81
-
7/30/2019 Automa Teste
82/185
Figura 62: Executando um teste usando o Selenium RC
82
-
7/30/2019 Automa Teste
83/185
Marathon
O Marathon24 uma ferramenta Open Source de testes de regressoautomatizados para aplicaes Java desenvolvidas com o toolkit grficoSwing25. Utilizando o Marathon, voc poder criar testes automatizados pormeio da captura das suas aes (cliques do mouse, digitao, etc). Estasaes so convertidas em scripts Jython26 (implementao Java da linguagemde script Python) para que voc possa executar posteriormente o teste.Dentre as suas principais caractersticas, podemos destacar as seguintes:
Ambiente de desenvolvimento integrado onde voc poder capturar,depurar e executar os testes automatizados;
Mdulos reutilizveis para facilitar a manuteno;
Fixtures (scripts em Jython cuja principal funo criar as pr-condies de execuo dos testes, assim como, a posterior limpezados recursos criados);
Component Resolver e Custom Component Resolver (recurso utilizadopara detectar todos os componentes do Swing (botes, campos deedio, menus, etc), assim como os seus mtodos e propriedades);
24 http://www.marathontesting.com/ (os exemplos deste livro so apresentados com averso 1.0.3)25http://en.wikipedia.org/wiki/Swing_(Java)26http://www.jython.org/Project/index.html
83
http://www.marathontesting.com/http://en.wikipedia.org/wiki/Swing_(Javahttp://www.jython.org/Project/index.htmlhttp://www.jython.org/Project/index.htmlhttp://en.wikipedia.org/wiki/Swing_(Javahttp://www.marathontesting.com/ -
7/30/2019 Automa Teste
84/185
Criando um novo projeto
Assim que o Marathon for instalado, a sua primeira ao ser criar um novoprojeto. Para realizar tal tarefa, voc dever escolher a opo New da
janela Create and manage configuration.
Uma janela solicitando o nome do projeto dever ser exibida, como pode servisto na Figura 63. importante lembrar que durante a criao do projeto,voc dever obrigatoriamente informar corretamente a Main Class daaplicao Java que ser testada, assim como o seu Class Path27. Casocontrrio, o Marathon no ser capaz de inicializar a aplicao Java.
Figura 63: Criao de um novo projeto
27http://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
84
http://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o)http://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o) -
7/30/2019 Automa Teste
85/185
To logo o projeto seja criado, a janela principal do Marathon exibida. Estajanela oferece um ambiente de desenvolvimento integrado onde voc podercapturar, depurar e executar os testes automatizados, como pode serobservado na Figura 64.
Figura 64: Janela principal do Marathon
Os projetos do Marathon so compostos por trs elementos distintos (todosesses elementos sero discutidos mais adiante):
TestCases: Scripts em Jython que representam as aes (cliques domouse e digitao) e asseres realizadas por voc durante a captura(gravao);
Modules: Scripts em Jython usados por outros testes (mdulosreutilizveis). Por meio dos Modules, voc poder aumentar areutilizao e facilitar a manuteno no futuro.
Fixtures: Scripts em Jython cuja funo criar as pr-condies deexecuo dos testes, assim como, a posterior limpeza dos recursoscriados.
85
-
7/30/2019 Automa Teste
86/185
Por fim, para efeitos didticos, os exemplos apresentados nas prximassees sero realizados utilizando um editor simples de UML desenvolvido emJava chamado Violet28, como pode ser visto no exemplo apresentado naFigura 65.
Figura 65: Violet UML Editor
28http://www.horstmann.com/violet/
86
http://www.horstmann.com/violet/http://www.horstmann.com/violet/ -
7/30/2019 Automa Teste
87/185
Criando um script de teste
Para criar um novo script de teste, voc dever clicar no menuFile>New>Test Case. A janela Untitled dever ser exibida no editor. Estajanela representa um script de teste em branco.
A partir deste ponto, poderemos comear a capturar (ou gravar) o script deteste automatizado, por meio do boto Record localizado na barra deferramentas do Marathon.
To logo voc comece a captura, o Marathon abrir automaticamente aaplicao em teste (no nosso caso, o Violet) e, em background, a janela
Marathon Control Center, como pode ser visto na Figura 66.
Figura 66: Marathon Control Center
Por meio da janela Marathon Control Center todas as aes so capturadase traduzidas para comandos Jython. Adicionalmente, esta janela forneceopes para pausar, retornar da pausa, parar a captura e a adio demdulos reutilizveis (os mdulos reutilizveis sero discutidos mais adiante).
importante ressaltar que o Marathon utiliza um recurso chamadoComponent Resolver para detectar todos os componentes do Swing
(botes, campos de edio, menus, etc), assim como os seus mtodos epropriedades. por meio desse recurso que o Marathon capaz de mapearos componentes da aplicao e converter as suas aes em comandosJython.
No entanto, caso a sua aplicao tenha algum componente personalizado,que no faz parte da biblioteca padro do Swing, voc poder criar um
87
-
7/30/2019 Automa Teste
88/185
Custom Component Resolver para que o Marathon possa detectar o seucomponente.
Ao final da gravao, o Marathon fecha automaticamente a aplicao emteste e adiciona ao script de teste todas aes capturadas (traduzidas para
comandos Jython). No nosso exemplo, foi criado um script de teste paratestar a criao de um diagrama de caso de uso, como pode ser obse