paint-brush
Como tornar o controle de qualidade transparente: Allure TestOps para assistência de qualidadepor@adtechholding
1,117 leituras
1,117 leituras

Como tornar o controle de qualidade transparente: Allure TestOps para assistência de qualidade

por AdTech Holding8m2023/02/20
Read on Terminal Reader

Muito longo; Para ler

Lead QA na PropellerAds, parte da AdTech Holding, compartilha as melhores práticas para trabalhar com a ferramenta Allure TestOps. Mikhail Sidelnikov: ‘O teste é a base da qualidade. Mas não gosta de solidão - o teste não é introvertido!'
featured image - Como tornar o controle de qualidade transparente: Allure TestOps para assistência de qualidade
AdTech Holding HackerNoon profile picture


Já apresentamos nossas práticas de QA e o quanto nos preocupamos com a transparência de todos os processos. Mas como garantir essa transparência em todos os níveis de desenvolvimento?

Hoje, temos novas percepções de Mikhail Sidelnikov , o líder de controle de qualidade da PropellerAds, parte da AdTech Holding. Mikhail compartilhou as melhores práticas para trabalhar com a ferramenta Allure TestOps.


Por que a equipe o escolheu, quais ferramentas usava antes e quando o Allure TestOps se torna a melhor solução para fluxos de trabalho de assistência de qualidade?

Por que a transparência é tão importante?

Como um negócio baseado em tecnologias de ponta, a PropellerAds usa a abordagem CI/CD. Implica lançamentos constantes várias vezes ao dia, pelo que o processo só não deve ser interrompido por mal-entendidos ou erros.


Como funciona?

  • Um desenvolvedor cria uma solicitação pull
  • A equipe de controle de qualidade começa imediatamente a testar
  • Os resultados do teste aparecem instantaneamente no Github, Slack e Allure TestOps.


É um processo contínuo — tudo é automatizado e quase não há trabalho manual. O resultado desse processo deve ser um produto de alta qualidade — e é por isso que todas as etapas devem ser transparentes.


Mas como garantir isso?


Mikhail:

— «O teste é a base da qualidade. Mas não gosta de solidão — o teste não é introvertido! Precisa de uma família e amigos de sua espécie para agregar valor real. E, como todo mundo na vida real, um teste e sua família precisam de uma hospedagem confortável, com uma infraestrutura conveniente e um espaço para aprimoramento.'


Então, como a equipe de controle de qualidade da PropellerAds resolveu a 'questão de habitação' para seus testes?

Primeiras práticas de controle de qualidade em PropellerADs

No início, a PropellerAds nem tinha um departamento de controle de qualidade completo: foi organizado apenas em 2015. Demorou para automatizar os fluxos de trabalho e construir uma equipe eficiente e inspirada.


À medida que a equipe crescia, mais suas demandas cresciam também! O número de testes e microsserviços aumentava rapidamente — e era essencial mantê-los todos organizados. Caso contrário, seria impossível trabalhar com eles, integrar-se com vários CI/CDs — e manter a transparência, afinal.


Implementando TestRail

Os fundadores da equipe de controle de qualidade da PropellerAds tiveram uma longa experiência de trabalho com TestRail. Então, tornou-se a solução mais óbvia. Além disso, parecia atender a todas as necessidades da equipe da seguinte forma:


  • Recursos necessários: manutenção de caso, historicidade, lançamento de teste
  • Integração bastante aceitável com Jira
  • Experiência da equipe de integração de TestRail com CI/CD
  • Experiência geral da equipe de trabalho com TestRail


Então, a decisão foi tomada.

Problemas com TestRail

Tudo correu muito bem no começo. Ainda assim, depois de algum tempo, a equipe sentiu que o TestRail não é a melhor ferramenta que atende a todas as suas necessidades. Qual era o problema? O ponto principal era que a equipe ainda estava crescendo e todos os processos se tornaram muito mais exigentes.


Em outras palavras, tudo estava escalando rapidamente:


  • O time;
  • O número de casos manuais
  • O número de execuções de teste manuais
  • O número de lançamentos


Mikhail:

—Tornou-se extremamente difícil e inconveniente criar casos no TestRail primeiro e depois fazê-lo no código. Queríamos ver toda a imagem transparente em nosso Sistema de Gerenciamento de Testes.


