All Rights ReservedView Non-AMP Version
Preprod IT Forum
  • Homepage
  • Plataformas
Notícias

5 melhores práticas para garantir testes contínuos em DevOps

O DevOps conta com uma série de práticas de integração contínua para facilitar a velocidade e a qualidade. O CI (continuous integration) exige que os desenvolvedores integrem frequentemente o código em um repositório compartilhado, iniciando, assim, compilações automatizadas. Isso permite que as equipes detectem e corrijam problemas antecipadamente. O IC também cria a necessidade de testes contínuos. Existem várias definições, mas podemos definir testes contínuos como “todas as atividades de teste realizadas durante a operação em um ambiente de integração contínua”. Sem a integração contínua, nãos e pode começar a falar sobre como os testes contínuos desempenham um papel em um ambiente DevOps.

Os testes contínuos não são fáceis de fazer, mas oferecem vantagens distintas para as equipes:

As melhores notícias de tecnologia B2B
Acompanhe todas as novidades diretamente na sua caixa de entrada

– As atividades de teste se integram totalmente ao pipeline e facilitam o processo de desenvolvimento;
– Impulsiona a eficiência e a padronização;
– Garante aos testadores mais tempo para usar meios exploratórios para descobrir problemas ocultos;
– As equipes se sentem mais confiantes sobre a qualidade do software antes da sua liberação e implementação.

Embora os testes contínuos possam ser altamente eficientes, existem armadilhas, como a automação de testes que não deve feita e o não armazenamento de testes como código com um sistema de controle de versão (VCS). Embora o primeiro problema tenha mais a ver com a estratégia de teste, o último dificulta a manutenção de testes, a reutilização de testes e a pesquisa.

Podemos nos aprofundar em algumas práticas recomendadas para garantir o sucesso com testes contínuos:

1. Assegure-se de ter uma base completa para automatização de testes

Uma plataforma de CI sólida é fundamental. A G2 Crowd Grid for CI qualifica soluções com base nesses critérios:

– Os desenvolvedores podem gravar testes de unidade que são executados automaticamente;
– O sistema mostra quais testes passaram e falharam;
– O sistema deve executar todas as ações para criar uma compilação totalmente funcional do software após os testes terem passado.

A maioria das equipes se esforçará para automatizar testes unitários, funcionais e de regressão. Os aplicativos de software de automação de testes lidam com a execução dos testes e relatórios automatizados. As equipes também precisarão de ferramentas para lidar com o planejamento (por exemplo, requisitos, histórias de usuários), controle de versão do código-fonte e gerenciamento de testes que integra os testes e suas as atividades de teste no empilhamento de DevOps para rastreabilidade e gerenciamento. Os usuários devem também poder correlacionar os testes diretamente ao código-fonte e aos sistemas de planejamento para melhorar a colaboração entre desenvolvedores e testadores.

2. Considere o uso de BDD (desenvolvimento orientado a comportamento)

O teste contínuo é uma mentalidade de automação inicial, o que significa que ele se alinha perfeitamente ao desenvolvimento orientado pelo comportamento, o BDD – behavior-driven development, que não é a única maneira de realizar testes contínuos, mas que incentiva a colaboração contínua entre proprietários de produtos (product owners), desenvolvedores e testadores. Os cenários se concentram em como o futuro deve se comportar para o usuário, reforçando a clareza das metas de desenvolvimento e o melhor alinhamento entre desenvolvedores e testadores. Os recursos geralmente são armazenados com código, o que facilita a integração com os sistemas de CI. Por fim, é mais fácil transformar os cenários do usuário em testes automatizados usando a sintaxe Gherkin, que é um recurso básico para ferramentas como o Cucumber.

3. Capacitar as equipes de Quality Assurance

O controle de qualidade (Quality Assurance, QA) pode criar, editar e executar a maioria das atividades de testes. No entanto, em DevOps, a influência do QA é mais do que isso. O controle de qualidade pode garantir que cada membro da equipe realize tarefas de testes contínuos durante todo o ciclo de vida da aplicação. Se os desenvolvedores não estiverem automatizando os testes no nível de unidade, o QA tem o direito de falar em nome da equipe. Ele também pode impor o processo, como impor que engenheiros de automação e analistas de teste armazenem seus testes com código. Os líderes de QA podem orientar suas equipes na estratégia de testes, o que inclui determinar a combinação certa de testes manuais e automatizados, bem como quando encontrar um equilíbrio entre os diferentes tipos de testes. Por fim, o departamento de QA sabe que uma equipe não pode testar todos os cenários e usará o melhor julgamento para dizer quando é hora de passar para a implantação.

