testes funcionais em um alm open source - tdc 2012 sp
DESCRIPTION
Apresentação da palestra "Testes Funcionais em um ALM Open Source" apresentado dia 05/07/2012 na Trilha de ALM do TDC 2012.TRANSCRIPT
Globalcode – Open4education
Testes Funcionais em um ALM
Open Source
Elias NogueiraTester
Globalcode – Open4education
Objetivo
Apresentar a integração das principais ferramentas de teste open source
TestlinkMantisBugzillaRedmineSelenium/Webdriver
E como elas podem comunicar entre si
Globalcode – Open4education
Objetivo
Envi
a in
form
ação
Globalcode – Open4education
Conceituação
O que é Teste?
Como um desenvolvedor vê um teste?
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
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!
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
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/
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/
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>
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
Globalcode – Open4education
Selenium/Webdriver
Ferramenta para automação de testes funcionais com diversas linguagens como suporte
Site: http://seleniumhq.org http://selenium.googlecode.com
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
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
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
Globalcode – Open4education
Links
Projeto: http://eliasnogueira.github.com/testing-alm