Escolar Documentos
Profissional Documentos
Cultura Documentos
Automae7e3o e Gerenciamento de Testes e Book PDF
Automae7e3o e Gerenciamento de Testes e Book PDF
Gerenciamento de Testes
Aumentando a Produtividade
com as Principais Solues
Open Source e Gratuitas
Cristiano Caetano
1
Prefcio ...................................................................................................5
Agradecimentos .......................................................................................7
Introduo...............................................................................................8
Proposta deste livro................................................................................ 11
Consideraes iniciais ............................................................................. 12
Captulo 1 Gesto de defeitos ............................................................... 14
Mantis................................................................................................ 15
Instalando e configurando ................................................................ 16
Criando um novo projeto.................................................................. 17
Registrando e modificando um bug ................................................... 19
Meus Bugs ...................................................................................... 22
Sumrio dos bugs ............................................................................ 23
News .............................................................................................. 24
Change Log..................................................................................... 25
Documentao do projeto ................................................................ 25
Configurao do Mantis .................................................................... 26
Captulo 2 Gesto de testes .................................................................. 27
TestLink ............................................................................................. 28
Instalando e configurando ................................................................ 29
Criando um novo projeto.................................................................. 30
Adicionando requisitos ..................................................................... 31
Adicionando test cases ..................................................................... 34
Associando test cases aos requisitos.................................................. 38
Associando keywords aos test cases.................................................. 39
Criando test suites ........................................................................... 41
Associando nveis de prioridade a test suite ....................................... 44
Associando usurios ao test suite ...................................................... 44
Criando builds e milestones .............................................................. 45
Executando os Test Cases ................................................................ 46
Captulo 3 Gesto de projetos ............................................................... 49
php-collab .......................................................................................... 50
Instalando e configurando ................................................................ 51
Criando um novo projeto.................................................................. 52
Adicionando tarefas ......................................................................... 55
Visualizando o calendrio do projeto ................................................. 56
Listas de discusses ......................................................................... 57
Adicionando arquivos ao projeto ....................................................... 59
Bookmarks compartilhados ............................................................... 61
Adicionando clientes ........................................................................ 62
Requisies de suporte..................................................................... 65
Relatrios........................................................................................ 66
Captulo 4 Automao de testes funcionais e de aceitao....................... 67
Selenium ............................................................................................ 68
Selenium Core ................................................................................. 69
Prefcio
Caro Leitor,
O grande escritor e poeta Carlos Drummond de Andrade disse uma vez que
todas as vezes que se abre uma livraria deveramos comemorar com festa, tal
qual o nascimento de uma criana. Da mesma forma que quando nasce um
livro, seja por qual mdia ou formato que ele venha, deveramos comemorar
com festa e grande orgulho. Um livro representa uma expresso viva de um
conjunto de conhecimentos que se acumularam e que foi compartilhado. Este
conhecimento pode ser um conto, uma histria, um conhecimento tcnico, ou
at mesmo um pouco de sabedoria que todos ns aprendemos diariamente.
Este livro um reflexo da experincia profissional madura em Teste e
Qualidade de Software vivida pelo autor, meu amigo Cristiano Caetano.
Quando vemos os altos custos do processo de desenvolvimento subindo cada
vez mais e se exigindo nveis de excelncia cada vez maiores, percebe-se que
a necessidade em se conhecer ferramentas que tenham custo zero se tornou
uma exigncia.
A maioria das empresas usa, ou vo usar ainda, alguma ferramenta Open
Source ou Gratuita. O Linux um exemplo real disto e tem tomado cada vez
mais espao. Muitas grandes empresas tm aberto o cdigo de seus produtos
e 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 at
no gostar e evitar. Pode desconfiar, mas impossvel negar o que est a.
uma nova transformao. Concluso: Transforme-se ou voc ser
transformado. Ser transformado em um profissional que se "esqueceu" de
se atualizar. Infelizmente, no mercado de trabalho, quem se esquece tornase um esquecido.
Leve este livro para todos os lados e no tenha medo de perguntar ao
Cristiano, ou de pesquisar nas referncias citadas no livro. Este livro , em
essncia, 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 o
seu 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 me
orgulho do convite aceito, porque percebi a essncia central deste livro:
compartilhar com convico honesta uma grande experincia na rea de
Testes e Qualidade de Software. Repito: compartilhar. Disseminar. Dividir. No
caso aqui: dividir para conquistar a sua transformao no modo de ver como
as solues Open Source podem ser teis no seu trabalho. Este livro como
um afilhado para mim, e como "padrinho" dei sugestes que foram
aproveitadas de modo a aproximar voc, caro Leitor, fazendo-o sentir-se em
casa.
Devido a limitaes de tamanho do livro e por algumas questes de
inviabilidade tcnica no foi possvel colocar "tudo de tudo" no que se refere
a automao de testes. A cada dia surgem novas solues, e algumas
amadurecem como o caso do Testlink, usado mundialmente e suportado por
um grupo forte de usurios, e outras tantas acabam no vingando. Por isso o
Cristiano colocou as que ele considerou mais usadas ou mais maduras. Mas
lembre-se: a nica certeza a mudana. Por mais que o livro seja tambm
uma "foto", este tambm uma ferramenta madura e extremamente til,
tendo um pouco de tudo tal qual um "canivete suo". Essa a proposta do
Cristiano. Simples, prtica e multiuso.
O livro se divide em grandes reas que vo ajud-lo a tirar o mximo de
proveito do conhecimento aqui colocado. Por exemplo, se voc no desejar
ler o livro de forma seqencial, pode faz-lo indo direto no conhecimento que
voc precisa. O livro tanto servir como livro base como livro de referncia.
Muitos tm medo de compartilhar conhecimento, mas o Cristiano Caetano
no teve medo de compartilhar o conhecimento aqui colocado, da mesma
forma que no tive medo em escrever de forma transparente aqui. O maior
conhecimento 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 na
rea de Automao de Testes de Software.
Caro Leitor, acredite em voc e no tenha medo. Boa leitura.
Leonardo Molinari
Consultor de Qualidade de Software, Palestrante e Autor de diversos livros
como "Testes de Software", "BTO - Otimizao da Tecnologia do Negcio",
"Gesto de Projetos" e "Gerncia de Configurao".
E-mail: lm7k@yahoo.com.br
Blog: http://diariodaqualidade.blogspot.com/
site: http://br.geocities.com/lm7k/testes.html
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 foram
essenciais para a finalizao desta obra e de outras realizaes na minha vida
pessoal. Sem vocs, esse livro no seria possvel: obrigado.
Introduo
"If you don't have the right equipment for
the job, you just have to make it yourself"
MacGyver
Coloque um rdio transistorizado prximo ao processador do computador
Ferramentas
Ferramentas
Ferramentas
Ferramentas
Ferramentas
Ferramentas
Ferramentas
Ferramentas
http://www.linhadecodigo.com.br/artigos.asp?id_ac=1083
http://en.wikipedia.org/wiki/Open_source
fim de permitir que voc leitor, possa escolher a soluo que atenda a sua
necessidade.
E para voc, que estava prestes a perguntar sobre as ferramentas
comerciais. Sim, elas esto listadas no captulo Alternativas comerciais.
Para cada categoria apresentada neste livro, foram listadas algumas das
solues comerciais existentes. No foram esgotadas as opes, mas j um
bom ponto de partida.
Ah, e para leitor que quiser aprender ou aprimorar os seus conhecimentos
em teste de software, o captulo Referncias sobre teste de software
apresenta uma listagem dos livros nacionais mais importantes da atualidade
sobre esse tema.
Este livro foi escrito com muito cuidado e fundamentado na experincia e
na pesquisa realizada pelo autor. No entanto, podem existir erros,
inconsistncias ou omisses que no foram percebidas durante as revises.
Sinta-se vontade para entrar em contato com o autor para que as devidas
correes sejam realizadas.
Boa leitura,
Cristiano Caetano
c_caetano@hotmail.com
http://softwarequality.spaces.live.com/
Julho/2007
1a Edio v1.0
10
11
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 aumento
da competio, a qualidade se torna mera propaganda. Vence aquele que
melhor engana".
Essa receita muito simples e fcil de seguir, todavia, quem tomar esse tipo
de postura estar fadado ao fracasso. Nos dias de hoje, a qualidade tornouse requisito imprescindvel para garantir a sobrevida de um software no
mercado.
Podemos concluir que as empresas mais competitivas so as empresas que
trabalham sob a tica da melhoria contnua dos processos para aumentar a
qualidade do processo de desenvolvimento e, conseqentemente, aumentar
a qualidade do produto final.
Neste contexto, devemos destacar adoo crescente de ferramentas para dar
suporte ao processo de melhoria contnua. Estas ferramentas servem para
dar suporte a todas as atividades relacionadas ao ciclo de vida de
desenvolvimento de software: da concepo implantao.
Como mencionamos anteriormente, a proposta deste livro apresentar as
ferramentas Open Source e gratuitas essenciais para a gesto e automao
de testes de software. Dessa forma, a figura abaixo apresenta a relevncia
de cada tipo de ferramenta apresentada neste livro em relao s fases de
um ciclo de vida de desenvolvimento de software:
12
3
4
http://www.opensource.org/
http://cio.uol.com.br/estrategias/2005/08/22/idgnoticia.2005-08-22.4315880495
13
Na tabela abaixo voc poder ver a ferramenta que ser apresentada nas
prximas sees:
Mantis
http://www.mantisbt.org/
14
Mantis
O Mantis5 uma ferramenta Open Source cujo principal objetivo registrar e
acompanhar os bugs encontrados em um projeto, desde o seu nascimento
at o seu fechamento. Neste cenrio, o ciclo de vida gerenciado pelo Mantis
inicia-se quando um bug registrado; as fases seguintes so empregadas
para a confirmao, correo, reviso e o fechamento do bug. Cada bug
recebe um nmero seqencial nico a fim de identific-lo durante as
operaes de consulta, relatrios e modificaes. Por outro lado, diversas
informaes so agregadas ao bug durante as fases que compem o seu
ciclo de vida, como por exemplo, status, prioridade, severidade, comentrios,
anexos, etc.
Entre as diversas funcionalidades oferecidas pelo Mantis, devemos destacar
as 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);
15
Instalando e configurando
Para instalar o Mantis, voc dever seguir os seguintes passos (a ttulo de
exemplo estamos sugerindo a utilizao do XAMMP a fim de satisfazer os
softwares 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:\xamppwin32-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
Preferences.
3. No campo Language selecione a opo "portuguese_brazil".
4. Pressione o boto "Update Prefs".
6
7
opo
http://www.apachefriends.org/en/xampp.html
http://www.apachefriends.org/pt_br/faq-xampp-windows.html
16
17
18
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 dever
ser exibida, como pode ser visto na Figura 4. Esta pgina, por default, lista
todos os bugs abertos. No entanto, voc poder configurar filtros especficos
19
20
Uma vez dentro desta pgina, alm de modificar as informaes do bug, voc
poder criar uma associao de relacionamento com outros bugs (relacionado
a, filho de, pai de, etc) e tambm poder selecionar a opo para monitorar o
bug e receber um e-mail sempre que alguma informao for modificada.
21
Meus Bugs
O Mantis oferece uma pgina onde voc poder visualizar de forma resumida
e consolidada todos os bugs. Para visualizar esta pgina, voc dever clicar
no menu My View. Basicamente, esta pgina exibe os bugs registrados,
atribudos e monitorados por voc. Alm dessas informaes, voc poder
tambm visualizar os bugs recentemente modificados, bugs que no foram
atribudos e assim por diante, como pode visto no exemplo apresentado na
Figura 6. De qualquer maneira, caso seja necessrio, voc poder modificar
os filtros default usados para exibir as informaes nesta pgina por meio do
link [^] existente em cada seo.
22
23
News
O Mantis tambm oferece uma funcionalidade para a divulgao de notcias
News. Por meio desta funcionalidade, voc poder registrar qualquer
novidade 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 na
pgina principal do Mantis.
24
Change Log
Por meio do Change Log, voc poder ver todas as correes associadas a
um determinado release (verso). Para visualizar o Change Log, voc dever
clicar no menu Change Log, como pode ser visto no exemplo apresentado
na Figura 9.
Documentao do projeto
Outra funcionalidade interessante a possibilidade de adicionar a
documentao do projeto no Mantis. Para realizar tal tarefa, voc dever
clicar no menu Docs e fazer o upload dos documentos, como pode ser visto
no exemplo apresentado na Figura 10.
25
Configurao do Mantis
O Mantis oferece uma srie de pginas de configuraes que voc poder
utilizar 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 de
customizao tais como: criao de campos personalizados, gesto de
usurios, configurao de workflows, notificao por email, entre outros
(como pode ser observado no exemplo apresentado na Figura 11).
26
Na tabela abaixo voc poder ver a ferramenta que ser apresentada nas
prximas sees:
TestLink
http://www.teamst.org/
27
TestLink
O TestLink8 uma aplicao Open Source cujo principal objetivo gerenciar
as atividades de testes de um projeto. Por meio do TestLink voc poder criar
Test Cases e organiz-los em Test Suites.
Voc tambm poder associar um conjunto de Test Cases a um testador e
acompanhar os resultados da execuo dos testes, assim como, gerar
relatrios com diversas mtricas para o acompanhamento da execuo dos
testes.
O TestLink oferece um recurso para que voc possa registrar e organizar os
requisitos do projeto, assim como, associar os Test Cases aos requisitos.
Dessa forma, voc poder garantir o rastreamento entre os requisitos e os
Test Cases por meio de uma matriz de rastreabilidade.
Adicionalmente, o TestLink permite a integrao com Mantis. Por meio dessa
integrao, quando um Test Case falhar, voc conseguir associar os bugs
cadastrados no Mantis a este Test Case.
Entre as diversas funcionalidades oferecidas pelo TestLink, devemos destacar
as seguintes:
Pode ser executado em qualquer plataforma que suportar
PHP/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);
28
Instalando e configurando
Para instalar o TestLink, voc dever seguir os seguintes passos (a ttulo de
exemplo estamos sugerindo a utilizao do XAMMP a fim de satisfazer os
softwares 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:\xamppwin32-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 traduzidos
para a lngua portuguesa, ento siga os passos descritos abaixo:
1.
2.
3.
4.
http://www.apachefriends.org/en/xampp.html
http://www.apachefriends.org/pt_br/faq-xampp-windows.html
10
29
30
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 menu
Requirement Specification. A pgina Requirement Specification dever ser
exibida, conforme o exemplo apresentado na Figura 13. importante
ressaltar que segundo a organizao do TestLink, cada requisito deve ser
associado a uma Especificao de Requisito, que representa a grosso modo
um agrupador de requisitos semelhantes (algo como uma sute ou seo de
requisitos), como pode ser visto no modelo apresentado na Figura 14.
31
32
33
34
Uma vez que o Componente for criado, voc dever selecion-lo na lista dos
componentes disponveis e clicar no boto New Category. A pgina Create
Category dever ser exibida, conforme o exemplo apresentado na Figura 19.
35
Finalmente, uma vez que a Categoria for criada, voc dever selecion-la na
lista de categorias a fim de criar um novo Test Case. Nesta pgina voc
poder importar os Test Cases por meio de um arquivo externo (*.CSV) ou
criar 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.
36
37
38
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 clicar
no menu Assign Keywords. Uma vez dentro desta pgina, voc dever
selecionar o Test Case desejado. A pgina Assign Keywords dever ser
exibida, conforme o exemplo apresentado na Figura 24. Nesta pgina voc
dever selecionar a keyword desejada e, por ltimo, associa-la ao Test Case
(por meio do boto Assign).
39
40
Uma vez que a primeira Test Suite for criada, um novo conjunto de menus e
opes ser exibido na rea esquerda da pgina principal do TestLink. A
maioria dessas novas opes serve para o gerenciamento da Test Suite,
execuo dos Test Cases e gerao de relatrios, como pode ser visto no
exemplo apresentado na Figura 26. preciso lembrar que voc deve
selecionar a Test Suite (seta vermelha da Figura 26) antes de comear a
realizar qualquer operao para evitar modificaes na Test Suite errada.
41
Por ltimo, voc dever associar os Test Cases a Test Suite recm criada.
Para tal tarefa, voc dever selecionar a Test Suite desejada, conforme
orientado no pargrafo anterior. Em seguida, v para a seo Test Case
Suite e ento clique no menu Add Test Cases. A pgina Add Test Cases to
the Test Suite dever ser exibida, conforme o exemplo apresentado na
Figura 27.
42
Nesta pgina voc dever selecionar o Test Case desejado (com base no
Componente ou Categoria selecionada) e associar ao Test Suite por meio do
boto Add selected Test Cases. importante lembrar que voc poder
utilizar as keywords para filtrar os Test Cases conforme a sua necessidade.
43
44
Convm lembrar, alis, que voc poder criar Milestones a fim de definir
marcos no tempo do seu projeto. Um Milestone define critrios mnimos que
devem ser atingidos baseado nos nveis de prioridades associados aos Test
Suites. Para criar um Milestone, voc dever ir para a seo Test Suite
Management e ento clicar no menu Edit / Delete Milestones.
45
Nesta pgina, o testador poder selecionar os Test Cases com base nos Test
Suites 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 da
execuo (Not run, Pass, Failed ou Blocked) e algum comentrio caso seja
necessrio. importante lembrar que as mtricas e relatrios so gerados a
partir dos dados informados pelos testadores durante a execuo dos Test
Cases.
Adicionalmente, o TestLink oferece uma configurao especial que permite a
integrao com Mantis (e outras ferramentas de gesto de defeitos). Essa
46
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 Test
reports and Metrics. A pgina Overview of available Test Reports and
Metrics dever ser exibida. Nesta pgina voc poder gerar mtricas ou
relatrios de acordo com o Build selecionado. Os diversos relatrios
existentes agrupam as informaes por Build, Test Suite, Componente,
Keyword, Milestone, Prioridade e at mesmo por Requisito, como pode ser
observado na Figura 33.
11
http://testlink.org/mantis/file_download.php?file_id=72&type=bug
47
48
Na tabela abaixo voc poder ver a ferramenta que ser apresentada nas
prximas sees:
php-collab
http://www.php-collab.org
49
php-collab
O php-Collab12 uma aplicao Open Source cujo principal objetivo
gerenciar projetos e facilitar a colaborao entre os membros de um time. O
php-Collab oferece um recurso onde o projeto pode ser gerenciado sob o
ponto de vista do time do projeto (gerenciando e exibindo todas as
informaes especficas do projeto) ou do cliente (oferecendo apenas
informaes relevantes ao cliente e dados para o acompanhamento das
atividades). Entre as diversas funcionalidades oferecidas pelo php-collab,
devemos destacar as seguintes:
Pode ser executado em qualquer plataforma que suportar
PHP/Apache/Mysql (Windows, Linux, Mac, Solaris, AS400/i5, etc);
Permite a criao de duas vises do projeto: viso do time e viso do
cliente;
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;
12
50
Instalando e configurando
Para instalar o php-collab, voc dever seguir os seguintes passos (a ttulo de
exemplo estamos sugerindo a utilizao do XAMMP a fim de satisfazer os
softwares 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:\xamppwin32-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 do
database criado no passo 4. Preencha os campos login com 'root' e o
campo password com a senha configurada no passo 3. Preencha o
campo Admin Password com o password que voc quiser atribuir ao
administrador.
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 passo
9).
Caso voc prefira utilizar esta ferramenta com todos os textos traduzidos
para 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.
13
14
http://www.apachefriends.org/en/xampp.html
http://www.apachefriends.org/pt_br/faq-xampp-windows.html
51
52
Uma vez dentro da pgina principal, voc poder criar um novo projeto por
meio do cone Add do menu Projects. Durante a criao do projeto, voc
dever informar o nome do projeto, prioridade, status, entre outras
informaes, como pode ser observado na Figura 35. O campo Enable
Phases habilita a organizao do projeto em fases. Dessa forma, cada tarefa
cadastrada dever ser associada a uma fase distinta do projeto. O campo
Client Organization habilita a criao e publicao de Websites para o
cliente, como veremos mais adiante.
Assim que o projeto for criado, voc ser remetido automaticamente para a
pgina de visualizao e alterao dos dados do projeto. Nesta pgina, voc
poder ver as fases associadas ao projeto, o status de cada fase, a
quantidade de tarefas existentes, a quantidade de tarefas no concludas,
53
54
Adicionando tarefas
Para adicionar uma tarefa, voc dever entrar na pgina do projeto e
selecionar a fase na qual a tarefa ser associada. Uma vez dentro da pgina
da fase selecionada, voc dever ir para a seo Tasks e ento clicar no
cone Add. Durante o cadastramento da tarefa, voc dever informar o
nome da tarefa, a descrio, a prioridade, o responsvel, o tempo estimado,
entre outras informaes, como pode ser visto na Figura 37.
55
56
Listas de discusses
A lista de discusso do php-collab oferece um canal comum e integrado para
todos os membros do time. Para criar um tpico, voc dever entrar na
pgina do projeto. Uma vez dentro desta pgina, voc dever ir para a seo
Discussions e ento clicar no cone Add, conforme o exemplo apresentado
na Figura 39.
57
58
59
60
Bookmarks compartilhados
O php-collab tambm oferece uma funcionalidade para gerenciar bookmarks
compartilhados. Para tal tarefa, voc dever clicar no menu Bookmarks e
ento clicar no cone Add, conforme o exemplo apresentado na Figura 43.
61
Adicionando clientes
To logo o projeto seja criado voc poder adicionar clientes e associ-los ao
projeto. Para tal tarefa, voc dever clicar no menu Clients e ento clicar no
cone Add. A pgina Add Client Organization dever ser exibida conforme
o exemplo apresentado na Figura 44. Nesta pgina, voc dever informar o
nome do cliente, endereo, telefone, entre outras informaes.
Uma vez que o cliente tenha sido adicionado, voc poder associa-lo a um
projeto. Na pgina de visualizao das informaes do cliente, voc tambm
poder criar o site do projeto (sob o ponto de vista do cliente). Para realizar
tal tarefa, voc dever clicar no link <details>, como pode ser observado
no exemplo exibido na Figura 45.
62
Assim que voc realizar esta operao, a pgina Create Project Site dever
ser exibida, conforme o exemplo apresentado na Figura 46. Nesta pgina,
voc dever clicar no boto Create para criar definitivamente o site do
projeto.
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 to
projects site localizado no topo direito da pgina principal do php-collab.
63
64
Requisies de suporte
O cliente, por meio do site do projeto, tambm poder realizar requisies de
suporte. Basicamente, o php-collab fornece um mecanismo simples de gesto
de requisies de suporte, como pode ser visto no exemplo apresentado na
Figura 48.
Uma vez que as requisies tenham sido cadastradas pelos clientes, elas
podero ser visualizadas e gerenciadas por meio da seo Support
localizada na pgina do projeto, como pode ser visto na Figura 49.
65
Relatrios
O php-collab fornece tambm um recurso para a gerao de relatrios. Por
meio desse recurso, voc poder filtrar e listar as tarefas com base no
projeto, cliente, prioridade, data de finalizao entre outros filtros, como
pode ser visto no exemplo apresentado na Figura 50. Adicionalmente, voc
poder salvar os filtros criados para que o relatrio possa ser executado
posteriormente.
66
http://www.openqa.org/selenium/
marathon
http://www.marathontesting.com/marathon/
soapUI
http://www.soapui.org/
67
Selenium
O Selenium15 uma ferramenta Open Source usada para a criao de testes
de regresso automatizados para aplicaes WEB. O Selenium foi escrito
utilizando Java Script e DHTML. Em funo disso, os testes rodam
diretamente a partir do navegador. Na realidade, em virtude desta
caracterstica do Selenium, os testes podem rodar virtualmente em qualquer
navegador que suporte Java Script (Internet Explorer, Firefox, Opera, Safari,
Konqueror, etc).
Basicamente, os testes do Selenium so escritos em tabelas HTML. Nestas
tabelas, voc informar as operaes ou asseres de um teste e os seus
respectivos argumentos. O Selenium responsvel por interpretar os
comandos 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 WEB
Server que a aplicao WEB estiver sendo executada. Os testes so
escritos previamente em tabelas HTML e o TestRunner (Gerenciador
da execuo dos testes) responsvel pela execuo dos testes.
Selenium RC (Remote Control): Neste modo os testes so dirigidos por
uma das linguagens suportadas pelo Selenium (Ruby16, Python, etc).
15
68
Selenium Core
Conforme mencionado anteriormente, neste modo chamado de Selenium
Core, os testes so executados a partir do WEB Server em que a aplicao
WEB estiver sendo executada. Para que o Selenium Core funcione
corretamente, voc dever habilitar o acesso de leitura e escrita nos
diretrios onde ele for instalado.
Para instalar o Selenium Core, voc dever fazer o download17 a partir do site
do Selenium. Uma vez feito o download, voc dever descompactar os
arquivos 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 da
abertura da pgina TestRunner.html. O TestRunner a pgina que gerencia
a execuo dos testes e exibe o relatrio de progresso da execuo.
Normalmente esta pgina est localizada sob o diretrio core, como pode
ser observado no exemplo apresentado na Figura 51.
17
http://www.openqa.org/selenium-core
69
18
http://www.openqa.org/selenium-core/download/readyState.xpi
70
71
19
http://release.openqa.org/selenium-core/nightly/reference.html
72
Selenium IDE
O Selenium IDE20 um ambiente grfico integrado ao Firefox capaz de
gravar e reproduzir os testes do Selenium. O Selenium IDE captura e grava
as suas aes no Firefox. Essas aes so convertidas para o Selens
automaticamente para que voc possa salvar o teste, execut-lo e depur-lo
individualmente ou em conjunto com outros testes numa Test Suite.
O Selenium IDE uma extenso do Firefox, como pode ser visto na Figura
54. Uma vez instalado, voc poder executar o Selenium IDE acessando o
menu Tools>Selenium IDE, de acordo com o exemplo apresentado na
Figura 55.
Uma vez aberta a janela do Selenium IDE, qualquer ao que voc executar
nas pginas do navegador ser convertida para uma operao em Selens na
aba Table. No entanto, o Selenium IDE no se limita apenas a reproduzir os
cliques ou preenchimento dos campos realizados durante a navegao. Voc
tambm poder selecionar qualquer uma das operaes suportadas pelo
Selens conforme a sua necessidade por meio do campo Command. Vale a
pena destacar que, conforme o comando selecionado, uma descrio
completa da sua utilizao e argumentos requeridos apresentada na parte
inferior da janela do Selenium IDE.
20
73
74
Por fim, assim que voc finalizar gravao da navegao da sua aplicao
WEB, todos os passos executados sero convertidos automaticamente em
Selens e estaro disponveis na aba Table. O teste poder ser salvo no
formato HTML para que seja posteriormente executado.
Voc tambm poder executar, pausar ou depurar o teste por meio do
Selenium IDE. Adicionalmente, o Selenium IDE empacota internamente por
default o Selenium Core. Neste caso, voc tambm poder executar o teste
por meio do TestRunner do Selenium Core, como pode ser visto na Figura 57.
75
76
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 for
aberto.
Por ltimo, devemos destacar que voc tambm poder testar aplicaes
WEB baseadas em AJAX (Asynchronous JavaScript and XML) utilizando o
Selenium IDE. Sem discutir em detalhes, uma pgina AJAX capaz de
realizar diversas operaes sem, no entanto, precisar buscar ou trocar muitas
informaes com o WEB Server.
Neste caso, normalmente a pgina no recarregada, garantindo assim
maior velocidade nas operaes. No entanto, neste cenrio, operaes em
Selens do tipo clickAndWait no funcionaro corretamente em virtude de
que a pgina AJAX no ser recarregada.
Para solucionar esta limitao e viabilizar os testes de pginas AJAX, voc
dever utilizar, por exemplo, a operao waitForValue que aguardar a
mudana do valor definido como argumento, ao invs de esperar a pgina
recarregar.
Existem muitas pginas21 na Internet apresentando solues e exemplos para
testes de pginas AJAX utilizando o Selenium. Vale a pena conferir tambm
os exemplos apresentados no site do Selenium.
21
http://www.infoq.com/articles/testing-ajax-selenium
77
http://www.openqa.org/selenium-rc/
http://www.openqa.org/selenium-rc/tutorial.html
78
operao, na verdade ele se comunica com o Selenium Server, que por sua
vez se comunica com essa instncia do navegador (usando XmlHttpRequest
do AJAX).
79
80
81
82
Marathon
O Marathon24 uma ferramenta Open Source de testes de regresso
automatizados para aplicaes Java desenvolvidas com o toolkit grfico
Swing25. Utilizando o Marathon, voc poder criar testes automatizados por
meio da captura das suas aes (cliques do mouse, digitao, etc). Estas
aes so convertidas em scripts Jython26 (implementao Java da linguagem
de 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 prcondies de execuo dos testes, assim como, a posterior limpeza
dos recursos criados);
Component Resolver e Custom Component Resolver (recurso utilizado
para detectar todos os componentes do Swing (botes, campos de
edio, menus, etc), assim como os seus mtodos e propriedades);
24
83
27
http://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
84
85
28
http://www.horstmann.com/violet/
86
87
88
89
90
A janela Insert Script dever ser exibida. Voc dever escolher um dos
scripts disponveis para a reutilizao e, se for o caso, informar o parmetro
do mdulo reutilizvel, como pode ser visto na Figura 70.
Uma vez que esses passos forem realizados com sucesso, o Marathon
adicionar uma chamada ao mdulo reutilizvel dentro do script de teste,
como pode ser observado no exemplo apresentado na Figura 71.
91
29
http://en.wikipedia.org/wiki/JUnit
92
93
Uma vez que a Fixture for criada, voc poder associa-la a um script de
teste. Para tal tarefa, voc dever clicar no menu Marathon>Select Fixture,
como pode ser observado no exemplo apresentado na Figura 75.
http://www.python.org/download/
94
SoapUI
SoapUI31 uma ferramenta Open Source escrita em Java cuja principal
funo consumir e testar WEB Services32. WEB Service uma tecnologia
baseada em XML e HTTP cuja principal funo disponibilizar servios
interativos na WEB que podem ser acessados (ou consumidos) por qualquer
outra aplicao independente da linguagem ou plataforma em que a
aplicao foi construda.
O SOAP (Simple Object Access Protocol) o padro universal utilizado para a
troca de mensagens entre as aplicaes consumidoras e o WEB Service. O
WEB Service expe as suas operaes por meio de um tipo de esquema XML
chamado WSDL (WEB Service Description Language).
Neste contexto, o SoapUI facilita todo o processo de criao e depurao dos
testes por meio de uma interface grfica intuitiva. Dentre as suas principais
caractersticas, podemos destacar as seguintes:
Importao e gerao automtica das requisies descritas no WSDL;
Capacidade de gerenciar um nmero ilimitado de requisies para
cada operao;
Gerenciamento de mltiplos endpoints para cada WEB Service;
Validao das requisies e respostas contra as suas definies no
WSDL;
Testes funcionais, desempenho e stress;
Execuo de diversos testes em paralelo;
Editores com syntax highlight e formatao automtica;
Suporta expresses XPATH;
Suporta criao de testes complexos utilizando scripts Groovy33;
31
32
33
95
96
97
98
99
100
101
Criando asseres
Por meio da janela Test Step Editor, voc tambm poder definir asseres
(ou verificaes) que sero executadas contra a resposta da requisio. Voc
poder adicionar uma assero clicando com o boto direito do mouse na
aba Assertions localizada na parte inferior da janela Test Step Editor
(Figura 82).
Descrio
Valida as respostas das requisies contra o xmlschema definido no WSDL
Verifica a existncia de uma string nas respostas das
requisies
102
Simple
NotContains
SOAP Fault
XPath Match
34
http://en.wikipedia.org/wiki/XPath
103
Figura 84: Depurando Test Cases complexos por meio do Test Result Log
104
105
Test Step
Groovy Script
Conditional Goto
Properties
Delay
Property
Transfer
Descrio
Permite a utilizao do Groovy (linguagem de script
baseada em Java) para criar Test Steps e Asseres
complexas
Fornece a possibilidade de mudar o fluxo de execuo
dos Test Steps de acordo com alguma condio especial
Armazena propriedades para serem utilizadas entre os
Test Steps como se fossem variveis
Simula uma espera/atraso de acordo com o tempo
determinado por voc
Transfere dados entre os Test Steps
106
Voc tambm poder criar asseres para identificar se o WEB Service est
atendendo determinado requisito de performance de acordo com as suas
necessidades, como pode ser observado na Figura 86.
Caso o WEB Service demore mais tempo do que o tempo definido na
assero, inserido um registro no log. O SoapUI tambm exibe grficos
com as estatsticas da execuo dos testes para facilitar a leitura e a anlise
dos dados, conforme apresentado na Figura 87.
107
108
http://jakarta.apache.org/jmeter/index.html
Microsoft
WEB
Application
http://www.microsoft.com/downloads/details.aspx?FamilyID=e2
Stress
c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en
Tool
109
JMeter
O JMeter35 uma ferramenta Open Source de testes de performance
automatizados para aplicaes WEB. O JMeter oferece recursos para realizar
testes de performance, volume e estresse automatizados para aplicaes
WEB, servidores FTP, WEB Services, Banco de Dados, entre outros.
Por ser uma ferramenta inteiramente escrita em Java, o JMeter poder ser
executado em qualquer plataforma que suporte a mquina virtual do Java.
Alm disso, o JMeter facilita todo o processo de criao e depurao dos
testes por meio de uma interface grfica intuitiva.
Os testes podem ser escritos manualmente (por meio da criao manual das
requisies HTTP36) ou gravados automaticamente enquanto voc navega na
aplicao simulando um usurio real (por meio de um Proxy Server).
Entre os diversos recursos oferecidos pelo JMeter, devemos destacar:
Pode ser executado em qualquer plataforma que suporte a mquina
virtual do Java 1.4 ou superior (Solaris, Linux, Windows, OpenVMS
Alpha 7.3+);
Suporta a criao de testes de performance para os protocolos (HTTP,
JDBC, FTP, JMS, LDAP, SOAP, entre outros);
Possibilidade de executar os testes em computadores distribudos37;
Criao de asseres para validar os requisitos de performance e
funcionalidade;
Possibilidade de monitorar a performance de um servidor Apache
Tomcat38;
Permite a utilizao de pr-processadores e ps-processadores para
modificar o comportamento das requisies;
Suporta diversos tipos de monitores para avaliar a performance da
aplicao em teste;
35
110
111
A janela Thread Group dever ser exibida, como pode ser observado na
Figura 90. Nesta janela, voc poder configurar o nmero de usurios virtuais
simultneos que sero simulados durante a execuo do teste por meio do
campo Number of Threads (users).
112
113
Dessa forma, o JMeter poder executar os testes por meio da reproduo das
requisies HTTP gravadas neste passo. A princpio, voc dever manter
todos os parmetros default desta janela, exceto o campo Target
Controller. Neste campo voc dever selecionar o Thread Group que voc
criou anteriormente. Assim, o HTTP Proxy Server saber o lugar onde as
requisies HTTP capturadas devero ser gravadas. Lembre-se de pressionar
o boto Start para iniciar o HTTP Proxy Server.
Em seguida, voc dever apontar o Proxy do seu navegador preferido para o
endereo localhost:8080. neste endereo que o HTTP Proxy Server do
JMeter est escutando as requisies. Dessa forma, o JMeter poder
capturar e gravar todas as requisies HTTP (GET, POST, etc) trocadas entre
114
115
39
http://wiki.apache.org/jakarta-jmeter/JMeterAndHTTPS
116
Adicionando asseres
O Jmeter, por meio deAssertions (asseres), valida as respostas das
requisies HTTP. Existe um conjunto de asseres para as mais diversas
funes, mas por hora, vamos discutir um pouco sobre a assero Response
Assertion.
Este tipo de assero permite que voc procure determinado texto dentro do
contedo de uma requisio HTTP. Se o texto procurado no for encontrado,
ento a assero falhar.
Dando continuidade ao nosso exemplo de pesquisa no Google, voc dever
clicar com o boto direito do mouse na requisio HTTP chamada search e
escolher a opo de menu Add>Assertions>Response Assertion, como pode
ser visto na Figura 94.
117
118
119
Adicionando um timer
Voc poder simular a navegao de um site ou utilizao de uma aplicao
WEB de maneira mais realstica por meio da utilizao de um Timer.
Nenhum usurio normal clica nos links rapidamente milhares de vezes feito
um rob. O Timer um recurso do JMeter que permite a simulao das
paradas para ler algum texto ou ver alguma figura que um usurio normal
realiza antes de realizar a prxima operao.
O JMeter oferece um conjunto de Timers para as mais diversas funes, mas
por hora, vamos discutir um pouco sobre o Uniform Random Timer. Este
tipo de Timer permite simular uma parada aleatrio dentro dos limites inferior
e superior que voc informar.
Para adicionar este Timer, voc dever clicar com o boto direito do mouse
sobre o Thread Group e, em seguida, escolher a opo de menu
Add>Timer>Uniform Random Timer. Neste caso, o Timer afetar todas as
requisies HTTP que estiverem associadas a esse Thread Group.
Na Janela Uniform Random Timer, voc dever preencher os campos
Random Delay Maximum e Constant Delay Offset para definir os limites
inferior e superior das paradas simuladas, como pode ser observado na
Figura 98.
120
121
122
40
http://www.programmerplanet.org/pages/projects/jmeter-ant-task.php
123
O Listener View Results Tree, por sua vez, nos fornece informaes sobre o
cdigo de sucesso ou falha das requisies HTTP (HTTP Response Code41),
assim como o contedo completo das requisies.
41
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
124
42
http://rubenlaguna.com/wp/better-jmeter-graphs/
125
126
Uma vez que o HTTP Authorization Manager for configurado, voc dever
adicionar ao Thread Group Monitor do Tomcat um HTTP Request. Para
realizar tal tarefa, clique com o boto direito do mouse no Thread Group
Monitor do Tomcat e acesse o menu Add>Sampler>HTTP Request.
O HTTP Request tem a funo de enviar requisies ao servidor Apache
Tomcat para obter os parmetros de performance durante a execuo dos
testes. Na janela HTTP Request voc dever configurar o IP do servidor
Apache Tomcat, assim como, a porta em que o servidor estiver escutando.
Adicionalmente, na seo HTTP Request voc dever informar o caminho
/manager/status para indicar o lugar onde os parmetros de performance
devero ser obtidos.
Por ltimo, na seo Send Parameters with the Request, voc dever
preencher os campos Name e Value com os valores XML e true
respectivamente. Lembre-se de habilitar o campo Use as Monitor localizado
na seo Optional Tasks, como pode ser observado na Figura 108.
127
128
Por fim, o ltimo passo dever ser realizado por meio da adio de um
Listener chamado Monitor Results. Para realizar tal tarefa, clique com o
boto direito do mouse sobre o Thread Group Monitor do Tomcat e
selecione a opo de menu Add>Listener>Monitor Results.
Na aba Health da janela Monitor Results, voc poder acompanhar a
sade do Tomcat por meio de indicadores coloridos durante a execuo dos
testes de performance, como pode ser observado no exemplo apresentado
na Figura 110.
129
Por outro lado, na aba Performance da janela Monitor Results, voc poder
acompanhar a performance e utilizao de recursos do Apache Tomcat
durante a execuo dos testes de performance, como pode ser visto na
Figura 111.
130
43
131
44
http://en.wikipedia.org/wiki/Internet_Information_Services
132
Neste dilogo, entre outras configuraes, voc poder optar pela gravao
do tempo que voc levar para ler algum texto ou ver alguma figura antes de
realizar a prxima requisio (atraso ou parada), simulando assim um usurio
real durante a execuo dos testes de performance.
Deixe os valores default nos campos e pressione o boto Next>. Uma
janela do Internet Explorer pr-configurada com o endereo do Proxy abrir
automaticamente, como pode ser visto na Figura 114.
133
134
135
136
O relatrio Page Summary, por sua vez, exibe o tempo mdio de resposta
de cada requisio HTTP (Figura 121).
45
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
137
138
Uma vez que os Page Groups sejam configurados, voc dever associar as
requisies HTTP ao Page Group conforme a sua necessidade. No nosso
caso, vamos associar o Page Group pesquisa requisio que realiza a
pesquisa pelas palavras chaves teste de software, como pode ser
observado na Figura 124.
139
140
Uma vez que os grupos sejam criados e os usurios adicionados, voc poder
associar ao teste um ou mais grupos de acordo com as suas necessidades
por meio da opo Users, como pode ser observado na Figura 127.
141
http://www.tortoisecvs.org/
142
CVS
O CVS46 uma ferramenta Open Source que atende os pr-requisitos bsicos
de um processo de Gerncia de Configurao de Software47 e implementa as
principais funes pertinentes ao controle de verses.
Basicamente, o CVS armazena em seu repositrio as modificaes realizadas
num arquivo ao longo do tempo; cada modificao identificada por um
nmero chamado Reviso.
Toda Reviso armazena as modificaes realizadas, quem realizou as
modificaes, quando as modificaes foram realizadas, entre outras
informaes.
Alm disso, o CVS conta com um mecanismo capaz de controlar os acessos
simultneos e as modificaes paralelas, garantindo a integridade das
modificaes e a atomicidade das operaes.
De maneira geral, o fluxo de trabalho bsico do CVS consiste em retirar os
arquivos de um projeto para a rea de trabalho, realizar as modificaes e,
por ltimo, submeter as modificaes de volta ao repositrio, como pode ser
visto na Figura 128. O completo entendimento dos termos apresentados na
Tabela 3 fundamental para auxiliar a leitura desse captulo.
46
47
http://ximbiot.com/cvs/manual/
Gerncia de Configurao Tcnicas e Prticas no Desenvolvimento do Software
143
Termo
Workspace, SandBox
(rea de trabalho)
Repository
(Repositrio)
Revision (Reviso)
Release, Version
(Liberao)
Commit (Entregar,
Submeter)
Checkout (Retirar,
Recuperar)
Descrio
Termo usado para representar um diretrio no
computador cliente onde os arquivos de um projeto
sero transferidos durante uma retirada.
Local onde os arquivos submetidos ao controle de
verses so armazenados.
Termo usado para descrever a numerao atribuda
pelo CVS a cada modificao de um arquivo.
Termo usado para descrever a denominao
atribuda a um conjunto de arquivos para
identificar
determinado
ponto
no
tempo;
sobretudo, quando se quer identificar um conjunto
de novas caractersticas ou correes de um
software.
Termo usado para descrever a transferncia de um
ou mais arquivos modificados da rea de trabalho
para um repositrio.
Termo usado para descrever a retirada de um ou
mais arquivos de um repositrio para a rea de
144
trabalho.
Termo usado para descrever o processo de
comparao das modificaes entre revises
diferentes de um arquivo.
Termo usado para descrever o processo de
transferncia dos arquivos de um projeto a um
repositrio, dando inicio ao controle de verses.
Termo usado para descrever um nome simblico
associado a um conjunto de diretrios e arquivos
que compem um projeto a fim de facilitar o
acesso e a manipulao.
Termo usado para descrever o processo de diviso
dos arquivos de um projeto em linhas de
desenvolvimento independentes.
145
TortoiseCVS
O TortoiseCVS48 um front-end grfico Open Source para Windows que
torna o uso do CVS mais fcil e intuitivo. Basicamente, o TortoiseCVS realiza
as principais operaes do CVS por meio de menus de contexto integrados ao
Windows Explorer, como pode ser visto na Figura 129.
48
146
Repositrio
Basicamente, um repositrio um diretrio que tem por objetivo abrigar
todos os arquivos de um projeto sob o controle de verses. O repositrio
poder ser criado num diretrio compartilhado no seu computador ou num
servidor (Windows49 50 ou Linux51).
Naturalmente, quando o repositrio criado num servidor, voc dever
instalar um servidor de CVS e configurar um mtodo de acesso ao repositrio
para garantir a segurana dos arquivos sob o controle de verses.
Sendo assim, para fins didticos, os exemplos apresentados nas sees
seguintes sero realizados num repositrio local. Para tal tarefa, voc dever
criar e compartilhar um diretrio chamado CVSROOT na raiz do seu
computador (C:\CVSROOT).
Importao
Uma vez que o repositrio tenha sido criado, o primeiro passo para iniciar o
controle de verses chamado de Importao. Neste passo, os arquivos da
sua aplicao so transferidos para o repositrio e submetidos ao controle de
verses do CVS.
Para tal tarefa, vamos transferir os arquivos de uma aplicao exemplo para
o diretrio "C:\Temp". A importao do projeto dever ser realizada por meio
do menu de contexto Make New Module.
Na caixa de dilogo Make New Module, o TortoiseCVS fornece opes para
acessar repositrios remotos por meio de qualquer mtodo de autenticao
suportado pelo CVS. Mas, no entanto, como havamos definido
anteriormente, todos os exemplos sero realizados utilizando um repositrio
local.
Em razo disso, voc dever selecionar a opo Locally mounted folder
(:local:) no campo Protocol. O campo "Repository folder" dever ser
preenchido com "C:\CVSROOT" que a localizao do repositrio criado
anteriormente na raiz do seu computador.
49
50
51
http://www.march-hare.com/cvspro/
http://www.devguy.com/fp/cfgmgmt/cvs/cvs_admin_nt.htm
http://devguy.com/fp/cfgmgmt/cvs/cvs_admin_linux.htm
147
O campo Mdulo indica um apelido que ser utilizado pelo TortoiseCVS todas
as vezes que ele se referir ao nosso projeto e dever ser preenchido com o
texto webapp, como pode ser visto na Figura 130.
148
Este dilogo ser exibido somente quando importar o primeiro projeto. Assim
que a criao do novo mdulo e a inicializao do repositrio finalizarem,
voc dever adicionar os arquivos a esse mdulo recm criado.
Para tal tarefa, voc dever acessar o menu de contexto CVS Add Contents.
O TortoiseCVS exibir um dilogo solicitando a confirmao dos arquivos que
sero adicionados, como pode ser visto na Figura 132.
149
150
Por fim, assim que a operao de retirada for concluda, voc poder
comear a trabalhar com os arquivos do projeto webapp que foram
transferidos para o diretrio C:\Projetos\webapp.
151
Modificando os arquivos
Assim que o projeto for transferido para a rea de trabalho, poderemos
iniciar a edio dos arquivos. Perceba que, aps a importao e durante a
edio dos arquivos, o TortoiseCVS modifica os cones do Windows Explorer a
fim dar um significado visual sobre o status dos arquivos da rea de trabalho
em relao aos arquivos armazenados no repositrio, como pode ser visto na
Figura 135.
152
153
154
Configurando o TortoiseCVS
Por ltimo, o comportamento e as configuraes do TortoiseCVS podem ser
modificados por meio do menu de contexto Preferences, como pode ser
visto na Figura 138.
Dentre as configuraes possveis, podemos destacar: integrao com
ferramentas externas para a realizao da comparao das diferenas entre
duas revises, modificao da aparncia dos cones que indicam o status dos
arquivos no Windows Explorer e a opo para ignorar arquivos durante as
operaes do CVS (para evitar que determinados tipos de arquivos sejam
submetidos ao controle de verses inadvertidamente).
155
http://tailforwin32.sourceforge.net/
http://www.jam-software.com/freeware/index.shtml
http://www.microsoft.com/technet/sysinternals/
http://www.vmware.com/products/server/
http://download.microsoft.com/download/f/5/5/f55484df8494-48fa-8dbd-8c6f76cc014b/pict33.msi
http://portswigger.net/proxy/download.html
http://sourceforge.net/projects/camstudio/
http://www.mirekw.com/winfreeware/mwsnap.html
http://winmerge.sourceforge.net/
http://www.generatedata.com/
http://getfirebug.com/
156
Caso o Tail for Win32 no atenda as suas necessidades, vale a pena conferir
os utilitrios BareTail53 e MakeLogicTail54 que oferecem funcionalidades
semelhantes.
52
53
54
http://tailforwin32.sourceforge.net/
http://www.baremetalsoft.com/baretail/
http://sourceforge.net/projects/makelogictail/
157
HeavyLoad
O HeavyLoad55 um utilitrio gratuito para Windows cuja principal funo
estressar os recursos de um computador, ou seja, aumentar a utilizao do
processamento, memria, disco, rede e sistema operacional a nveis
extremamente elevados.
O HeavyLoad foi criado originalmente para testar a robustez de servidores
antes de entrar em produo, no entanto, podemos us-lo para testar a
confiabilidade e robustez da aplicao em teste quando submetida a um
ambiente onde os recursos esto sendo utilizados no limite da sua
capacidade. A utilizao do HeavyLoad bastante simples, basta selecionar
quais recursos voc quer estressar, qual freqncia ser atualizado o grfico
que demonstra a utilizao da memria e processamento e, por fim, iniciar a
execuo, como pode ser visto na Figura 140.
http://www.jam-software.com/freeware/index.shtml
http://www.nsauditor.com/network_tools/network_traffic_generator.html
158
Process Explorer
O Process Explorer57 utilitrio gratuito para Windows cuja principal funo
monitorar a performance e o comportamento das aplicaes. O
funcionamento do Process Explorer semelhante ao Gerenciador de Tarefas
do Windows, mas no entanto, ele conta com diversos recursos avanados
que nos auxilia a monitorar o comportamento e performance da aplicao em
teste.
Por meio do Process Explorer, voc poder ver informaes da aplicao em
teste, tais como, a linha de comando e o usurio usado para executar a
aplicao, os processos filhos iniciados pela aplicao, entre outras
informaes. Devemos destacar tambm a possibilidade de visualizar os
recursos, tais como, os arquivos, diretrios, chaves de registros e DLLs que
foram abertos pela aplicao em teste. Alm disso, voc poder ver tambm
grficos destacando a utilizao de processamento, memria e disco apenas
da aplicao selecionada, como pode ser observado no exemplo apresentado
na Figura 141.
http://www.microsoft.com/technet/sysinternals/SystemInformation/ProcessExplorer.mspx
http://www.microsoft.com/technet/sysinternals/default.mspx
159
VMWARE
O VMWARE59 uma ferramenta gratuita que executa mltiplos sistemas
operacionais ao mesmo tempo num mesmo computador fsico por meio de
virtualizao. O VMWARE suporta a virtualizao de diversas plataformas, tais
como Windows, Linux, Novel Netware, Solaris, entre outros. Alm disso, ele
pode ser executado tanto no Windows quanto no Linux.
O VMWARE uma soluo perfeita economizar investimentos com hardware
quando necessrio testar aplicaes que suportam plataformas diferentes.
importante lembrar que o sistema operacional virtualizado se comporta
realmente como se fosse um ambiente separado do ambiente onde ele est
sendo executado, mas no entanto, apesar dessas vantagens, o VMWARE no
recomendado para a realizao de testes de performance, em virtude de
que por mais eficiente que seja a virtualizao, ela nunca ser to rpida
quanto o hardware real. Dentre as principais funcionalidades do VMWARE,
devemos destacar a possibilidade de executar vrios sistemas operacionais ao
mesmo tempo, a possibilidade de realizar configuraes nos dispositivos
virtualizados (memria, disco, rede, USB, entre outros), assim como, a
possibilidade de salvar o estado do sistema operacional (snapshot) para
posterior restaurao (normalmente utilizado para voltar a determinado
ponto no tempo em que o sistema operacional est limpo e com as prcondies necessrias satisfeitas para iniciar os testes), como pode ser visto
na Figura 142.
http://www.vmware.com/products/server/ e http://www.vmware.com/products/player/
http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx
160
Microsoft
Testing
Pairwise
Independent
Combinatorial
OS
WINXP
WINVISTA
WINXP
WINXP
61
http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd8c6f76cc014b/pict33.msi
62
63
http://www.satisfice.com/tools/pairs.zip
http://www.pairwise.org/tools.asp
161
Burp Suite
O Burp Suite64 um utilitrio Open Source escrito em Java cuja principal
funo monitorar e interagir com as requisies HTTP enviadas de um
navegador para um servidor WEB e vice-versa. O Burp Suite se comporta
com um Proxy, ou seja, um elemento capaz de monitorar, inspecionar e
modificar todo o trfego de informaes entre o navegador e o servidor WEB.
Por meio do Burp Suite, voc poder interceptar e validar o contedo das
requisies HTTP (GET/POST), assim como, modificar os contedo das
requisies para simular um hacker explorando uma vulnerabilidade da
aplicao, Alm disso, voc poder testar a robustez da aplicao quando
dados incorretos so enviados ao servidor. O Burp Suite oferece uma opo
de filtragem para exibir somente o tipo de requisio que importa no
momento do teste, assim como, um mecanismo para visualizar o contedo da
requisio renderizada em HTML para simular o que o navegador ir exibir,
como pode ser visto na Figura 143.
64
65
http://portswigger.net/proxy/download.html
https://tcpmon.dev.java.net/
162
Camstudio
O Camstudio66 um utilitrio Open Source para Windows cuja principal
funo capturar toda a atividade exibida no seu monitor (abrir janelas,
mover o mouse, digitar, etc) e converter para um vdeo no formato AVI ou
Flash (SWF). Estes vdeos podem ser capturados para demonstraes,
treinamentos, entre outras funes. No entanto, sob o ponto de vista de
testes de software, voc poder gravar um vdeo a fim de fornecer uma
evidncia ao time de desenvolvimento de que existe um defeito em
determinada funcionalidade da aplicao e os passos para reproduzi-lo.
Durante o processo de gravao voc poder escolher se deseja gravar
determinada regio do monitor ou o monitor todo. Para dar nfase ou
destacar determinada ao ou regio da tela, voc poder gravar a sua voz
ou escolher alguns dos indicadores (setas, formas, bales, etc), fornecidos
pelo CamStudio, como pode ser observado no exemplo apresentado na
Figura 144.
http://sourceforge.net/projects/camstudio/
http://www.debugmode.com/wink/
163
MWSnap
O MWSnap68 um utilitrio gratuito para Windows cuja principal funo
capturar uma imagem (screenshot) do seu monitor. Estas imagens podem ser
capturadas para demonstraes, treinamentos, entre outras funes. Assim
como o CamStudio, a imagem capturada poder fornecer uma evidncia ao
time de desenvolvimento de que existe um defeito em determinada
funcionalidade da aplicao. O MWSnap muito superior em relao ao velho
boto PrintScreen para capturar uma imagem (screenshot) do seu monitor.
Entre outros recursos, voc poder capturar janelas, dilogos e at
componentes especficos de uma janela (botes, grids, menus, etc).
Adicionalmente, voc poder configurar o MWSnap para capturar uma regio
especfica do seu monitor, como pode ser observado na Figura 145.
68
69
http://www.mirekw.com/winfreeware/mwsnap.html
http://www.traction-software.co.uk/downloads/ScreenGrabPro.zip
164
WinMerge
O WinMerge70 um utilitrio Open Source para Windows cuja principal
funo realar a diferena entre dois arquivos. O WinMerge de grande
utilidade quando necessrio durante a execuo de um teste comparar um
arquivo de sada (output) gerado pela aplicao em teste contra o mesmo
arquivo gerado por uma verso anterior da mesma aplicao, por um outro
build da mesma aplicao ou, at mesmo, pelo sistema legado. O WinMerge
oferece um interface fcil de usar e bastante intuitiva. Alm de realar as
diferenas entre dois arquivos, voc poder realizar operaes de
mesclagem/sincronizao (merge) entre as diferenas dos arquivos a fim de
tornar os arquivos idnticos ou fazer um arquivo receber as diferenas do
outro, como pode ser visto na Figura 146. Entre os diversos recursos do
WinMerge, devemos destacar o recurso de comparao de pastas, onde
realada as diferenas entre os arquivos de duas pastas, as diferenas dos
seus nomes, data de atualizao, entre outros.
http://winmerge.sourceforge.net/
http://www.perforce.com/perforce/products/merge.html
165
Data Generator
O Data Generator72 uma aplicao WEB Open Source baseada em
JavaScript, PHP and MySQL cuja principal funo gerar enormes volumes
de dados para popular banco de dados de testes. Este tipo de utilitrio tem
grande serventia quando a aplicao nova e no existem dados nas tabelas
do banco de dados para realizar os testes. O Data Generator vem com uma
srie de templates com diversos tipos de dados para auxiliar a criao da
massa de dados conforme a sua necessidade. No entanto, muitos templates
correspondem a dados especficos de outros pases (Canad, Estados Unidos,
etc). Por outro lado, por ser uma ferramenta Open Source, voc poder fazer
o download do cdigo fonte e realizar as modificaes necessrias para
atender as suas necessidades (gerao de CPF, telefones no formato
brasileiro, CEP no formato brasileiro e assim por diante), como pode ser visto
na Figura 147.
72
http://www.generatedata.com/
166
Firebug
O Firebug73 um utilitrio Open Source cuja principal funo editar,
depurar e monitorar o contedo HTML, CSS e JavaScript utilizados em
aplicaes WEB. O Firebug uma extenso (add-on) do navegador Firefox.
Por meio do Firebug, voc poder monitorar o que est acontecendo por
detrs dos panos da aplicao em teste (on-the-fly enquanto voc navega
pelas pginas). Entre os diversos recursos oferecidos pelo Firebug, podemos
destacar a visualizao do contedo de cada requisio entre navegador e o
servidor e a possibilidade de monitorar as requisies XML utilizadas em
pginas AJAX. Alm disso, voc poder monitorar e depurar o cdigo
JavaScript enquanto ele executado e analisar a performance do
download/execuo de cada elemento da pgina da aplicao WEB, como
pode ser visto na Figura 148.
73
http://getfirebug.com/
167
Consideraes Finais
Ferramentas similares no apresentadas neste
livro
Quando este livro ainda era uma idia embrionria, entre riscos e rabiscos
numa folha em branco criei um MindMap74 definindo as ferramentas que
fariam parte do seu escopo. Aps uma pequena pesquisa, cheguei a
concluso de que o escopo deveria ser reduzido a fim de evitar que o livro
levasse muito tempo para ser escrito e ficasse muito desatualizado (as
ferramentas Open Source evoluem numa velocidade fantstica).
O escopo foi redefinido tendo em mente as ferramentas realmente
essenciais; outro ponto que pesou muito foi o tamanho das comunidades
apoiando e suportando estas ferramentas. Ferramentas com grandes
comunidades e liberaes freqentes foram privilegiadas em relao s
outras.
De qualquer forma, mantive a listagem original a fim de apresentar as
ferramentas similares que no foram abordadas neste livro (talvez sejam
adicionadas novas ferramentas na prxima edio de acordo com o retorno
do leitor). Caso as ferramentas apresentadas neste livro no atendam as suas
necessidades, sinta-se vontade para procurar um similar equivalente entre
as ferramentas apresentadas na Tabela 4.
Categoria
Gesto de
projetos
Teste de
performance
Gesto de
testes
74
Ferramenta
GanttProject http://ganttproject.biz/
]project-open[ http://www.project-open.com/
OpenWorkbench http://www.openworkbench.org/
XPlanner http://www.xplanner.org/
WebCollab http://webcollab.sourceforge.net/
OpenProj http://openproj.org/
Mindquarry http://www.mindquarry.com/
OpenSTA http://www.opensta.org/
WEBLOAD http://www.WEBload.org/
The Grinder http://grinder.sourceforge.net/
rth http://www.rth-is-quality.com
TestMaster http://testmaster.sourceforge.net/
Testitool http://majordojo.com/testitool/
http://en.wikipedia.org/wiki/Mind_Mapping
168
Gesto de
defeitos
Gesto de
requisitos
Testes
funcionais
Estimativas
Controle de
verses
169
170
Sites
Categoria Testing do site SourceForge, um dos maiores
repositrios de software Open Source do mundo.
http://sourceforge.net/softwaremap/trove_list.php?form_cat=5
75
Categoria Quality Assurance do site SourceForge, um dos
maiores repositrios de software Open Source do mundo.
http://sourceforge.net/softwaremap/trove_list.php?form_cat=5
65
Site especializado em ferramentas para teste de software.
Neste site as ferramentas so organizadas e classificadas em
diversas categorias tais como: testes de performance, gesto
de defeitos, testes funcionais e assim por diante.
http://www.opensourcetesting.org/
Site especializado em teste e qualidade de software. Neste site
existe uma seo listando diversas ferramentas agrupadas por
diversas categorias.
http://www.softwareqatest.com/qatWEB1.html
Categoria Testing do site FreshMeat, um dos maiores
repositrios de software Open Source do mundo.
http://freshmeat.net/browse/836/
Categoria Quality Assurance do site FreshMeat, um dos
maiores repositrios de software Open Source do mundo.
http://freshmeat.net/browse/822/
Categoria Testing do site Tigris, um repositrio de software
Open Source.
http://testing.tigris.org/
171
C# e .NET
Linux
Java
172
Alternativas comerciais
impossvel apresentar e discutir ferramentas Open Source sem pensar nas
ferramentas comerciais similares e vice-versa. A ttulo de comparao, sero
apresentadas na Tabela 6 as principais ferramentas comerciais para cada
categoria apresentada neste livro.
Categoria
Gesto de projetos
Testes de
performance
Gesto de testes
Ferramenta
TraceGP
http://www.tracegp.com.br/
Microsoft Office Project
http://office.microsoft.com/enus/project/FX100487771033.aspx
Project Builder
http://www.projectbuilder.com.br/
BaseCamp
http://www.basecamphq.com/
ZOHO Projects
http://projects.zoho.com/jsp/home.jsp
Mercury LoadRunner
http://www.mercury.com/us/products/performancecenter/loadrunner/
WebLOAD Professional
http://www.radview.com/
Empirix e-Load
http://www.empirix.com/products/testing/e-Load.asp
Rational Performance Tester
http://www306.ibm.com/software/awdtools/tester/performance/
Compuware QALoad
http://www.compuware.com/solutions/qaload.htm
Borland SilkPerformer
http://www.borland.com/us/products/silk/silkperforme
r/index.html
RSI/QA-Teste
http://www.rsinet.com.br/modules/content/index.php?
id=9
TestLog
http://www.testlog.com/
Mercury Quality Center
http://www.mercury.com/us/products/quality-center/
TestTrack TCM
http://www.seapine.com/tttcm.html
173
Rational TestManager
http://www306.ibm.com/software/awdtools/test/manager/
Compuware QA Director
http://www.compuware.com/products/qacenter/qadire
ctor.htm
SilkCentral Test Manager
http://www.borland.com/us/products/silk/silkcentral_t
est/index.html
Gesto de defeitos
FogBugz
http://www.fogcreek.com/FogBugz/
Jira
http://www.atlassian.com/software/jira/
yKAP
http://www.ykap.com/
Rational ClearQuest
http://www306.ibm.com/software/awdtools/clearquest/
Gesto de
Rational RequisitePro
Requisitos
http://www-306.ibm.com/software/awdtools/reqpro/
Borland Caliber
http://www.borland.com/us/products/caliber/index.ht
ml
Compuware Optimal Trace
http://www.compuware.com/products/optimaltrace/
Telelogic DOORS Fastrak
http://www.telelogic.com/Products/doors/doorsfastrak
/index.cfm
Testes funcionais
Mercury QuickTest Professional
http://www.mercury.com/us/products/qualitycenter/functional-testing/quicktest-professional/
Rational Functional Tester
http://www306.ibm.com/software/awdtools/tester/functional/
QA Wizard Pro
http://www.seapine.com/qawizard.html
Compuware QARun
http://www.compuware.com/qarun.htm
TestComplete
http://www.automatedqa.com/products/testcomplete/
Controle de verses Perforce
http://www.perforce.com/
174
http://www.blogtoplist.com/software/blogdetails-11377.html
http://www.openworkbench.org/index.php?option=com_content&task=view&
id=7&Itemid=15
http://better-scm.berlios.de/comparison/comparison.html
http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
ftp://ftp.software.ibm.com/software/rational/web/reports/forrester_scm_wav
e_2007.pdf
http://en.wikipedia.org/wiki/Comparison_of_ticket-tracking_systems
http://www.javaworld.com/javaworld/jw-03-2007/jw-03-bugs.html
http://www.testingfaqs.org/t-track.html
http://www.pronus.eng.br/artigos_tutoriais/analises/ferramentasControleMud
anca.php
http://bugs.sakaiproject.org/confluence/download/attachments/7105/HTTP_T
est_Tool_Comparison.xls?version=1
175
176
177
Sobre o autor
Cristiano Caetano (c_caetano@hotmail.com)
certificado CBTS pela ALATS. Com mais de
10 anos de experincia, j trabalhou na rea
de qualidade e teste de software para
grandes empresas como Zero G, DELL e HP
Invent.
colunista na rea de Teste e Qualidade de
software do site linhadecodigo.com.br e autor
do livro CVS: Controle de Verses e
Desenvolvimento Colaborativo de Software.
O autor tambm pode ser contactado no seguinte endereo:
http://spaces.msn.com/softwarequality/
178
Bibliografia Recomendada
Teste de Software
INTHURN, Cndida. Qualidade & teste de software. 1 edio,
Florianpolis: Visual Books, 2001.
MOLINARI, Leonardo. Testes de Software: Produzindo Sistemas
Melhores e Mais Confiveis, So Paulo: rica, 2003.
KOSCIANSKI, A. Soares, M. S. Qualidade de Software. Editora
Novatec, Segunda Edio, 2007.
BARTIE Alexandre, Garantia da Qualidade de Software, So Paulo:
Elsevier Editora Ltda, 2002.
MECENAS, IVAN et al. Qualidade em Software. Editora Alta Books,
2005.
RIOS, Emerson et al. Teste de Software. Editora Alta Books, 2003.
RIOS, Emerson. Anlise de riscos em projetos de teste de software.
Editora Alta Books, 2005.
RIOS, Emerson et al. Projeto e Engenharia de Software: Teste de
Software. Editora Alta Books, Segunda Edio, 2006.
Gesto de Defeitos e Testes
FUTRELL, Robert T. Quality Software Project Management. Prentice
Hall PTR, 2004.
BLACK, Rex. Critical Testing Processes: Plan, Prepare, Perform,
Perfect. Addison Wesley, 2003
CRAIG Rick D. Systematic Software Testing. Artech House, 2002.
Gesto de Projetos
MCCONNELL, Steve. Software Project Survival Guide: how to be sure
your first important project isn't your last / Steve McConnell. Microsoft
Press, 2002.
THOMSETT, Rob. Radical Project Management. Prentice Hall PTR,
2002.
CHIN, Gary. Agile Project Management: How to Succeed in the Face of
Changing Project Requirements. AMACOM, 2004
Automao de Testes Funcionais e de Aceitao
FEWSTER, Mark et al. Software Test Automation: Effective use of test
execution tools. Addison-Wesley, 1999.
MOSLEY, Daniel J. et al. Just Enough Software Test Automation.
Prentice Hall, 2002.
DUSTIN, Elfriede, et al. Automated Software Testing: Introduction,
Management. Addison-Wesley, 1999.
179
180
Bibliografia
PRESSMAN, Roger. Engenharia de Software. So Paulo: Makron
Books, 1995.
MYERS, Glenford. The Art of Software Testing. New York: Wiley,
1979.
INTHURN, Cndida. Qualidade e Teste de Software, Visual Books,
2001.
MOLINARI, Leonardo. Testes de Software: Produzindo Sistemas
Melhores e Mais Confiveis, So Paulo: rica, 2003.
BARTIE Alexandre, Garantia da Qualidade de Software, So Paulo:
Elsevier Editora Ltda, 2002.
RIOS, Emerson et al. Teste de Software. Editora Alta Books, 2003.
181
ndice Remissivo
  ..................................... 72
Accessors ................................ 73
acessos simultneos ................143
Actions .................................... 73
AJAX ....................................... 78
ALLPAIRS ...............................162
ANT .......................................124
Apache Tomcat ............... 111, 127
rea de trabalho .....................145
Assertions........................... 73, 89
AUT ........................................ 71
automao de testes ................ 68
AVI ........................................164
Bandwidth ..............................139
BareTail..................................158
bookmarks compartilhados........ 62
Branch ...................................146
Browser Recorder....................134
bug ......................................... 16
bug tracking system ................. 15
Build ....................................... 46
Burp Suite ..............................163
calendrio................................ 57
campos personalizados ............. 27
Camstudio ..............................164
Categorias ............................... 35
Change Log ............................. 26
Checkout ................................145
Class Path................................ 85
clickAndWait ............................ 78
cliente ..................................... 51
cobertura dos testes ................. 68
combinao dupla ...................162
Commit ..................................145
componente............................. 35
Concurrent Connections ...........139
Conditional Goto .....................107
Control Panel ........................... 71
controle de verses .................143
Cooldown ...............................139
cross-site scripting.................... 77
182
JMeter....................................111
JUnit ....................................... 93
Jython ..................................... 84
keyword .................................. 40
Liberao................................145
lista de discusso ..................... 58
Listeners.................................122
Loop Count .............................114
Main Class ............................... 85
MakeLogicTail .........................158
Mantis ..................................... 16
Marathon................................. 84
Marathon Control Center........... 91
matriz de rastreabilidade........... 29
menus de contexto.....75, 147, 153
mtricas .................................. 48
Microsoft ................................132
Milestones ............................... 46
MindMap ................................169
modo interativo........................ 80
Module ...................................146
Modules................................... 86
mdulos reutilizveis ........... 88, 91
Mdulos reutilizveis................. 84
MWSnap.................................165
nveis de prioridade .................. 45
Open Source2, 5, 6, 7, 10, 12, 13,
14, 16, 29, 51, 68, 69, 84, 96,
110, 111, 127, 144, 147, 158,
163, 164, 166, 167, 168, 169,
171, 172, 173, 174, 176
Page Groups ...........................140
pairwise..................................162
palavra-chave .......................... 40
pausar................................ 76, 88
Perforce Visual Merge Tool.......166
performance ...........................111
php-Collab ............................... 51
PICT ......................................162
plataforma WEB ......................110
PMBOK .................................... 50
ps-processadores...................111
POST......................................115
pr-processadores ...................111
PrintScreen............................. 165
prioridade ................................ 16
Process Explorer ..................... 160
processo de teste...................... 28
project management system...... 50
projeto..................................... 50
Property Transfer.................... 107
Python ..................................... 84
qualidade ................................. 13
Ramo..................................... 146
Ramp-Up................................ 114
Record ......... 88, 91, 133, 134, 139
registro de bugs ....................... 20
relatrios.................................. 48
Release .................................. 145
Remote Control ........................ 79
repositrio.............................. 144
repositrios de ferramentas Open
Source ................................ 172
Request Editor.......................... 99
requisies de suporte............... 66
requisies HTTP .................... 111
requisitos ................................. 32
Response Assertion ................. 118
resultado da execuo............... 47
Reviso .................................. 144
ROI ......................................... 14
Ruby........................................ 81
Scheduler............................... 114
Schema Compliance ................ 103
Screen Grab Pro ..................... 165
Selens .................................... 71
Selenese .................................. 71
Selenium.................................. 69
Selenium Core .......................... 70
Selenium IDE ........................... 74
Selenium RC............................. 79
Selenium Server........................ 79
Setup....................................... 94
severidade ............................... 16
Simple Contains ...................... 103
Simple NotContains................. 104
Simple Object Access Protocol.... 96
site do projeto .......................... 64
183
Slow Play................................. 93
snapshot ................................161
SOAP ...................................... 96
SOAP Fault .............................104
SoapUI .................................... 96
SSL/HTTPS .............................117
sumrio dos bugs ..................... 24
Swing...................................... 84
syntax highlight........................ 96
SysInternals............................160
tabelas HTML........................... 69
Tail for Win32 .........................158
tarefas .................................... 54
TCO ........................................ 14
TCPMon..................................163
Teardown ................................ 94
tempo estimado ....................... 56
Test Cases............................... 39
test management system .......... 28
Test Step................................101
Test Suite Runner ...................101
Test Suites ......................... 29, 42
teste de software ....................178
testes de performance .............110
testes de regresso .................. 68
testFrame ................................ 72
TestLink .................................. 29
TestRunner.............................. 70
Thread Group .........................113
time do projeto ........................ 51
Timer..................................... 121
TortoiseCVS............................ 147
TrafficEmulator ....................... 159
Violet ....................................... 87
virtualizao ........................... 161
virtualizado............................. 161
VirtualPC ................................ 161
VMWARE................................ 161
volume................................... 111
Warmup................................. 139
WAS ...................................... 132
WEB Application Stress............ 132
WEB Service Description Language
............................................ 96
WEB Services ........................... 96
Websites .................................. 54
Wink...................................... 164
WinMerge .............................. 166
worflow.................................... 16
WorkBench............................. 115
Workspace ............................. 145
Wrapper API............................. 79
WSDL ...................................... 96
XAMMP .........................17, 30, 52
XML ......................................... 96
XmlHttpRequest........................ 80
XPATH ..................................... 96
XPath Match ........................... 104
XSS ......................................... 77
184