Como calcular o ROI da automação de teste com o Selenium?


Uma tradução do artigo foi preparada especificamente para os alunos do curso Python QA Engineer.




O teste entre navegadores é exatamente o tipo de teste que requer muito esforço e tempo. Testar um aplicativo da web em vários navegadores, em diferentes sistemas operacionais, dispositivos e resoluções de tela, a fim de avaliar a renderização do conteúdo da sua rede para um grande público é uma tarefa séria. Especialmente se você fizer isso manualmente. O teste automatizado entre navegadores com o Selenium economizará tempo nas atividades de rotina e reduzirá o tempo de teste de regressão. No entanto, as pessoas não gostam de mudanças. Se o teste manual for popular em sua organização, o gerenciamento provavelmente terá dúvidas quando você propõe implementar a automação de teste.


A automação de teste, embora seja uma empresa extremamente lucrativa, é potencialmente cara. O jogo vale a pena? Esse é um dos problemas que você pode enfrentar ao convencer a alta gerência. Ao desenvolver seu aplicativo da Web, você precisará fornecer um ROI (retorno do investimento) eficaz da automação de testes com o Selenium, enfatizando as vantagens dessa automação para testes de aplicativos da Web em vários navegadores , ou seja, trabalho mais rápido e menos trabalho manual.



Neste artigo, discutiremos várias métricas para avaliar o ROI da automação de teste com o Selenium, bem como métodos para calcular o ROI, começando com o básico e terminando com métodos avançados.


Métricas para avaliar o ROI da automação de teste usando Selenium


Você, assim como os membros de sua equipe, pode selecionar indicadores e medidas específicos que o ajudarão a analisar o ROI da automação de testes com o Selenium, enquanto planeja iniciar os testes automatizados do seu aplicativo da Web do zero. O desempenho pode variar de acordo com a organização. Porque Isso é uma questão de prioridades, porque existem vários indicadores, como o número de defeitos detectados (erros), tempo gasto e cobertura de testes, que afetam diretamente os riscos, custo, qualidade e cronograma de entrega do seu produto. Algumas organizações podem dar prioridade ao número de defeitos encontrados, pois acreditam que a quantidade está fluindo em qualidade. Alguns pensam de maneira diferente, pois a qualidade é fundamental para eles. O que você escolhe? O que você acha mais importante: qualidade ou quantidade? Você pode escrever seus pensamentos nos comentários.


Bem, agora é crucial definir as principais métricas para calcular o ROI da automação de teste usando o Selenium, pois você precisa identificá-las antes de iniciar uma discussão com a gerência sênior.



Área de automação de teste com selênio


É sabido que o teste não pode ser totalmente automatizado. Quanto você pode automatizar testes entre navegadores é uma pergunta difícil. Se você decidir implementar testes automatizados em vários navegadores para seu aplicativo Web, terá que decidir sobre as prioridades, ou seja, quais navegadores e sistemas operacionais devem cobrir os testes. De qualquer forma, você não pode cobrir todos os cenários. O número total de cenários possíveis pode estar nas centenas ou milhares de testes. Se o script de automação demorar muito, isso inevitavelmente afetará o pior durante o tempo total gasto todos os dias testando seu aplicativo da web ou site.


Em resumo, você deve comparar o número total de casos de teste automatizados e o número de casos de teste nos quais você pode aplicar a automação.


Caso você queira reduzir o tempo de execução de conjuntos de testes complexos, é possível usar testes paralelos com o Selenium Grid . Dessa forma, você pode executar vários scripts de teste de uma só vez. No entanto, aqui você deve pensar em quantas sessões simultâneas ou paralelas serão suficientes para atender aos requisitos fornecidos. Você pode calcular isso com uma calculadora de simultaneidade .


Melhorar esse indicador significa que as equipes podem encontrar rapidamente o erro e corrigi-lo, o que leva a menores riscos e maior ROI da automação de testes com o Selenium.


Quanto tempo você vai economizar?


