Teste de Recuperação
O Teste de Recuperação é uma técnica de teste de software que verifica a capacidade do software de se recuperar de falhas como travamentos de software / hardware, falhas de rede, etc. O objetivo do Teste de Recuperação é determinar se as operações do software podem ser continuadas após um desastre ou perda de integridade. O teste de recuperação envolve a reversão do software ao ponto em que a integridade era conhecida e o reprocessamento das transações até o ponto de falha.
Exemplo de teste de recuperação
Quando um aplicativo está recebendo dados da rede, desconecte o cabo de conexão.
- Depois de algum tempo, reconecte o cabo e analise a capacidade do aplicativo de continuar recebendo dados do ponto em que a conexão de rede foi interrompida.
- Reinicie o sistema enquanto um navegador tem um número definido de sessões abertas e verifique se o navegador é capaz de recuperar todas elas ou não
Em Engenharia de Software, o Teste de Recuperabilidade é um tipo de Teste Não Funcional. (O teste não funcional refere-se a aspectos do software que podem não estar relacionados a uma função específica ou ação do usuário, como escalabilidade ou segurança.)
O tempo de recuperação depende de:
- O número de pontos de reinicialização
- Um volume de aplicativos
- Treinamento e habilidades de pessoas que realizam atividades de recuperação e ferramentas disponíveis para recuperação.
Quando há uma série de falhas, em vez de cuidar de todas as falhas, o teste de recuperação deve ser feito de forma estruturada, o que significa que o teste de recuperação deve ser realizado para um segmento e depois para outro.
Isso é feito por testadores profissionais. Antes do teste de recuperação, os dados de backup adequados são mantidos em locais seguros. Isso é feito para garantir que a operação possa continuar mesmo após um desastre.
Ciclo de vida do processo de recuperação
O ciclo de vida do processo de recuperação pode ser classificado nas seguintes cinco etapas:
- Operação normal
- Ocorrência de desastre
- Interrupção e falha da operação
- Eliminação de desastres através do processo de recuperação
- Reconstrução de todos os processos e informações para colocar todo o sistema em operação normal
Vamos discutir essas 5 etapas em detalhes
-
Um sistema que consiste em hardware, software e firmware integrado para atingir um objetivo comum torna-se operacional para realizar um objetivo bem definido e declarado. O sistema é chamado para realizar a operação normal para realizar o trabalho projetado sem qualquer interrupção dentro de um período de tempo estipulado.
-
Uma interrupção pode ocorrer devido ao mau funcionamento do software, devido a vários motivos, como mau funcionamento iniciado pela entrada, falha do software devido a falha de hardware, danificado devido a incêndio, roubo e greve.
-
A fase de interrupção é a fase mais dolorosa que leva a perdas de negócios, quebra de relacionamento, perdas de oportunidade, perdas de homem-hora e, invariavelmente, perdas financeiras e de fundo de comércio. Cada agência sensata deve ter um plano de recuperação de desastres para permitir que a fase de interrupção seja mínima.
-
Se um plano de backup e processos de mitigação de risco estão no lugar certo antes de encontrar desastres e interrupções, a recuperação pode ser feita sem muita perda de tempo, esforço e energia. Um indivíduo designado, junto com sua equipe com a função atribuída a cada uma dessas pessoas, deve ser definido para fixar a responsabilidade e ajudar a organização a evitar um longo período de interrupção.
-
A reconstrução pode envolver várias sessões de operação para reconstruir todas as pastas junto com os arquivos de configuração. Deve haver documentação adequada e processo de reconstrução para recuperação correta.
Estratégia de Restauração
A equipe de recuperação deve ter sua estratégia exclusiva para recuperar o código e os dados importantes para trazer a operação da agência de volta à normalidade.
A estratégia pode ser única para cada organização com base na criticidade dos sistemas com os quais está lidando.
A possível estratégia para sistemas críticos pode ser visualizada da seguinte forma:
- Para ter um único backup ou mais de um
- Para ter vários backups em um lugar ou em lugares diferentes
- Para ter um backup online ou offline
- O backup pode ser feito automaticamente com base em uma política ou manualmente?
- Ter uma equipe de restauração independente ou a própria equipe de desenvolvimento pode ser utilizada para o trabalho
Cada uma dessas estratégias tem um fator de custo associado a ela e vários recursos necessários para vários backups podem consumir mais recursos físicos ou podem precisar de uma equipe independente.
Muitas empresas podem ser afetadas devido à dependência de dados e código da agência de desenvolvimento em questão. Por exemplo, se o Amazon AWS desligar, fecha 25 da Internet. A restauração independente é crucial nesses casos.
Como fazer testes de recuperação
Ao realizar o teste de recuperação, as seguintes coisas devem ser consideradas.
- Devemos criar uma base de teste o mais próximo possível das condições reais de implantação. As alterações na interface, protocolo, firmware, hardware e software devem ser o mais próximo possível da condição real, se não forem as mesmas.
- Por meio de testes exaustivos, pode ser demorado e caro, uma configuração idêntica e uma verificação completa devem ser executadas.
- Se possível, o teste deve ser realizado no hardware que finalmente iremos restaurar. Isso é especialmente verdadeiro se estivermos restaurando em uma máquina diferente daquela que criou o backup.
- Alguns sistemas de backup esperam que o disco rígido tenha exatamente o mesmo tamanho daquele de onde o backup foi feito.
- A obsolescência deve ser gerenciada, pois a tecnologia do drive está avançando em um ritmo acelerado e o drive antigo pode não ser compatível com o novo. Uma maneira de lidar com o problema é restaurar em uma máquina virtual. Os fornecedores de software de virtualização como VMware Inc. podem configurar máquinas virtuais para imitar o hardware existente, incluindo tamanhos de disco e outras configurações.
- Os sistemas de backup online não são uma exceção para teste. A maioria dos provedores de serviços de backup online nos protege de sermos expostos diretamente a problemas de mídia pela maneira como usam sistemas de armazenamento tolerantes a falhas.
- Embora os sistemas de backup online sejam extremamente confiáveis, devemos testar o lado de restauração do sistema para garantir que não haja problemas com a funcionalidade de recuperação, segurança ou criptografia.
Procedimento de teste após restauração
A maioria das grandes empresas tem auditores independentes para realizar exercícios de teste de recuperação periodicamente.
A despesa de manutenção e teste de um plano abrangente de recuperação de desastres pode ser substancial e proibitiva para empresas menores.
Riscos menores podem depender de seus backups de dados e planos de armazenamento externo para salvá-los no caso de uma catástrofe.
Depois que as pastas e os arquivos forem restaurados, as seguintes verificações podem ser feitas para garantir que os arquivos sejam recuperados corretamente:
- Renomeie a pasta de documentos corrompidos
- Conte os arquivos nas pastas restauradas e combine-os com uma pasta existente.
- Abra alguns dos arquivos e verifique se eles estão acessíveis. Certifique-se de abri-los com o aplicativo que normalmente os usa. E certifique-se de que você pode navegar pelos dados, atualizá-los ou o que você faz normalmente.
- É melhor abrir vários arquivos de diferentes tipos, imagens, mp3s, documentos, alguns grandes e outros pequenos.
- A maioria dos sistemas operacionais possui utilitários que você pode usar para comparar arquivos e diretórios.
Resumo:
Neste tutorial, aprendemos vários aspectos dos testes de recuperação que ajudam a entender se o sistema ou programa atende aos requisitos após uma falha.
Este artigo é uma contribuição de Shweta Priyadarshini