4. Seja analítico sobre testes automatizados

É fácil dizer para se automatizar tudo, mas isso será um desperdício e também inadequado. Existem cenários distintos quando o teste manual é uma abordagem melhor. Uma regra básica é automatizar todos os testes em nível de unidade. É mais complicado escrever testes automatizados para testes funcionais, de desempenho e outras formas de testes, portanto, é melhor desenvolver um processo de eliminação ao decidir o que automatizar. Por exemplo, se 90% dos usuários tiverem o mesmo tipo de perfil de usuário, talvez você queira automatizar um teste para fazer logon com esse tipo de perfil, pois qualquer problema afetaria 90% dos usuários. O risco de falha no login para os 10% restantes não é elevado o suficiente para garantir um teste automatizado.

Aproveite os testadores manuais e seu conhecimento sobre o aplicativo e sobre a base de usuários. Eles podem trabalhar em estreita colaboração com engenheiros de automação para ajudar a identificar as melhores áreas para testes automatizados. O teste exploratório também é importante para a estratégia de automação, pois pode-se coletar novas informações sobre cenários e possíveis problemas. Essa inteligência pode informar onde faz sentido automatizar os testes.

5. O teste contínuo vai além da automação de testes

A automação é essencial para que o processo de teste contínuo funcione, mas não se aplica apenas aos que estão em execução. O que é necessário é ter processos automatizados que informam os testadores quando há uma alteração de código no aplicativo. Notificações automatizadas quando o IC estiver concluído são necessários, assim como quando o próximo estado estiver pronto para teste. É importante ter o provisionamento automatizado de ambientes de teste para executar rapidamente os testes. Estender a automação para outras áreas da função QA reduz os erros, mantém as rodas em movimento e evita o esgotamento do processo, o chamado burnout.

Concluindo

Tem havido muitas conversas sobre a mudança cultural necessária para as equipes de QA à medida que elas passam para os testes contínuos. Os líderes devem entender e enfrentar esses desafios e promover esforços para manter todos na mesma página, ou seja, em sintonia. Enquanto isso, uma estratégia detalhada, com ampla reflexão sobre ferramentas, funções e processos para suportar testes contínuos ajuda a organizar e motivar os membros da equipe. Sem estrutura, a equipe de QA estará navegando sem leme e colocando em risco seus esforços mais ágeis e DevOps.

*Ryan Yackel é Gerente de produto da QASymphony

Next 5 benefícios da gestão de dados tributários em nuvem »
Previous « Totvs anuncia Dennis Herszkowicz como diretor-presidente
Share
Published by
Redação
Tags: DevOps
8 anos ago

    Related Post

  • Novos executivos da semana: Uncover, Tech for Humans, Diebold Nixdorf, Unico e mais
  • Se o Brasil não organizar seus dados culturais, outro fará isso por nós, alerta Jorge Brivilati
  • CBYK nomeia Maurício Matsuda como novo CEO

Recent Posts

  • Notícias

83% dos CIOs já adiaram projetos estratégicos por restrições de orçamento

A pressão por controle de custos vem alterando a dinâmica das áreas de tecnologia nas…

7 dias ago
  • Estudos

Fintechs brasileiras captam US$ 2,77 bi em 2025 e entram em nova fase de maturidade

O mercado brasileiro de fintechs passou por uma transformação no perfil dos investimentos em 2025.…

7 dias ago
  • Notícias

Sioux aposta em IA e dados para nova fase de experiências digitais e expande atuação para a Europa

O avanço da inteligência artificial e o uso estratégico de dados vêm transformando a forma…

7 dias ago
  • Artigos

Qual é o risco do desenvolvimento de software com IA?

Por Ramon Ribeiro Quase metade do código produzido por assistentes de inteligência artificial contém vulnerabilidades…

7 dias ago
  • Notícias

Se o Brasil não organizar seus dados culturais, outro fará isso por nós, alerta Jorge Brivilati

Peça a um modelo de inteligência artificial que gere a imagem de uma cidade, sem…

7 dias ago
  • Notícias

Novos executivos da semana: Uncover, Tech for Humans, Diebold Nixdorf, Unico e mais

O IT Forum apresenta, semanalmente, os novos executivos e os principais anúncios de contratações, promoções e mudanças…

1 semana ago
All Rights ReservedView Non-AMP Version
  • L