O Agile é caracterizado por sprints semanais e de duas semanas e mudanças frequentes nos requisitos. Em tais circunstâncias, a importância do teste de regressão está aumentando. A introdução de testes de regressão automatizados reduzirá o tempo necessário para realizar esses testes. Isso aumentará a quantidade de tempo para desenvolver ou desenvolver outro sprint. Economizar tempo é uma prioridade para todas as organizações, especialmente para startups que precisam escalar rapidamente seus aplicativos Web. O tempo é um dos seus interesses na avaliação do ROI da automação de testes?


A largura de banda dos seus recursos


Sabemos que a automação de testes com o Selenium ajudará você a lançar rapidamente seu aplicativo Web no mercado. No entanto, nenhuma organização prefere que seus funcionários permaneçam ociosos a maior parte do tempo, esperando o script dar certo. O cálculo do ROI requer uma análise completa dos esforços realizados por cada testador em sua equipe.


Orçamento de investimento de recursos e ferramentas


A automação de teste economiza tempo e esforço. No entanto, isso implica um compromisso com os preços. Você precisa pensar em quanto orçamento pode gastar na manutenção das ferramentas para a realização de testes automatizados.


Número total de defeitos


O número total de defeitos detectados após cada ciclo de teste de regressão fornece uma idéia da qualidade do produto e da eficácia do teste automatizado para esse produto em particular.


Encontrar o ROI certo para testes automatizados


Dependendo do número de ciclos de regressão que devem ser executados durante o ciclo de vida do projeto, o ROI pode assumir um valor positivo. Normalmente, o ROI é calculado usando a seguinte fórmula:


ROI = (   –   ) /    

No entanto, com o advento do Agile e do DevOps, o método clássico não funciona mais. Além disso, essa medida não é realista, pois o número de testes manuais não pode ser o mesmo que o número de testes automatizados. Calcular o valor ROI correto da automação de teste no caso do Selenium com base na quantidade não é preferível, mas ainda é usado.


Qualidade de defeitos


Na minha opinião, esse é um indicador muito importante para calcular o ROI da automação de testes com o Selenium. Acredito que o objetivo principal da automação de testes não é remover a necessidade de testadores manuais no projeto. O significado da automação é reduzir o tempo gasto pelo testador na realização de testes, nas condições de seu cronograma apertado, para que o testador possa criar mais casos de teste prontos. Melhorar a qualidade dos casos de teste certamente ajudará a melhorar seu aplicativo da web.


Erros comuns ao calcular o ROI a partir de testes automatizados


Embora o cálculo do ROI envolva um cálculo básico usando uma fórmula simples, podem ocorrer erros se você perder alguns parâmetros importantes. Vamos discutir alguns erros comuns que as pessoas cometem ao calcular o ROI.



fonte


Você não ignora completamente os testes manuais, não é?


Um dos erros mais comuns é usar apenas métricas de teste automatizadas. O teste manual será sempre de particular importância. Quando falamos sobre testes entre navegadores, entendemos que alguns cenários podem ser automatizados, mas há momentos em que você precisa interagir com um aplicativo da Web em tempo real, realizando testes entre navegadores manualmente. Como defeitos visuais, por exemplo, são mais fáceis de detectar manualmente do que executar um script automatizado. Coisas como a atratividade da aparência do site quando exibida em vários navegadores ou a operação correta do menu de navegação são sempre verificadas manualmente. Se você tentar automatizar testes desse tipo, eles não trarão um aumento no ROI. Mesmo se você não considerar o “trabalho manual”, ainda precisará levar em consideração o tempo e o dinheiro alocados para isso.


Imagine o quadro geral


Ao medir o ROI da automação de teste com o Selenium, é necessário considerar um período mais longo. Testar como uma metodologia de teste específica beneficia a organização em pouco tempo nem sempre fornece uma imagem completa. Você deve descobrir como isso afetará a organização e a equipe a longo prazo. Em vez de levar meses, pense em como o ROI mudará em 3-5 anos. Por exemplo, vale a pena usar o teste shift-left na sua prática? O teste de mudança à esquerda é uma metodologia que se concentra no teste o mais rápido possível, começando com a fase de coleta de requisitos. A idéia é pensar nos erros com antecedência e localizá-los o mais cedo possível, pois acredita-se que o erro encontrado posteriormente no ciclo de vida do desenvolvimento do sistema será mais caro do que o erro encontrado nos estágios iniciais.


