Para ter sucesso no ambiente de negócios digital de hoje, os líderes de aplicativos estão montando equipes, usando conjuntos de ferramentas e processos para apoiar as linhas de tempo adequadas para liberação mais rápida de aplicações, sem dar vazão a defeitos na produção. Oferecer software de alta qualidade em um ritmo acelerado requer que as práticas de qualidade sejam contínuas, altamente automatizadas e que aconteçam durante todo o ciclo de vida de desenvolvimento de software.
Então, como sua equipe pode chegar lá e por onde deve começar? Podemos listar aqui cinco melhores práticas para otimizar os testes de software em ambientes de DevOps.
1 – Atacar a desconexão entre o controle de qualidade e os desenvolvedores
O controle de qualidade (quality assurance – QA) é essencial para o processo de lançamento de software. Então, o que acontece quando uma organização embarca em uma iniciativa de transformação DevOps? Há um equívoco comum sobre o papel do QA em um ambiente de DevOps: que, com a integração contínua e entrega contínua, todos os esforços de qualidade podem ser automatizados da mesma forma.
Embora seja verdade que as organizações estão alcançando um nível mais alto de automação de testes do que nunca, a prontidão para a liberação de software é uma decisão de negócios – e não uma decisão técnica! Embora a automação possa oferecer um alto nível de confiança de que a versão está pronta para os clientes, bons resultados de testes significam que o lançamento deva ocorrer imediatamente. Então, como se pode resolver esta desconexão e garantir que a qualidade esteja incorporada nos processos de DevOps? Para resolver isso, inclua testadores como parte de sua equipe de entrega integrada.
2 – Adotar repetida e continuamente as práticas e ferramentas para cada estágio de DevOps
Em vez de uma abordagem de remoção e substituição repetida de ferramentas, é possível – e até mesmo preferido – adotar práticas e ferramentas específicas para cada estágio de DevOps. Para começar, os líderes devem primeiro abordar as maiores áreas problemáticas. Esse é um método muito mais acessível, pois permite que as equipes adotem ferramentas e práticas melhores ao longo da linha do tempo à medida em que seus processos amadurecem e as necessidades evoluem.
Acompanhando o que aponta uma recente pesquisa recente do Gartner, o líder de aplicativo deve "direcionar suas equipes de DevOps para desenvolver suas práticas e ferramentas iterativamente, identificando a maior restrição em seus processos e selecionando as ferramentas de qualidade que melhor ajudam a otimizar essa restrição".
Os analistas do Gartner explicam: "Investir em novas tecnologias exige investimentos iniciais de capital, custos de manutenção e tempo para treinar, integrar e operacionalizar as ferramentas. Os líderes de aplicativos envolvidos na aquisição de ferramentas de qualidade para as suas aplicações DevOps devem alinhar os objetivos de negócios aos critérios de seleção para garantir que o investimento conduza a resultados positivos de negócios".
3 – Adote práticas de testes contínuos
Outro estudo recente descobriu que as organizações com iniciativas Ágeis e DevOps de sucesso fazem um número de coisas diferentes em comparação a seus colegas – incluindo esforços ativos para transformar suas práticas de teste de software em práticas de testes contínuos. O estudo foi liderado pelo analista da Forrester, Diego Lo Giudice, e encomendado pela Tricentis, revela que essas organizações estão adotando cinco práticas de testes contínuas: a) alocação de orçamentos de teste adequados e foco na melhoria de habilidades; b) implementar testes contínuos para atender às demandas de frequência de lançamento; c) automação de testes funcionais de ponta a ponta; d) integrando os testadores em equipes multifuncionais; e) praticando testes de deslocamento à esquerda (no início da linha de tempo projeto).
Se a sua organização ainda não adotou todas as cinco (ou nenhuma) destas práticas de testes contínuos, ela não está sozinha. De acordo com o relatório, apenas 26% das empresas com adoções ativas no DevOps estão atualmente praticando todas as cinco práticas de testes contínuas.
4 – Automatize os testes onde realmente faz sentido
Pode ser difícil determinar o nível ideal de automação de testes que sua equipe busca durante a transição DevOps. Mas, com os lançamentos ocorrendo com muito mais frequência, o volume de testes também deve aumentar significativamente. É aí que o teste automatizado entra em jogo. Neste contexto, as butiques de DevOps bem-sucedidas são significativamente mais propensas a ter altos níveis de automação para testes chave e processos de QA (projeto de casos de teste, automação de testes funcionais, gerenciamento de dados de teste etc.).
No entanto, as equipes não devem simplesmente prosseguir com o objetivo de automatizar o máximo possível. Em vez disso, o ideal é apoiar-se nos testadores mais experientes para uma estratégia de automação que maximize os recursos e elimine a necessidade execução manual e repetitiva. Ao eliminar as tarefas de rotina, a automação irá permitir que os testadores gastem seu tempo de maneira mais estratégica.
5 – Concentre-se nas métricas corretas
Determinar os casos de testes que fazem mais sentido serem automatizados se resume a ter bons dados de testes. Centralizar as métricas de QA para obter uma visão holística de todos os seus testes – em todos os canais de entrega – ajuda a ver com que frequência e onde os testes estão falhando, quanto tempo levam para serem executados e quanto tempo está sendo gasto na configuração e nos dados do ambiente de criação.
Depois de atingir um nível relativamente alto de automação, a capacidade de visualizar e analisar rapidamente as métricas se tornará muito mais importante. O acesso às métricas corretas permitirá que se obtenha insights que ajudarão a concentrar as estratégias de automação nas áreas em que ela pode ter o impacto mais significativo para a empresa. Então, quais são as métricas de teste corretas? De acordo com a Forrester, os especialistas Ágeis e de DevOps classificam consistentemente as métricas relacionadas ao risco entre suas três métricas mais valiosas. As organizações com práticas de Agile e DevOps maduras também tendem a se concentrar em métricas contextuais, como cobertura de requisitos, em vez de simplesmente contar o número de testes executados ou defeitos encontrados.
Larnier Norville, diretora de Conteúdo e Marketing da QASymphony.