O que é teste de recuperação? com exemplo
Teste de Recuperação
Teste de Recuperação é uma técnica de teste de software que verifica a capacidade do software de se recuperar de falhas como falhas de software/hardware, falhas de rede, etc. O objetivo do teste de recuperação é determinar se as operações de software podem continuar após um desastre ou perda de integridade. O teste de recuperação envolve reverter o software ao ponto em que a integridade era conhecida e reprocessar as transações até o ponto de falha.
Exemplo de teste de recuperação
Quando um aplicativo estiver 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 tiver um número definido de sessões abertas e verifique se o navegador consegue recuperar todas elas ou não
Na Engenharia de Software, o Teste de Recuperabilidade é um tipo de Teste Não- Teste funcional. (Testes não funcionais referem-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 necessário para 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 cinco etapas a seguir:
- 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 fazer com que todo o sistema volte à operação normal
Vamos discutir essas 5 etapas em detalhes-
- Um sistema que consiste em hardware, software e firmware integrados para atingir um objetivo comum torna-se operacional para cumprir um objetivo bem definido e declarado. O sistema é chamado a 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, danos devido a incêndio, roubo e greve.
- A fase de ruptura é a fase mais dolorosa que leva a perdas de negócios, ruptura de relacionamento, perdas de oportunidades, perdas de horas-homem e invariavelmente perdas financeiras e de boa vontade. Todas as agências sensatas devem ter um plano de recuperação de desastres para permitir que a fase de perturbação seja mínima.
- Se um plano de backup e processos de mitigação de riscos estiverem no lugar certo antes de ocorrerem desastres e interrupções, a recuperação poderá ser feita sem muita perda de tempo, esforço e energia. Um indivíduo designado, juntamente 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 longos períodos de interrupção.
- A reconstrução pode envolver múltiplas sessões de operação para reconstruir todas as pastas junto com os arquivos de configuração. Deve haver documentação e processo de reconstrução adequados para uma recuperação correta.
Estratégia de Restauração
A equipe de recuperação deve ter uma estratégia única para recuperar códigos e dados importantes para trazer a operação da agência de volta à normalidade.
A estratégia pode ser exclusiva para cada organização com base na criticidade dos sistemas com os quais estão lidando.
A estratégia possível 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 local ou em locais 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 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ódigos da agência desenvolvedora em questão. Por exemplo, se Amazon AWS cai e fecha 25 da internet. A Restauração Independente é crucial nesses casos.
Como fazer testes de recuperação
Ao realizar testes de recuperação, os seguintes itens devem ser considerados.
- Devemos criar um banco de testes 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 a mesma condição.
- Por meio de testes exaustivos que podem ser demorados e caros, uma configuração idêntica e uma verificação completa devem ser realizadas.
- Se possível, os testes devem ser realizados no hardware que finalmente iremos restaurar. Isto é especialmente verdadeiro se estivermos restaurando para 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 dos drives está avançando em ritmo acelerado e os drives antigos podem não ser compatíveis com os novos. Uma maneira de lidar com o problema é restaurar para um máquina virtual. Fornecedores de software de virtualização como a 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 testes. A maioria dos provedores de serviços de backup on-line 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 corporações possui auditores independentes para realizar exercícios de teste de recuperação periodicamente.
As despesas de manutenção e teste de um plano abrangente de recuperação de desastres podem ser substanciais e proibitivas para pequenas empresas.
Riscos menores podem contar com backups de dados e planos de armazenamento externos para salvá-los em caso de catástrofe.
Após a restauração de pastas e arquivos, as seguintes verificações podem ser feitas para garantir que os arquivos sejam recuperados corretamente:
- Renomeie a pasta de documentos corrompida
- 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 utiliza. E certifique-se de poder navegar pelos dados, atualizá-los ou o que você faz normalmente.
- É melhor abrir vários arquivos de diferentes tipos, fotos, mp3s, documentos e alguns grandes e outros pequenos.
- Os mais sistemas operacionais tem utilitários que você pode usar para comparar arquivos e diretórios.
Resumo
Neste tutorial, aprendemos vários aspectos do teste de recuperação que ajudam a entender se o sistema ou programa atende aos seus requisitos após uma falha.