Você apreciou os recursos da sua organização?


Você precisa combinar os recursos da sua organização com uma pilha de ferramentas de automação de teste. A implementação bem-sucedida de uma estratégia de teste automatizada requer conhecimento do produto e conhecimento da automação. Sua equipe deve ter um entendimento claro de como usar a ferramenta de automação pretendida, bem como o funcionamento do aplicativo.


O suporte ao teste é importante


O suporte ao teste é outro fator que as pessoas tendem a ignorar ao medir o ROI da automação de testes. Se você usar o Selenium para testes automáticos em vários navegadores, após a implementação bem-sucedida de sua estratégia, será necessário atualizar e manter regularmente os casos de teste. O conjunto de regressão e os casos de teste começarão a aumentar em número à medida que você adiciona novas páginas, expande ou atualiza as funções do aplicativo da web. Manter esses conjuntos de testes utilizáveis ​​por um longo período de tempo exigirá suporte regular.


Falta de documentação de qualidade adequada


Este é um erro bastante comum, e não apenas em termos de automação, mas também em termos de gerenciamento. A documentação deve refletir os padrões da organização. Quando o testador escreve um script de teste, ele deve preparar um documento explicando a finalidade do script e como ele funciona. Uma base de conhecimento comum deve estar acessível a todos na organização e incluir documentação para cada cenário de automação usado em sua organização. Essa base de conhecimento servirá como suporte confiável para qualquer iniciante em sua equipe. Também ajudará a eliminar problemas que inevitavelmente surgem na ausência de um gerente de projeto "sênior" ou quando um testador valioso parte para outra empresa. Portanto, na próxima vez que você calcular o ROI da automação de teste, leve em consideração a quantidade de esforço necessária para manter uma dessas bases de conhecimento para funcionários internos.


O que fazer para aumentar o ROI da automação de testes com o Selenium


No momento, estamos cientes de erros comuns e conhecemos os indicadores para calcular o ROI da automação de teste. O que vem depois? Cumprimento. Como encontrar a melhor maneira de obter o ROI máximo da automação de testes com o Selenium? Bem, aqui estão algumas práticas dignas de nota para ajudá-lo a tirar o máximo proveito da automação de testes.



Implementar automação para novos testes


Esse é um fator muito importante, especialmente se você estiver passando do teste manual para o teste automatizado. Suponha que você introduza o uso do Selenium WebDriver em sua organização para testes automáticos em vários navegadores.


  • Calcular o número de casos de teste que precisam ser automatizados;
    - Agora verifique quais realmente precisam ser automatizadas e quais são melhor executadas manualmente;
    - Não altere os casos de teste de forma que possam ser automatizados! Há algumas coisas que precisam ser verificadas manualmente;
  • Calcular o custo horário de um testador executando casos de teste;
  • Se alguns testadores não tiverem experiência em automação, calcule o custo do treinamento.

Prioridade do processo de automação para novos casos de teste


Todos sabemos que o teste de regressão é sempre uma prioridade, especialmente quando se trata de teste de regressão visual de um aplicativo Web em vários navegadores para verificar a compatibilidade entre navegadores .


O teste de regressão envolve principalmente a reexecução de casos de teste antigos para garantir que as novas funções adicionadas não afetem a operação da funcionalidade antiga e não causem novos erros. Com o tempo, à medida que seus aplicativos da Web crescem arquitetonicamente e funcionalmente, o rastreamento manual do progresso dos testes de regressão será dispendioso. A implementação do teste de regressão visual automatizado faz sentido se você deseja salvar.


  • Ao calcular o ROI, suponha que cada novo caso de teste em breve se torne parte do teste de regressão. Trate-os como parte de sua estratégia de teste de regressão.
  • Classifique os casos de teste por complexidade e veja quais podem ser automatizados.
  • Como afirmado anteriormente, considere o custo de manutenção de testes antigos.

Quase 100% de cobertura de teste em várias configurações de teste para navegadores e SO


