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:
CachoeiraTudo 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.
ÁgilNo 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.
DevopsAgora 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:
- Toda a equipe sabe claramente o que precisa ser testado enquanto trabalha em uma história de usuário específica.
- Todo mundo tem um entendimento comum dos requisitos de negócios.
- Ao discutir a história do usuário, você tem a resposta para a pergunta "Como vamos testar isso?"
- Todos na equipe sabem como executar autotestes e onde ver o resultado.
- 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).
- Seus scripts de teste são versionados e armazenados com o código fonte, pois os testes fazem parte do software.
- Você não possui erros no backlog porque os corrige assim que os encontra, e não apenas os registra.
- Sem tempo de inatividade no trabalho do servidor de IC.
- Durante o rali, não está claro quem é o desenvolvedor e quem é o testador.
- 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.