16
Globalcode – Open4education Testes Funcionais em um ALM Open Source Elias Nogueira Tester

Testes Funcionais em um ALM Open Source - TDC 2012 SP

Embed Size (px)

DESCRIPTION

Apresentação da palestra "Testes Funcionais em um ALM Open Source" apresentado dia 05/07/2012 na Trilha de ALM do TDC 2012.

Citation preview

Page 1: Testes Funcionais em um ALM Open Source - TDC 2012 SP

Globalcode – Open4education

Testes Funcionais em um ALM

Open Source

Elias NogueiraTester

Page 2: Testes Funcionais em um ALM Open Source - TDC 2012 SP

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

Globalcode – Open4education

Objetivo

Envi

a in

form

ação

Page 4: Testes Funcionais em um ALM Open Source - TDC 2012 SP

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

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

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

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

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

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

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

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

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

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

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

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

Globalcode – Open4education

Links

Projeto: http://eliasnogueira.github.com/testing-alm