how perform post release testing effectively
Quando comecei minha carreira como QA, estava trabalhando com uma empresa que oferecia seus produtos como SaaS. Os lançamentos de produção eram críticos e havia a possibilidade de afetar a funcionalidade dos clientes ativos.
À medida que nossa base de clientes cresceu, para gerenciar o risco e minimizar o impacto da liberação para clientes ativos, a equipe de QA adotou a prática de teste pós-lançamento.
Tudo isso era novo para mim e eu tinha muitas perguntas e dúvidas em minha mente:
- O que é o teste pós-lançamento?
- Testei tudo corretamente, por que precisamos fazer o teste pós-lançamento?
- Devo testar tudo de novo? O que eu faço exatamente na verificação pós-lançamento?
- O que acontece se eu encontrar um problema? Etc.
Estou feliz em admitir que encontrei todas as minhas respostas nos primeiros lançamentos de produção.
Aqui estou compartilhando esse conhecimento com todos vocês. Decidi escrever o artigo em formato de perguntas e respostas para mostrar como descobri as respostas.
O que você aprenderá:
- O que é verificação de liberação pós-produção?
- Quais tarefas e atividades estão incluídas na fase de verificação pós-lançamento?
- Eu preciso testar tudo de novo?
- Como formular uma estratégia de verificação de liberação pós-produção?
- Quem cria o plano de teste de liberação de pós-produção?
- Quem aprova o plano de teste de lançamento de pós-produção?
- Quando eu crio o plano de verificação de liberação de pós-produção?
- Concluí a verificação da versão de pós-produção. Qual é o próximo?
- O que acontece se eu encontrar um problema?
- O que mais eu preciso saber sobre o processo de verificação de lançamento de pós-produção?
- Conclusão:
- Leitura recomendada
O que é verificação de liberação pós-produção?
Por definição, Publicar significa Depois de , Lançamento de produção refere-se a implantação para ambientes VIVOS / de produção e Verificação inclui certificando-se de que os recursos lançados atendam aos requisitos .
Leitura recomendada=> Como preparar efetivamente o 'ambiente de teste' antes de começar a testar
O objetivo é verificar o lançamento em ambientes de produção / LIVE.
eclipse ide para c / c ++
Mas então surgem as perguntas:
- Por que precisamos fazer testes de lançamento de pós-produção quando testei tudo no ambiente de controle de qualidade?
- Por que antecipamos a ocorrência de problemas na produção, embora tenhamos testado a versão exaustivamente no ambiente de teste?
Existem muitos motivos pelos quais teríamos problemas na produção, embora pudéssemos ter seguido Processo de garantia de qualidade (ou seja, planejamento de teste , revisão do plano de teste, ciclo de teste, testes de regressão etc.)
Razões pelas quais teríamos problemas na produção:
1) Problema de dados - Os dados disponíveis nos ambientes de produção e teste podem variar. Isso pode fazer com que alguns problemas esquivos sejam perdidos em ambientes de teste.
2) Problema de implantação - Se sua empresa tem um processo de implantação de construção manual, sua versão pode estar mais sujeita a problemas de implantação. Alguns cenários comuns podem ser configurações ausentes ou configurações do site, scripts de banco de dados ausentes, ordem de implantação não seguida (primeiro o código, depois o banco de dados etc.), dependências instaladas incorretamente etc.
Leia também=> O que o testador de controle de qualidade deve saber sobre o processo de implantação
3) Áreas de impacto não identificadas - Pode haver alguns cenários para os quais as áreas impactadas podem não ter sido identificadas correta e completamente pela equipe.
Por exemplo, considere um SaaS ambiente.
Se a equipe não identificou o impacto de uma tabela de banco de dados reformulada em um cliente usando o esquema de tabela mais antigo (por exemplo, perda de dados, necessidade de migração de dados antes do lançamento, etc.), etc. Esse problema é menos provável de acontecer em projetos bem planejados com requisitos precisos. Mas, a possibilidade ainda existe.
4) Áreas de impacto desconhecidas - Isso pode ocorrer se o escopo e as áreas impactadas da liberação não forem conhecidos. Por exemplo, em uma empresa com vários produtos de software que compartilham um banco de dados e uma arquitetura comuns, mesmo uma pequena mudança pode interromper a funcionalidade de muitos produtos.
Quais tarefas e atividades estão incluídas na fase de verificação pós-lançamento?
As tarefas e atividades de liberação pós-produção geralmente incluem:
- Verificação de liberação pós-produção
- Resultados de verificação de relatório
- Relatando quaisquer problemas encontrados na produção
- Limpeza de dados de verificação pós-lançamento
- Monitoramento pós-lançamento (se aplicável)
Eu preciso testar tudo de novo?
Não necessariamente. Isso depende da versão a ser lançada e da análise de impacto.
Testes detalhados devem ser feitos durante o ciclo regular de QA. A verificação pós-lançamento deve ser feita seguindo um plano de teste de verificação de lançamento pós-produção que deve ser um derivado do Plano de Teste completo para esse lançamento.
Como formular uma estratégia de verificação de liberação pós-produção?
O planejamento de verificação de liberação pós-produção precisa ser feito de maneira semelhante ao seu planejamento de teste regular.
A estratégia deve estar nas mesmas linhas do fluxo de teste seguido durante o ciclo de controle de qualidade. É importante incluir as etapas mais importantes e críticas que permitem a cobertura máxima da funcionalidade.
o que é um código de segurança de rede
Uma boa estratégia de lançamento de pós-produção deve:
- Inclui etapas para testar novos recursos, bem como os principais recursos existentes
- Verifique as principais áreas de impacto
- Permitir cobertura máxima de funcionalidade
- Opcional: inclua quaisquer bugs críticos que foram encontrados no ambiente de teste
- Opcional: inclua a prioridade dos casos de teste
Quem cria o plano de teste de liberação de pós-produção?
Isso varia entre as empresas e depende da estrutura da organização.
Vejamos um exemplo da seguinte organização da equipe de QA.
Nesse cenário, o controle de qualidade trabalhando no projeto específico formulará o plano de teste de liberação pós-produção inicial.
Quem aprova o plano de teste de lançamento de pós-produção?
Isso varia entre as empresas e depende da estrutura da organização.
Considerando novamente a mesma estrutura organizacional mostrada na pergunta anterior, o plano de teste de liberação de pós-produção deve ser revisado e aprovado por o líder de teste ou gerente de QA .
Quando eu crio o plano de verificação de liberação de pós-produção?
O plano de teste de liberação de pós-produção pode ser criado a qualquer momento durante o ciclo de desenvolvimento de software após os requisitos, escopo de desenvolvimento e áreas de impacto serem identificados e bloqueados. Geralmente, é mais fácil para o controle de qualidade criar o plano de teste de liberação de pós-produção no meio do sprint. Isso garante que haja tempo suficiente para revisão e aprovação.
É uma boa prática incluir este plano de teste junto com qualquer documentos formais de aprovação de controle de qualidade antes que o projeto entre na fase de implantação e lançamento.
Concluí a verificação da versão de pós-produção. Qual é o próximo?
Depois que a verificação pós-lançamento for concluída, as próximas etapas serão
1) Comunicação dos resultados da verificação - Os resultados da verificação devem ser comunicados às partes interessadas, incluindo quaisquer problemas que possam ter sido encontrados na produção.
2) Relatar quaisquer problemas encontrados na produção na ferramenta de gerenciamento de defeitos - Para facilitar a análise da causa raiz e rastreabilidade .
3) Limpeza de dados de verificação pós-lançamento - A limpeza de dados precisa ser feita após a verificação ser concluída.
Por exemplo, considere um lançamento para um aplicativo de comércio eletrônico e digamos que você criou um pedido de teste na produção. Este pedido de teste precisa ser cancelado após a verificação ser concluída.
4) Monitoramento da liberação pós-produção (se aplicável) - Algumas versões requerem monitoramento da produção.
Por exemplo, se a equipe fez melhorias para melhorar os tempos de carregamento da página no aplicativo, isso precisaria ser monitorado por algum período de tempo para garantir que a melhoria foi realmente observada após o lançamento. Convém que as pessoas responsáveis pelo monitoramento sejam claramente identificadas e comunicadas.
O que acontece se eu encontrar um problema?
Quaisquer problemas devem ser relatados no Ferramenta de gerenciamento de defeitos e comunicado às partes interessadas. Se algum problema crítico for encontrado na produção, a comunicação dos resultados deve ocorrer imediatamente, pois uma decisão deve ser tomada se a construção precisar ser revertida para investigar o problema mais a fundo.
É importante que todos os problemas encontrados sejam relatados na Ferramenta de Rastreamento de Defeitos. Recomenda-se que eles sejam levantados como um tipo de problema separado (por exemplo, bug de pós-produção) para mostrar a separação de bugs do ciclo de controle de qualidade regular. Esses problemas podem ser filtrados facilmente, se necessário, para fins de análise de causa raiz.
O que mais eu preciso saber sobre o processo de verificação de lançamento de pós-produção?
Além do processo real de verificação de liberação de pós-produção, plano e estratégia, a seguir estão algumas dicas:
- É importante definir expectativas claras sobre o escopo e o propósito da verificação pós-lançamento. As partes interessadas (internas e externas) devem ser informadas do seguinte
- A equipe não pode testar tudo na produção
- A equipe não pode espremer dias de teste em poucas horas reservadas para verificação pós-lançamento
Portanto, o teste na produção seria baseado essencialmente no plano de teste de liberação de pós-produção aprovado.
Limitações:
O devido cuidado deve ser tomado ao decidir a extensão dos testes de lançamento de pós-produção. Existem limitações para o que e quanto podemos realmente testar na produção. O ambiente de produção possui dados de cliente ativos e precisa ser tratado com muito cuidado. Um planejamento adicional deve ser feito para mudanças que envolvam migração de dados, atualização, exclusão, etc.
Exemplo 1): Para uma empresa de eSurvey, se o teste envolver responder e enviar a pesquisa, o controle de qualidade precisará enviar uma solicitação para excluir a pesquisa de teste após a verificação para não afetar os dados de coleta da pesquisa do cliente e suas estatísticas.
É exemplo # 2): Para uma empresa de comércio eletrônico, vamos supor que um trabalho SQL de atualização de preços seja executado à meia-noite todos os dias e carregue o preço finalizado no site. Não podemos executar esse SQL sob demanda várias vezes para fins de verificação pós-lançamento, pois isso pode fazer com que dados não finalizados sejam enviados para produção.
Além disso, pode aumentar as chances de Impasses de banco de dados e alto consumo de recursos de CPU e memória durante os horários de pico de negócios, o que pode afetar o desempenho do aplicativo cliente.
como converter vídeos do youtube em arquivos wav
- O esforço necessário para o teste pós-lançamento e todas as atividades relacionadas deve ser embutido e incluído no Plano do Projeto. Dependendo das regras de negócios e das especificações do projeto, isso pode ser considerado como sobrecarga do projeto ou incluído no ciclo de QA ou incluído como parte do plano de gerenciamento de versão.
- Para os problemas relatados durante a verificação pós-lançamento, a análise da causa raiz deve ser conduzida para descobrir o motivo pelo qual o problema não foi detectado no início e o que pode ser feito melhor da próxima vez para evitar enfrentá-lo. A análise da causa raiz pode ajudar a equipe a aprender com esses problemas anteriores e preencher quaisquer lacunas na implementação. Com base na estrutura da organização, o Líder de Teste ou Gerente de QA pode concluir a análise da causa raiz com a entrada da equipe do projeto. Algumas causas raiz comuns podem ser um problema de codificação, problema de requisitos, problema de design, problema de dados, limitações de terceiros, cenário de teste ausente, etc. Ações corretivas e preventivas correspondentes podem ser criadas e rastreadas.
- Logs do servidor também pode ser usado para monitorar a construção após o lançamento. Log do servidor pode conter eventos ou problemas que podem não ser visíveis para o cliente, mas causarão problemas no back-end. Esse monitoramento pode ser atribuído como um item de ação para o líder Dev e a equipe DevOps.
Um exemplo:
Visão Geral do Projeto:
As seguintes alterações precisam ser feitas em um aplicativo de mídia social, especificamente no processo de inscrição
- A validação do campo de sobrenome precisa ser removida. Foi implementado anteriormente como ‘O sobrenome deve ter no mínimo 4 caracteres’ (melhoria para o campo existente)
- Implemente o botão de alternância ao lado do endereço de e-mail para que o usuário possa definir as configurações de privacidade do endereço de e-mail para mostrar em seu perfil (solicitação de novo recurso)
- O usuário deve ser capaz de escolher seu avatar (solicitação de novo recurso)
- Reduza as chamadas de API durante o processo de inscrição para melhorar o desempenho do aplicativo (melhoria)
Plano de verificação de liberação pós-produção:
S.No. | Descrição | resultado esperado | Status | Comentários |
---|---|---|---|---|
1 | Vá para Livesiteurl | A página inicial do site deve carregar com sucesso | Passar | |
dois | Clique em Inscrever-se como novo usuário | O usuário deve ser redirecionado para a página de registro / inscrição | Passar | |
3 | Preencha os campos obrigatórios e clique no botão Registrar Nota: -Insira o sobrenome como ‘Lee’ - Mude o botão de privacidade para Não exibir -Fino um Avatar | -O usuário deve ser redirecionado para sua página de perfil após o registro bem-sucedido. - O número de telefone do usuário não deve ser mostrado - O avatar selecionado pelo usuário deve mostrar | Passe Parcial | Avatar não está renderizando corretamente e está mostrando uma imagem quebrada. Reportado no JIRA como BUG-1088 |
4 | Monitoramento - Verifique se o desempenho do aplicativo melhorou após este lançamento | A redução de chamadas de API durante o processo de inscrição deve melhorar o desempenho do aplicativo | Em andamento | A ação está no Dev Lead e na equipe Dev Ops para monitorar o aplicativo por 24 horas |
5 | Limpeza pós-lançamento | Exclua a conta de teste criada | Feito |
Conclusão:
Com a maioria das empresas de software agora adotando a metodologia ágil , o número de lançamentos de produção aumentou.
Por exemplo, Enquanto estiver usando Modelo em cascata , uma equipe pode ter uma versão de produção a cada 1,5 meses, no entanto, com o processo Agile, a mesma equipe pode agora ter uma versão de produção a cada 2-3 semanas.
Com cada lançamento de produção, temos a possibilidade de, consciente ou inconscientemente, impactar a funcionalidade dos clientes ativos. A adoção da verificação de lançamento pós-produção imediatamente após o lançamento pode fornecer confiança adicional no lançamento, ao mesmo tempo que fornece a rede de segurança para reverter o lançamento antes que nossos clientes reais encontrem alguns problemas.
Para projetos de alto impacto / risco , o plano de verificação de liberação de pós-produção pode ser estruturado com base na prioridade do cenário de teste. O teste de prioridade crítica pode ser executado primeiro e a comunicação enviada às partes interessadas sobre os resultados e quaisquer problemas. Se nenhum problema crítico for encontrado, a verificação de liberação de pós-produção pode continuar, caso contrário, a decisão de reversão precisa ser tomada para minimizar o tempo de inatividade do aplicativo e o impacto nos clientes ativos.
Além disso, o teste de lançamento de pós-produção pode ser automatizado e os scripts de teste podem ser executados sob demanda após cada lançamento como um teste de regressão. Novamente, o devido cuidado deve ser tomado ao executar os scripts de teste automatizados na produção, pois isso pode afetar os dados e a funcionalidade do cliente ativo.
A verificação da liberação pós-produção é o última linha de defesa para qualquer empresa de software. Se não detectarmos os problemas, nossos clientes o farão e isso pode ser devastador para a reputação de qualquer empresa de software.
Para manter a confiabilidade do produto, é essencial que verifiquemos as alterações implantadas na produção imediatamente após a implantação.
Sobre o autor: Este artigo útil foi escrito por Neha B. Ela está atualmente trabalhando como gerente de garantia de qualidade e é especializada em liderar e gerenciar equipes de QA internas e offshore.
Compartilhe sua estratégia / dicas / experiência de teste de lançamento de pós-produção com nossos leitores.
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Download do e-book do Testing Primer
- Implementação prática de teste manual em 7 etapas antes da liberação da produção
- Teste de carga com tutoriais HP LoadRunner
- Fluxo de processo de controle de qualidade de teste de software prático (requisitos para liberação)
- Diferença entre Desktop, Teste de Servidor Cliente e Teste da Web
- O que é teste gama? O estágio final de teste
- O que é teste inicial: teste cedo, teste frequentemente, mas como? (Um Guia Prático)