O principal objetivo da automação de teste é melhorar a qualidade do seu aplicativo. Ao calcular o ROI, você também deve levar em consideração que o número de maneiras de visualizar um site está aumentando a cada dia. Existem centenas de navegadores e dispositivos no mercado, onde as pessoas podem visualizar seu aplicativo Web, e seu número está aumentando constantemente. Defina uma matriz de compatibilidade do navegador para si mesmo.


Recomendações da taxa de cobertura


Você pode aumentar a cobertura do teste executando testes de fumaça, testes de unidade e testes de regressão que apontam para a origem dos erros.


Testes unitários. Os testes de unidade compõem a maior porcentagem de testes ao testar seu aplicativo da web. Sempre faz sentido usar um mecanismo de execução paralelo para economizar tempo.


Testes de fumaça A execução de testes de fumaça em paralelo é a melhor maneira de cobrir casos de teste ao enviar hotfixes para um aplicativo. Os testes automatizados de fumaça são uma boa maneira de testar diariamente seu aplicativo da web.


Testes de regressão. Na era ágil, o desenvolvimento rápido requer mais e mais testes de regressão, especialmente para o controle de versão. A realização de testes de regressão paralela garante que cada montagem subsequente funcione exatamente da mesma forma que a anterior, o que tornará possível ajustar os testes em um período significativamente menor.


Lembre-se de vazamento de defeito - o número de erros que ocorrem durante o ciclo de produção, devido ao fato de que eles não foram detectados nos estágios anteriores do teste. Isso pode acontecer devido à cobertura de teste funcional insuficiente ou ao ambiente de teste insuficiente.


Tente usar a metodologia de teste shift-left . Isso implica o envolvimento de testadores no desenvolvimento. Os desenvolvedores também participam, realizando testes de unidade após o desenvolvimento de um módulo específico. A idéia principal é encontrar um erro antes que ele se mostre e, finalmente, reduzir seu custo.


Descubra o número de casos de teste duplicados e redundantes


A duplicação de casos de teste é um fator importante que pode levar a um aumento no orçamento para testes. Não faz sentido desenvolver novamente os casos de teste que você já usou anteriormente para outro módulo. A reutilização de casos de teste leva a testes mais rápidos.


O cálculo de custos inclui:


  • número de testes repetidos;
  • casos de teste com componentes repetidos;
  • o tempo necessário para detectar e criar todos esses casos de teste redundantes;
  • cálculo do custo de uso da ferramenta de gerenciamento de casos de teste.

Recomendações para reduzir a redundância:


  • Use a ferramenta de gerenciamento de casos de teste para encontrar cenários duplicados. Você pode usar essas ferramentas para armazenar testes com campos variáveis, que podem ser modificados posteriormente para suas necessidades. O uso dessa ferramenta ajudará a detectar rapidamente redundância.
  • Você também pode desenvolver casos de teste modulares que podem ser reutilizados no futuro. Destaque os testes que são executados com mais frequência. Por exemplo, funcionalidade de login e logout. Para verificar o funcionamento correto dessas funções, você precisa realizar uma certa variedade de testes. Crie um caso de teste modular que possa ser usado para cada uma das muitas variações de logon e logout.

Realize testes automatizados em vários navegadores com o Selenium Grid On-Cloud sem problemas


A área imperativa do cálculo do ROI da automação de teste com o Selenium está em torno do método de execução. O Selenium é conhecido por ser uma estrutura de automação de teste aberta projetada para facilitar o teste de aplicativos da Web. Você pode realizar testes automatizados com o Selenium localmente ou usando uma das ferramentas de nuvem oferecidas pelo Selenium Grid.


Ao fazer testes automatizados com o Selenium em sua própria infraestrutura, você precisa considerar o orçamento para dimensionar seu conjunto de testes. Como você irá introduzir novos dispositivos? Versões mais recentes do navegador? Para oferecer suporte à execução paralela, seu computador precisará de energia significativa. No entanto, se você estiver testando com o Selenium Grid na nuvem , poderá escalá-lo para atender aos requisitos do seu projeto.


Apenas o selênio não fornece uma ferramenta de relatório. Os relatórios de teste podem ser obtidos usando estruturas de automação de teste baseadas no idioma usado. Se você usa o Selenium Grid do LambdaTest, pode obter relatórios através da nossa API Selenium aberta .


