Pergunta

A empresa em que trabalho atualmente está usando Selênio para unir e testar nossa interface de usuário.O que você usa para testar a unidade da sua interface da Web e qual a sua eficácia?

Foi útil?

Solução

Usamos o Watin no meu local de trabalho, somos uma loja .net, então essa solução fez muito sentido.Na verdade, começamos com Watir (a implementação original do Ruby) e mudamos depois.Tem sido uma solução muito boa para nós até agora

Outras dicas

Sou um grande fã de Selênio.Dizer 'teste unitário de sua interface da web' não é exatamente preciso, como alguns dos comentários mencionaram.No entanto, considero o Selenium extremamente útil para realizar esse tipo de testes de aceitação e sanidade na IU.

Uma boa maneira de começar é usar o Selenium IDE como parte do seu desenvolvimento.Ou seja, basta ter o IDE aberto enquanto você desenvolve e escrever seu teste conforme você avança para reduzir o tempo de desenvolvimento.(Em vez de ter que passar manualmente pela interface do usuário para chegar ao ponto em que você pode testar tudo o que está fazendo, basta apertar um botão e o Selenium IDE cuidará disso para você.É uma ótima economia de tempo!)

A maioria dos meus principais cenários de uso tem testes Selenium RC para apoiá-los.Você realmente não pode pensar neles como testes de unidade nos moldes de uma estrutura xUnit, mas são testes direcionados a funcionalidades muito específicas.Eles são rápidos de escrever (especialmente se você implementar métodos comuns para coisas como fazer login ou configurar seus casos de teste), rápidos de executar e fornecem um ciclo de feedback muito restrito.Nesse sentido, os testes Selenium RC são muito semelhante para testes unitários.

Eu acho que, como qualquer outra coisa, se você se esforçar para aprender adequadamente uma ferramenta de teste (por exemplo, Selenium), seu esforço será recompensado.Você mencionou que sua empresa já usa Selenium para fazer testes de UI.Isso é ótimo.Trabalhe com isso.Se você achar o Selenium difícil de usar ou confuso, continue com ele.A curva de aprendizado realmente não é tão íngreme depois que você aprende um pouco sobre a API.

Se estou trabalhando em um aplicativo da web, é raro escrever uma quantidade significativa de código sem testes do Selenium RC para fazer backup.É assim que considero o Selenium eficaz.:) (Espero que isso responda à sua pergunta ..)

Bem, se você projetou seu aplicativo corretamente, você não terá muita lógica dentro da UI de qualquer maneira.Faz muito mais sentido separar o trabalho real realizado em unidades separadas da IU e depois testá-las.

Se você fizer isso, o único código na UI será o código que invoca o back-end, portanto, simplesmente testar o back-end é suficiente.

Eu usei o NUnit ASP no passado (no meu trabalho) e se você insistir em testar sua UI, recomendo fortemente que você use QUALQUER COISA, menos o NUnit ASP.É difícil trabalhar com isso, e os testes tendem a ser invalidados (precisando ser revisados) mesmo após as menores alterações na interface do usuário (mesmo que os assuntos dos testes não mudem de fato).

Estamos usando QuickTestPro.Até agora é eficaz, mas a seleção do navegador é limitada.A parte mais interessante é a capacidade de registrar a atividade do seu navegador e convertê-la em um conjunto de etapas programáveis.Há também um ótimo complemento .Net, portanto, se você tiver algum código de validação necessário para os diferentes estágios do seu teste, poderá escrever métodos em um assembly e chamá-los a partir do seu script.

Usamos o Visual Studio 2008 Tester Edition.

Prós:Muito bom em capturar a interação do usuário

Captura chamadas Ajax

É muito fácil mapear a entrada do usuário para um banco de dados, arquivo XML ou CSV

O teste capturado pode ser convertido para C# para maior controle

Os mesmos testes podem ser usados ​​para testes de carga e cobertura de código

Contras:

VS2008 Tester Edition é um SKU separado da Developer Edition normal, o que significa custo extra

Você pode ser alérgico à Microsoft ;-)

Nós o usamos de forma muito eficaz em projetos, porém há muito esforço envolvido para manter os testes atualizados, toda vez que você muda uma tela o teste pode precisar ser regravado

