Testes Funcionais em um ALM Open Source - TDC 2012 SP
-
Upload
elias-nogueira -
Category
Technology
-
view
1.621 -
download
1
description
Transcript of Testes Funcionais em um ALM Open Source - TDC 2012 SP
![Page 1: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/1.jpg)
Globalcode – Open4education
Testes Funcionais em um ALM
Open Source
Elias NogueiraTester
![Page 2: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/2.jpg)
Globalcode – Open4education
Objetivo
Apresentar a integração das principais ferramentas de teste open source
TestlinkMantisBugzillaRedmineSelenium/Webdriver
E como elas podem comunicar entre si
![Page 3: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/3.jpg)
Globalcode – Open4education
Objetivo
Envi
a in
form
ação
![Page 4: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/4.jpg)
Globalcode – Open4education
Conceituação
O que é Teste?
Como um desenvolvedor vê um teste?
![Page 5: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/5.jpg)
Globalcode – Open4education
Conceituação
ALM é um processo contínuo de gestão da vida de uma aplicação através de desenvolvimento, governança e manutenção
ALM facilita, através de ferramentas, a integração de gestão de requisitos, arquitetura, codificação, testes, rastreabilidade e releases
![Page 6: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/6.jpg)
Globalcode – Open4education
ALM como um desenvolvedor vê (visão otimista)
Integração entre ferramentas de xUnit e apoio ao desenvolvimento
Falso senso de testes/qualidade
Qualidade é o que o cliente vê, e não o que o desenvolvedor vê
Claro que qualidade de código ajuda e muito!
![Page 7: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/7.jpg)
Globalcode – Open4education
Definição de
Requisitos
Definição de
Requisitos
ProjetoProjeto Implementação
Implementação
TesteTeste Implantação
Implantação
Controle de VersãoControle de Versão
Gestão de ProjetosGestão de Projetos
Gestão de TestesGestão de Testes
Gestão de DefeitosGestão de Defeitos
Automação de TesteAutomação de Teste
Ferramentas de Apoio
Ferramentas de Apoio
Testes durante o ciclo de vida de um projeto
![Page 8: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/8.jpg)
Globalcode – Open4education
Testlink
Ferramenta de Gestão de Testes que, basicamente, gerencia a execução de projetos de testes
Site: http://teamst.orgAPI: install_folder/lib/apiProtocolo: XML-RPCJava API: http://testlinkjavaapi.sourceforge.net/
![Page 9: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/9.jpg)
Globalcode – Open4education
Mantis
Ferramenta de Gestão de Defeitos para controle do defeitos durante o cilo de vida do software
Site: http://mantisbt.orgAPI: install_folder/api/soapProtocolo: SOAPJava API: http://www.futureware.biz/mantisconnect/
![Page 10: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/10.jpg)
Globalcode – Open4education
Bugzilla
Ferramenta de Gestão de Defeitos para controle do defeitos durante o cilo de vida do software
Site: http://bugzilla.orgAPI: http://www.bugzilla.org/docs/tip/en/html/api/Protocolo: XML-RPC ou JSON-RPCJava API: <nenhuma boa>
![Page 11: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/11.jpg)
Globalcode – Open4education
Redmine
Ferramenta de Gestão de Projetos (inclusive issues/bugs) também utilizada em testes
Site: http://redmine.orgAPI: http://www.redmine.org/projects/redmine/wiki/Rest_api
Protocolo: RESTJava API: https://github.com/taskadapter/redmine-java-api
![Page 12: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/12.jpg)
Globalcode – Open4education
Selenium/Webdriver
Ferramenta para automação de testes funcionais com diversas linguagens como suporte
Site: http://seleniumhq.org http://selenium.googlecode.com
![Page 13: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/13.jpg)
Globalcode – Open4education
Arquitetura do exemplo
Cada pacote da ferramenta possui duas classesFerramentaInstanceFerramentaUtils
A Instance é responsável por abrir a comunicação com a ferramenta (Singleton)
A Utils é responsável pela chamada/reescrita dos métodos ou utilização da API da ferramenta
![Page 14: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/14.jpg)
Globalcode – Open4education
Arquitetura do teste
Utilizamos o Webdriver para executar os testes funcionais em um browse web
Ele utiliza um DesignPatter chamado PageObjects
A execução do teste pode ser via método main ou por qualquer framework xUnit
![Page 15: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/15.jpg)
Globalcode – Open4education
Funcionamento no script
Todo script de teste deve ser coberto por um bloco try-catch
Ocorrendo uma exceção devemos instanciar a classe ReportaErro
No bloco finally trateremos o envio de informações para as ferramentas
![Page 16: Testes Funcionais em um ALM Open Source - TDC 2012 SP](https://reader036.fdocuments.net/reader036/viewer/2022062300/5566687cd8b42aa21e8b51a2/html5/thumbnails/16.jpg)
Globalcode – Open4education
Links
Projeto: http://eliasnogueira.github.com/testing-alm