Outra diferença importante entre os dois métodos é o teste paralelo. Usando o Selenium Grid em sua máquina local, você pode executar casos de teste apenas nos navegadores instalados nesta máquina. No entanto, se você usar uma Selenium Grid baseada em nuvem, como o LambdaTest, poderá testar em mais de 2000 navegadores reais e suas versões.


O LambdaTest é uma nuvem para testes entre navegadores, na qual você pode executar vários casos de teste Selenium em várias combinações de dispositivos e navegadores em paralelo, o que reduz o custo de criar seu próprio “laboratório” para testes e testes em vários dispositivos.


Lembre-se de que, se o teste paralelo não for realizado corretamente, existe o risco de vazamento de defeito. Quanto mais cedo você encontrar um erro, mais fácil será corrigi-lo.


Métodos avançados de cálculo de ROI


Agora que aprendemos o básico, é hora de falar sobre os métodos avançados usados ​​para calcular o ROI.


ROI eficaz



fonte


Como os casos de teste automatizados podem ser executados o dia todo, o ROI é calculado em dias. Por outro lado, com o teste manual, apenas o tempo de trabalho do testador é levado em consideração, em média 8 horas por dia. A fórmula que é a base para o cálculo do ROI:


  • (a) Tempo para desenvolver um caso de teste para automação = (Tempo para automatizar um teste em horas * Número de casos de teste para automação * período de ROI) / 8
  • (b) Tempo de execução automatizado de caso de teste = (Tempo de execução automatizado de teste por teste * Número de casos de teste para automação * período de ROI) / 18
  • ( c ) Tempo de análise de teste automatizado = (tempo de análise de teste * período de ROI) / 8
  • (d) Tempo de serviço para teste automatizado = (tempo de serviço * período de ROI) / 8
  • (e) Tempo de execução manual = (tempo de execução do teste manual * Número de casos de teste manual * período de ROI) / 8

Nota: O período de retorno do investimento (período do ROI) é o número de semanas para o qual o ROI dividido por 8 deve ser calculado ocorre em todos os lugares em que o trabalho manual é levado em consideração. A divisão por 18 ocorre sempre que a automação é usada.


Ao calcular a eficácia, o foco está na eficácia dos testes automatizados para a organização. O fator monetário é considerado secundário; portanto, não é necessário incluir o pagamento por hora pelo trabalho do testador.


ROI para reduzir riscos


É suposto calcular independentemente os benefícios da automação. Novamente, daremos um exemplo com testes entre navegadores e usando o WebDriver para entender como isso funciona. Durante o teste manual, toda a equipe passou muito tempo fazendo as mesmas coisas repetidamente em vários navegadores. Após a implementação da automação, os testadores têm muito tempo adicional para executar um trabalho produtivo, como desenvolver casos de teste, analisar um aplicativo etc. Em resumo, o ROI para reduzir o risco resolve problemas que ainda não haviam sido levantados antes.


Com a introdução da automação, a cobertura de testes está aumentando. A dependência total dos testes manuais levará a erros desnecessários que podem aparecer já na produção. Isso levará a uma diminuição na qualidade do produto e na eficiência dos testes. Essa perda possível é considerada um risco. Não há alterações no valor do investimento. Apenas perdas monetárias que uma organização pode encontrar sem implementar a automação são calculadas.


Este é apenas um invólucro! (orig. É um envoltório!)


Obrigado pela leitura, espero que você tenha adquirido o conhecimento necessário e uma estratégia útil para convencer o gerenciamento usando o ROI da automação de testes com o Selenium. Não cometa o erro de pensar que o ROI é apenas uma comparação do tempo e dinheiro gastos testando manualmente um aplicativo Web e testes automatizados. Há muitos fatores a serem considerados e cada um deles tem suas próprias vantagens e desvantagens. Além disso, o ROI não pode ser calculado com uma única fórmula. Existem vários métodos, e você precisará escolher o que precisa, dependendo dos requisitos da sua organização e do seu projeto. Boa sorte nos testes!

Source: https://habr.com/ru/post/pt461257/


All Articles