Tendemos a manter os testes curtos e precisos, fazer uma coisa e sair em vez de registrar 10 minutos de cliques em um único teste.

Temos alguns tipos de teste de IU padrão:

Teste de cardápio: Faça login como um usuário específico (ou tipo/função de usuário) e certifique-se de que todos os itens de menu necessários estejam disponíveis

Teste de validação: Abra uma página e clique em salvar sem inserir nenhum dado, certifique-se de que todos os avisos de validação apareçam.Preencha os campos obrigatórios, um de cada vez, e verifique se as mensagens de aviso desaparecem quando deveriam.

Teste de pesquisa: Pesquise usando dados do seu banco de dados ou de um arquivo de dados e garanta que os dados corretos sejam retornados pela pesquisa

Teste de entrada de dados: Crie novos registros a partir de um arquivo de dados, limpe o banco de dados para permitir que os testes sejam executados várias vezes

O teste de UI consome bastante tempo, mas a sensação de conforto que você sente quando algumas centenas de testes são aprovados antes de lançar uma nova versão não tem preço.

Nós temos usado JSunit por um tempo para fazer testes unitários...podem não ser os mesmos tipos de testes dos quais você está falando, mas é ótimo para garantir que seu JavaScript funcione conforme o esperado.

Você o executa no navegador e pode ser configurado em uma compilação Ant para ser executado automaticamente em vários navegadores em várias plataformas remotamente (para que você possa garantir que seu código seja compatível com vários navegadores, bem como garantir que a lógica esteja correta ).

Não creio que substitua o Selenium, mas complementa bem.

Usamos o Selenium Core, mas estamos mudando gradualmente para o Selenium RC, que é muito mais agradável e fácil de gerenciar.Escrevemos muitos códigos customizados para fazer os testes rodarem em nossos servidores de Integração Contínua, alguns deles em suítes paralelas para rodar mais rápido.

Uma coisa que você descobrirá é que o Selenium parece reiniciar o navegador a cada teste (você pode configurá-lo para não fazer isso, mas tivemos problemas de memória quando fizemos isso).Isso pode ser lento no Firefox, mas não é tão ruim no IE (uma vez sou grato pela integração do sistema operacional de Bill Gates).

eu usei WATIR, o que é muito bom.Gostei porque é Ruby e permite testar interatividade, elementos disponíveis e análise de código-fonte.Faz um tempo que não uso, mas presumo que melhorou.

Supostamente está sendo portado para Firefox e Safari, mas isso já acontece há algum tempo.

Confira Teste Canoo Web.É de código aberto e construído na estrutura ANT.

Passei algum tempo trabalhando com ele em um curso de pós-graduação em controle de qualidade de software e parece ser uma ferramenta de teste bastante poderosa.

Grade de Selênio pode executar seus testes web em várias máquinas em paralelo, o que pode acelerar o processo de teste web

Eu uso principalmente Teste Cúbico, que é um plugin do Eclipse que permite definir testes graficamente.Ele pode exportar/executar testes através de diversas bibliotecas, incluindo watir e selenium.A maioria das pessoas apenas usa o runner Selenium.

Transparência completa:Sou um dos desenvolvedores, então sou meio tendencioso :)

Dê uma olhada mais de perto aqui: cubetest.openqa.org

-Erlend

Selenium é para testes de integração, não para testes de unidade.É uma diferença sutil, mas importante.O uso que costumo ver é para verificar a integridade de uma compilação.ou seja, tenha um teste que faça login, um teste que (por exemplo) envie uma história, faça um comentário, etc.

A ideia é que você teste para ver se todo o sistema está funcionando junto antes da implantação, em vez de fazer com que um usuário descubra que seu site está quebrado.

Atualmente usamos Seda4J - uma abordagem centrada em Java para testar a UI da Web.Ele pode testar Flash, Flex, AIR, Silver Light, Win32, HTML e alguns outros aplicativos.

Como o Silk4J pode controlar aplicativos Win32, ele pode controlar diretamente as caixas de diálogo do navegador, o que é um passo acima do que o Selenium pode controlar e é especialmente útil para prompts de download.

Nós usamos WatiN para testes do sistema e QUnit para testes unitários de JavaScript.

Molibdênio é construído sobre Selenium e possui alguns recursos adicionais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top