Selenium Vs QTP

287 views
Skip to first unread message

Clarissa Rodrigues

unread,
Apr 15, 2011, 7:56:54 AM4/15/11
to guts-rs...@googlegroups.com
Bom dia pessoal, tudo bem?

  Estou trabalhando com Selenium agora, mas nunca utilizei QTP.
  Vocês utilizam? Em comparativo, qual acham melhor?

  Obrigada,
Clarissa

Elias Nogueira

unread,
Apr 15, 2011, 9:04:43 AM4/15/11
to guts-rs...@googlegroups.com, Clarissa Rodrigues
Olá Clarissa!
Olha, as duas ferramentas tem o mesmo propósito... Se tu ja possuit o QTP (e também a suite da HP), não vejo porque utilizar o Selenium.
Tudo que tu fizer no Selenium tu vai conseguir com o QTP, só que de maneira mais fácil. Isso pode ser bom ou ruim dependendo do ponto de vista.

O ideal é que tu saibas o que automatizar e como automatizar independente da ferramenta: saber o teu produto final

O que tu podes fazer para ver qual realmente se adapta melhor ao teu trabalho é pegar poucos casos de teste e automatizar com ambas as ferramentas...
Dai cria um checklist com alguns pontos, tipo tempo que tu levou para automatizar, facilidade no entendimento do código, como os resultados são apresentados, etc...
Estes pontos que vão te dizer qual será a ferramenta ideal para o teu negócio.

Abraço!
--
Elias Nogueira, CSTE


Blog http://sembugs.blogspot.com @eliasnogueira
LinkedIn http://www.linkedin.com/in/eliasnogueira
Selenium Java Evidence http://code.google.com/p/selenium-java-evidence/



2011/4/15 Clarissa Rodrigues <clarissa.ar@gmail.com>
--
Você recebeu esta mensagem porque está inscrito para o Google
Grupos "Grupo de Usuarios de Teste de Software - SUCESU-RS" grupo.

Para postar neste grupo, envie um email para guts-rs...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
guts-rs-suces...@googlegroups.com
Para mais opções, visite este grupo em
http://groups.google.com/group/guts-rs-sucesu?hl=pt?hl=en

Leonardo Ribeiro Oliveira

unread,
Apr 19, 2011, 11:37:17 PM4/19/11
to guts-rs...@googlegroups.com, Clarissa Rodrigues
Quando tu te refere a Selenium, seria o Selenium IDE ou Selenium 2/WebDriver?

Eu não concordo com o ponto de que as duas ferramentas tem o mesmo propósito e que é possível atingir os mesmos objetivos com elas. O fato de já possuir uma licença do QTP também não simplifica a escolha.

As principais diferenças que eu vejo entre o Selenium e o QTP são:

- No QTP tu depende do número de licenças disponíveis, ou seja, caso possua uma licença, apenas uma instância do QTP pode ser executada. Que diferença isso faz? Tu só poderá ter uma máquina rodando os testes, no caso do Selenium é possível executar os testes em várias instâncias em máquinas diferentes.

- Caso tu trabalhe com integração contínua os testes do Selenium podem ser executados automaticamente a cada deploy utilizando qualquer ferramenta de CI (Hudson, Go, CruiseControl,...), no caso do QTP isso não é possível sem algumas gambiarras, e mesmo assim os testes do QTP em geral levam muito mais tempos para executar e vão acabar afetando muito o tempo de deploy.

- Selenium te permite trabalhar com BDD, dando a possibilidade de pessoas do business entenderem os testes e não somente os técnicos. Isso é possível no QTP com o auxílio de outras ferramentas vendidas pela HP, porém a licença de apenas uma dessas ferramentas custa mais que a licença do QTP e o resultado é bem inferior. No caso do Selenium é possível obter melhores resultados e de graça utilizando Cucumber e Capybara.

- Com o QTP tu é obrigado a trabalhar no ambiente nativo da aplicação, que é uma IDE muito simples, com Selenium é possível utilizar a IDE que mais te agradar.

- A execução dos testes no QTP é muito lenta, mesmo quando comparada com o Selenium IDE. Quando se utiliza programação descritiva a diferença é monstruosa.

- É possível testar aplicações desktop com o QTP (VB, .net...)

- QTP roda apenas em Windows, Selenium roda em Windows, MacOS, Linux e outros.

- QTP oferece suporte ao Internet Explorer que ainda é o browser mais utilizado, porém são necessárias algumas gambiarras pra se utilizar Firefox. Já o Selenium oferece suporte a diversos browsers, porém apenas o suporte ao Firefox é completo.

- Utilizando o QTP em conjunto com o Quality Center é fácil se ter uma rastreabilidade dos requisitos aos testes, no Selenium nunca tentei fazer isso, mas acredito que seja mais complicado.

