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.

Teste de Recuperaçã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:

  1. Operação normal
  2. Ocorrência de desastre
  3. Interrupção e falha da operação
  4. Eliminação de desastres através do processo de recuperação
  5. Reconstrução de todos os processos e informações para fazer com que todo o sistema volte à operação normal

Processo de recuperação

Vamos discutir essas 5 etapas em detalhes-

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Para ter um único backup ou mais de um
  2. Para ter vários backups em um local ou em locais diferentes
  3. Para ter um backup online ou offline
  4. O backup pode ser feito automaticamente com base em uma política ou manualmente?
  5. 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.