Resumo do livro Guia Prático de Testes no DevOps, Katrina Clokie

O livro mostra como criar testes, não apenas para detectar bugs, mas para evitar sua ocorrência. Nós gostamos muito, então decidimos, como veteranos, apoiar a tradição de resumos de Habré e apresentar as teses mais interessantes.



Como as abordagens da organização de teste foram alteradas:


Cachoeira
Tudo começou com os testes com a metodologia Waterfall. Esse estágio é caracterizado pelo fato de que o teste é a atividade de apenas um membro da equipe (adivinhe quem). Ninguém, exceto o testador, sabe alguma coisa sobre a estratégia de teste e não tem acesso a casos de teste e listas de verificação. As tarefas voam sob um comando como uma bola em um pingue-pongue. Este período é caracterizado por lançamentos longos.

Ágil
No trabalho sobre a metodologia Agile, o teste se torna responsabilidade de toda a equipe. Isso significa que não apenas os testadores, mas também os desenvolvedores, encontram e resolvem problemas. Essa fase é caracterizada por lançamentos frequentes e feedback rápido.

Devops
Agora os testes são afetados pelo suporte, análise, infraestrutura e monitoramento. Os limites e a natureza dos testes estão mudando. As informações agora chegam à equipe de vários canais: monitoramento, solicitações de serviços de suporte, relatórios analíticos. Ao mesmo tempo, o teste deve ser confiável, mas não interferir nas liberações rápidas.

Testes na era do DevOps e CI


O autor afirma que o DevOps é muito maior que o IC. O IC concentra-se em práticas técnicas que aceleram a escrita de código (por exemplo, sistema de controle de versão, testes de unidade, confirmações frequentes) e DevOps - em mudanças organizacionais (em particular, suporte a uma colaboração mais estreita entre tipos de trabalhadores de entrega de software: analistas, suporte, equipe de desenvolvimento).

Sem o Agile, não haveria uma cultura DevOps. As pessoas devem pensar com flexibilidade para acessar o DevOps, cujo principal objetivo é a confiabilidade e a frequência dos lançamentos. Ao mesmo tempo, o tópico de teste geralmente é ignorado nos relatórios do DevOps.

A tese principal do Katrina é que você sempre deve testar e em todas as etapas - desde o início do trabalho na tarefa até a confirmação do último release.

O volume de trabalho é muito grande. Surge a questão de como organizar todos os testes e não enlouquecer.

Onde começar o teste


  • Entenda como o processo de teste do projeto está organizado.
  • Organize uma retrospectiva das estratégias de teste para toda a equipe e responda à pergunta do que estamos testando agora e por quê. Pode acontecer que os participantes de uma equipe respondam a perguntas sobre o processo de maneira diferente, o que está errado.

O DevOps é mais do que apenas testes flexíveis. A ideologia do DevOps implica um processo perfeitamente depurado, não apenas para implantar rapidamente uma nova versão em produção ou reverter para a anterior, mas também para uma comunicação igualmente depurada entre os comandos dev e operation.

10 critérios para ajudar a verificar se o Agile está em seu teste:


  1. Toda a equipe sabe claramente o que precisa ser testado enquanto trabalha em uma história de usuário específica.
  2. Todo mundo tem um entendimento comum dos requisitos de negócios.
  3. Ao discutir a história do usuário, você tem a resposta para a pergunta "Como vamos testar isso?"
  4. Todos na equipe sabem como executar autotestes e onde ver o resultado.
  5. Você discute com antecedência o que automatizará e em que nível, para não duplicar os testes em diferentes níveis. (Este item nos pareceu o mais importante).
  6. Seus scripts de teste são versionados e armazenados com o código fonte, pois os testes fazem parte do software.
  7. Você não possui erros no backlog porque os corrige assim que os encontra, e não apenas os registra.
  8. Sem tempo de inatividade no trabalho do servidor de IC.
  9. Durante o rali, não está claro quem é o desenvolvedor e quem é o testador.
  10. Sua equipe pode avaliar a qualidade do produto. Todo mundo entende como o processo de teste no projeto funciona.

Você pode verificar-se usando o link - aqui o autor explica por que esses pontos são destacados e por que são importantes.

Práticas de colaboração na DevOps


Quanto mais as pessoas se comunicam, mais entendem o que os colegas estão fazendo e como podem ser ajudados. Portanto, o Katrina oferece a eles que discutam os testes com mais frequência. Existem várias maneiras de fazer isso:

  • Revisão da lista de verificação por analistas e suporte. Participar de testes iniciais pode melhorar a qualidade da versão.
  • Teste em pares: testador e analista, suporte e desenvolvedor.
  • Rotação de funcionários entre equipes de desenvolvimento e suporte.
  • O Dojo (como parte do desenvolvimento de software) é um ambiente em que as pessoas podem aprender e praticar juntas suas habilidades de desenvolvimento: master classes, compartilhamento de conhecimento.

Teste de produção


As seguintes ferramentas ajudarão a facilitar o teste na produção:

  • Monitoramento configurado para que você possa encontrar e identificar facilmente o problema,
  • Alertas usando vários canais de comunicação: por exemplo, uma mensagem para o messenger se o servidor travar ou enviar um e-mail quando a memória acabar,
  • Analytics (por exemplo, Google Analytics), que mostra quantos usuários usam a funcionalidade,
  • Registro feito legível.
  • Feedback dos clientes - análises na loja, formulários de feedback em aplicativos da web.

PS


Este resumo não incluiu muitas coisas interessantes. O livro está bem escrito, recomendamos aos testadores que estão pensando em testar em projetos DevOps.

Por fim, alguns links úteis:

  • O livro pode ser comprado aqui .
  • Link para o vídeo de desempenho do Katrina do Agile Testing Days 2017.
  • Link para o blog de Katrina Kloki.

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


All Articles