- A dupla QTP/QC consegue ter os resultados dos testes manuais e automatizados em um lugar centralizado facilmente, pra fazer isso com o Selenium acredito que a dificuldade seja maior, porém nunca tentei.

- O QTP possui um controle de versão quando utilizado com o Quality Center, porém os resultados são ligados ao script e não a versão do script/código. Isso é possível no caso do Selenium utilizando Git/SVN.

- No QTP só é possível abrir um script de teste por vez, caso o script seja carregado do Quality Center o mesmo fica trancado para edição para outros usuários, ou seja, não é possível que duas pessoas trabalhem no código ao mesmo tempo e depois façam um merge, algo muito fácil de se realizar utilizando Selenium.

- Pode se trabalhar com Selenium utilizando diversas linguagens de programação, QTP trabalha apenas com VBScript. Com Selenium é possível trabalhar com linguagens já conhecidas dos desenvolvedores (possibilitanto a troca de conhecimentos entre DEVs e QAs) ou melhor ainda, utilizar a mesma linguagem em que o software está sendo desenvolvido. Além disso VBScript é uma linguagem limitada: apesar de suportar objetos não suporta herança, polimorfismo e nem mesmo sobrescrever métodos.

Dizer que o QTP é mais fácil depende do que se quer fazer. É fácil treinar um time em gravar e executar testes utilizando o QTP, porém a maioria das funcionalidades prontas do QTP se tornam ineficazes pra um uso mais avançado da ferramenta.
Por exemplo, os DB Checkpoints que tornam muito fácil a verificação de bases de dados tem vários bugs, se corrompem facilmente e são muito chatos pra atualizar (mesmo com o uso do update mode disponível a partir da versão 10.0+). É preciso marcar uma a uma as células, linhas ou colunas que se quer verificar e no caso de resultados mutáveis, apontar os resultados esperados para posições na datatable. Com o tempo é obvio que o time vai preferir criar "manualmente" as verificações no banco.
Outro exemplo comum são os resultados do QTP, muito simplórios, pra um uso mais avançado da ferramenta é necessário sobrescrever os métodos que geram os relatórios de erro e melhorar os reports com a coleta de screenshots e mais informações.
Aplicações como SAP, Siebel, Flex, Flash e etc a princípio são mais fáceis de testar no QTP, pois tem plugins disponíveis pra todas, e esses plugins passaram a ser parte da licença do QTP desde a versão 10.0, ou seja, não tem custo extra. Porém procurando é possível encontrar ferramentas opensource que fazem o mesmo, já utilizei o FlexMonkey para testar aplicações em Flex e o resultado foi muito bom.

Com certeza devem existir milhares de outras diferenças, mas no momento só lembro dessas. Vale a pena seguir o conselho dado pelo Elias e criar uma planilha com os pontos mais importantes pra ti e pro teu time e avaliar bem as ferramentas, ainda incluiria nessa tua pesquisa Watir, Sahi e Twist.

Abraço,
Leonardo Ribeiro Oliveira

Elias Nogueira

unread,
Apr 21, 2011, 9:51:50 PM4/21/11
to guts-rs...@googlegroups.com, Clarissa Rodrigues
Oi Leonardo!
Os pontos que tu colocou são muito bons, mas de vez enquando é bom ser "séptico" quando a processos, pois tu colocaste muitos pontos seguindo a linha ágil. :)

Com o Selenium eu já fiz integração com o Testlink e Mantis por este caso mesmo: tentar substituir uma ferramenta "cara". As API's destas ferramentas já estão estáveis e até saiu essa semana uma integração do Jenkins com Testlink :)

Tu já deve saber, mas é sempre bom passar uns links se o pessoal quiser estudar :)

Mantis SOAP API: http://www.mantisbt.org/bugs/api/soap/mantisconnect.php
Mantis Connect: http://www.futureware.biz/mantisconnect/
Testlink Library Documentation: http://www.teamst.org/_tldoc/1.8/phpdoc_lib/
Testlink Java API: http://code.google.com/p/testlink-api-java-client/
Integração x Selenium x Testlink: http://sembugs.blogspot.com/2010/10/integracao-selenium-e-testlink.html

Abraços!
2011/4/20 Leonardo Ribeiro Oliveira <leonardo...@gmail.com>

Leonardo Ribeiro Oliveira

unread,
May 3, 2011, 8:10:30 PM5/3/11
to guts-rs...@googlegroups.com, Clarissa Rodrigues
Em nenhum momento falei em "ágil", falei em integração contínua e BDD. Embora eu acredite que agilidade sem integração contínua não é possível, o inverso é válido e já vi na prática, o mesmo vale para BDD.

Obrigado pelos links!
Leonardo Ribeiro Oliveira
Reply all
Reply to author
Forward
0 new messages