Por fim, a equipe começou a precisar de algum fluxo de trabalho alternativo — e ferramentas. A lista de problemas tornou-se cada vez maior, e os pontos mais dolorosos incluíam o seguinte:


  • Os novos projetos foram mal integrados
  • Não havia suporte para os novos casos ou etapas: se você corrigisse algo no código, precisava fazer o mesmo manualmente no TestRail
  • A transparência e relevância passaram a tender a zero


No geral, havia uma ameaça de que a qualidade do produto começaria a sofrer.

Novas Demandas

Por fim, ficou bastante óbvio que a equipe precisava de uma nova solução. Mas primeiro era preciso deixar as coisas claras: o que falta ao time e o que ele precisa nesta fase? Após uma discussão, a equipe de controle de qualidade elaborou uma lista simples de requisitos.


Aqui está:

  • Download automatizado dos resultados do teste. A equipe queria ver os testes no TMS logo após o lançamento, sem usar API
  • Integração com Jira. Era sobre transparência novamente: ter um status de teste diretamente no gerenciador de tarefas é a melhor maneira de tornar os fluxos de trabalho o mais transparentes possível.
  • Integração simples com códigos de teste: qualquer alternância deve aparecer no TMS sem a necessidade de alterar nada manualmente
  • Lançamentos de teste em CI/CD. Seria útil fazer isso muito mais rápido - e, em um cenário perfeito, iniciá-los diretamente do TMS. O TestRail possui o recurso de personalização da interface do usuário, mas essa solução exigia suporte constante.


Como o Allure TestOps mudou o processo

As demandas ficaram mais do que aparentes, mas não ajudaram a encontrar a solução certa. E aqui a equipe de controle de qualidade da PropellerAds teve a sorte de conhecer um desenvolvedor de renome - Artem Eroshenko, que de repente deu um conselho simples e direto:


Por que usar TestRail se houver Allure TestOps?


O primeiro pensamento foi: e o que é Allure TestOps?

Allure TestOps é uma plataforma de teste que permite armazenar e gerenciar casos de teste. É baseado no Allure Reports, muito familiar para a maioria dos membros da equipe.



Mikhail:
— Então pensamos: é uma ferramenta nova e moderna — por que não experimentar?

E, um spoiler: funcionou perfeitamente. O processo começou a mudar da melhor maneira possível — e no menor tempo possível.

Então, quais foram os recursos mais úteis do Allure TestOps que impulsionaram tanto o fluxo de trabalho?

Resultado dos testes

Se você já experimentou o TestRail, sabe que baixar os resultados dos testes é complicado lá: envolve muito barulho com a API.


O Allure TestOPS resolve o mesmo problema de uma forma muito elegante e simples.

Se o resultado do seu teste implicar na geração de um Allure Report, você já tem seus testes no TestOps. A equipe já usa o Allure há um bom tempo — e isso significa que a plataforma TestOps manteve seus testes.

Um breve guia: para adicionar qualquer integração, basta inserir as configurações do TestOps, selecionar qualquer produto desejado e, em seguida, configurá-lo em vários cliques! Rápido e indolor, como aqui:



Mikhail:

—Sem pedras escondidas: três campos, e você terminou sua integração. Funciona da mesma forma com as outras ferramentas: configurações mínimas. E nosso tão amado Modo Escuro também está aqui!


Se você precisar integrar o Teamcity ou outras ferramentas desse tipo, poderá fazê-lo com plugins especiais. São necessários dois cliques do mouse para definir o download dos resultados para TestOps. O que é ainda mais útil, acontece no tempo de execução. Aqui está como fica: elegante e simples novamente:


Depois que você estiver pronto com as configurações, poderá iniciar trabalhos em seu CI/CD. E o processo se torna várias vezes mais transparente imediatamente depois. O Allure TestOps permite verificar a cobertura de teste existente, entender com que frequência você inicia testes específicos, perceber quais projetos são estáveis e quais não são e até mesmo ver determinados testes.


O fluxo geral de teste no Allure TestOps é assim:

  • Você define a configuração de compilação do TeamCity uma vez: indique o ID do projeto Allure e um caminho para os resultados do Allure no recurso de compilação
  • Você inicia a configuração Team City Build
  • Você espera seus resultados na Allure e pronto!

Portanto, depois de concluir todas as configurações, você executa apenas duas etapas simples - sem JS, servidores da Web e API. Tudo é definido por meio da interface do usuário das ferramentas que você usa.

Qualidade e Estado

Descobriu-se que o Allure TestOps possui um plug-in Jira que permite ver todos os testes para uma tarefa específica. O plug-in inclui paginação, filtros de pesquisa e os resultados mais recentes desses testes.

As configurações também são rápidas e simples — assim como a interface:



Mikhail:

Todos os resultados são atualizados automaticamente e você pode ver todos os casos que foram criados para esta tarefa específica. Era exatamente o que precisávamos para entender o que e como verificamos. Aumentamos significativamente nossa boa e velha transparência - e garantimos uma melhor compreensão da qualidade dos recursos que lançamos.

Código de Autotestes

A equipe de controle de qualidade da PropellerAds possui muitos autotestes: graças a eles, pode garantir a qualidade superior do produto. O Allure TestOps simplifica muito esse ponto essencial. Ele permite que você crie anotações necessárias e cada anotação define um rótulo para um teste. No final, o rótulo aparecerá em TestOps.


Existe uma grande lista de anotações já existentes — e não apenas dentro do Java. Aqui está um exemplo:



Se você não tiver anotações prontas, poderá adicionar facilmente a sua própria: @LabelAnnotation(name = “qualquer nome”). Quase todos os dados de TestOps funcionam por meio dos rótulos, e esses rótulos são personalizáveis. Graças a ele, você pode ver vários mapas de árvores e camadas na lista de todos os testes existentes, filtrar e agrupar seus casos.

Outras características

Assim, todos os problemas foram resolvidos graças ao TestOps. Além desses problemas resolvidos, também tivemos acesso a mais novos recursos. Aqui estão eles:

  • Allure permite que você verifique o histórico de lançamento de teste. Mikhail diz que foi um recurso matador: você pode verificar rapidamente quando e onde o teste foi iniciado e quando começou a falhar.
  • Planos de teste. Agora a equipe poderia não apenas criar, mas também lançar esses planos de teste diretamente do TestOps.
  • Painéis convenientes com dados estatísticos. Você mesmo pode criá-los ou usar os painéis prontos.
  • Várias configurações para projetos. Eles incluem a exclusão de resultados de testes antigos que você não precisa mais, definindo diferentes campos de teste para casos manuais e automatizados e iniciando testes diretamente do Allure TestOps com várias opções.
  • E muitos outros.


Mikhail:

— É apenas uma pequena parte de tudo o que você obtém com o Allure TestOps. Quer algo novo ou encontrou um bug? Crie um ticket de bug ou pergunte aos desenvolvedores diretamente no canal do Telegram. É muito conveniente! Ou eles helpdesk - esses caras tentam responder o mais rápido possível - Bom atendimento.

Resumindo: Allure TestOps vs. TestRail

Então, o 'problema de moradia' para nossos testes foi resolvido? Sim definitivamente. Em constante desenvolvimento, intuitivo, com acesso instantâneo a todas as ferramentas necessárias — o Allure TestOps foi a solução mais adequada.


Mas TestRail é tão ruim assim, afinal?


Mikhail:

O TestRail é uma boa ferramenta - mas atende melhor a diferentes necessidades do que as nossas.

Quando é melhor usar o TestRail e quando o Allure TestOps é o seu salvador?


TestRail

Allure TestOps

Você não depende muito do processo de liberação

Você tem muitos lançamentos e seu trabalho é baseado em CI/CD

A integração com as outras ferramentas não é sua prioridade

Você se esforça pela transparência dos testes em todas as suas ferramentas

Você tem muitos casos manuais

Você trabalha principalmente com testes automatizados


No geral, o Allure TestOps provou ser muito mais eficiente para garantir a transparência do controle de qualidade - em todas as etapas e níveis. E é disso que precisamos no PropellerAds.



A imagem principal deste artigo foi gerada peloAI Image Generator do HackerNoon por meio do prompt "um engenheiro olhando para um motor".