Что такое тестирование восстановления? с примером
Тестирование восстановления
Тестирование восстановления — это метод тестирования программного обеспечения, который проверяет способность программного обеспечения восстанавливаться после сбоев, таких как сбои программного обеспечения или оборудования, сбои сети и т. д. Целью тестирования восстановления является определение возможности продолжения операций программного обеспечения после сбоя или потери целостности. Тестирование восстановления включает возврат программного обеспечения к состоянию, в котором была известна целостность, и повторную обработку транзакций до точки сбоя.
Пример тестирования восстановления
Когда приложение получает данные из сети, отсоедините соединительный кабель.
- Через некоторое время подключите кабель обратно и проанализируйте способность приложения продолжать получать данные с той точки, в которой было разорвано сетевое соединение.
- Перезагрузите систему, пока в браузере открыто определенное количество сеансов, и проверьте, сможет ли браузер восстановить их все или нет.
В программной инженерии тестирование на возможность восстановления — это тип не- Функциональное тестирование. (Нефункциональное тестирование относится к аспектам программного обеспечения, которые могут не быть связаны с конкретной функцией или действием пользователя, например масштабируемостью или безопасностью.)
Время восстановления зависит от:
- Количество точек перезапуска
- Объем заявок
- Обучение и навыки людей, проводящих восстановительные мероприятия, и инструменты, доступные для восстановления.
При наличии нескольких сбоев вместо того, чтобы устранять все сбои, тестирование восстановления следует проводить структурированным образом, что означает, что тестирование восстановления должно проводиться для одного сегмента, а затем для другого.
Это делают профессиональные тестировщики. Перед тестированием восстановления соответствующие резервные данные хранятся в безопасных местах. Это сделано для того, чтобы операцию можно было продолжить даже после катастрофы.
Жизненный цикл процесса восстановления
Жизненный цикл процесса восстановления можно разделить на следующие пять этапов:
- Нормальная операция
- Возникновение катастрофы
- Срыв и провал операции
- Устранение последствий стихийного бедствия посредством процесса восстановления
- Реконструкция всех процессов и информации для приведения всей системы в нормальный режим работы.
Давайте обсудим эти 5 шагов подробно.
- Система, состоящая из аппаратного, программного и встроенного программного обеспечения, интегрированных для достижения общей цели, приводится в действие для достижения четко определенной и заявленной цели. Система призвана выполнять нормальную работу для выполнения запланированной работы без каких-либо сбоев в течение оговоренного периода времени.
- Сбои могут возникнуть из-за неисправности программного обеспечения по разным причинам, например, из-за неисправности входа, сбоя программного обеспечения из-за сбоя оборудования, повреждения в результате пожара, кражи или удара.
- Фаза разрушения — наиболее болезненная фаза, которая приводит к потерям в бизнесе, разрыву отношений, потерям возможностей, потерям человеко-часов и неизменно финансовым потерям и потерям репутации. Каждое разумное агентство должно иметь план аварийного восстановления, позволяющий свести фазу сбоя к минимуму.
- Если план резервного копирования и процессы снижения рисков находятся на правильном месте до возникновения катастрофы и сбоя, восстановление можно выполнить без особых потерь времени, усилий и энергии. Должно быть определено назначенное лицо вместе со своей командой с назначенной ролью каждого из этих лиц, чтобы зафиксировать ответственность и помочь организации спастись от длительного периода сбоев.
- Реконструкция может включать несколько сеансов работы для восстановления всех папок вместе с файлами конфигурации. Для правильного восстановления должна быть надлежащая документация и процесс реконструкции.
Стратегия восстановления
Команда восстановления должна иметь свою уникальную стратегию по извлечению важного кода и данных, чтобы вернуть работу агентства в нормальное русло.
Стратегия может быть уникальной для каждой организации в зависимости от критичности систем, с которыми она работает.
Возможную стратегию для критических систем можно представить следующим образом:
- Чтобы иметь одну резервную копию или несколько
- Чтобы иметь несколько резервных копий в одном или разных местах
- Чтобы иметь онлайн-резервную или автономную резервную копию
- Может ли резервное копирование выполняться автоматически на основе политики или вручную?
- Для работы можно использовать независимую команду реставрации или команду разработчиков.
Каждая из этих стратегий имеет связанный с ней фактор стоимости, и несколько ресурсов, необходимых для нескольких резервных копий, могут потребовать больше физических ресурсов или может потребоваться независимая команда.
Многие компании могут пострадать из-за зависимости своих данных и кода от соответствующего агентства-разработчика. Например, если Amazon AWS выходит из строя, отключает 25 Интернета. Независимая реставрация имеет решающее значение в таких случаях.
Как провести тестирование восстановления
При выполнении тестирования восстановления следует учитывать следующие вещи.
- Мы должны создать испытательный стенд, максимально приближенный к реальным условиям развертывания. Изменения в интерфейсе, протоколе, встроенном ПО, аппаратном и программном обеспечении должны быть максимально приближены к фактическому состоянию, если не к одному и тому же состоянию.
- Поскольку исчерпывающее тестирование может оказаться трудоемким и дорогостоящим делом, необходимо выполнить идентичную конфигурацию и полную проверку.
- Если возможно, тестирование следует провести на том оборудовании, которое мы собираемся в конечном итоге восстановить. Это особенно актуально, если мы выполняем восстановление на другую машину, отличную от той, на которой была создана резервная копия.
- Некоторые системы резервного копирования ожидают, что размер жесткого диска будет точно таким же, как и у того, с которого была сделана резервная копия.
- Устареванием следует управлять, поскольку технология приводов развивается быстрыми темпами, и старый диск может быть несовместим с новым. Одним из способов решения проблемы является восстановление виртуальная машина. Поставщики программного обеспечения для виртуализации, такие как VMware Inc., могут настраивать виртуальные машины так, чтобы имитировать существующее оборудование, включая размеры дисков и другие конфигурации.
- Системы онлайн-резервного копирования не являются исключением для тестирования. Большинство поставщиков услуг онлайн-резервного копирования защищают нас от прямого воздействия проблем с носителями, используя отказоустойчивые системы хранения.
- Хотя системы онлайн-резервного копирования чрезвычайно надежны, мы должны протестировать сторону восстановления системы, чтобы убедиться в отсутствии проблем с функциями восстановления, безопасностью или шифрованием.
Процедура тестирования после восстановления
Большинство крупных корпораций имеют независимых аудиторов, которые периодически проводят тесты на восстановление.
Затраты на поддержку и тестирование комплексного плана аварийного восстановления могут быть значительными и непомерно высокими для малых предприятий.
Меньшие риски могут полагаться на резервные копии данных и планы внешнего хранения, чтобы сохранить их в случае катастрофы.
После восстановления папок и файлов можно выполнить следующие проверки, чтобы убедиться, что файлы восстановлены правильно:
- Переименуйте папку поврежденного документа
- Подсчитайте файлы в восстановленных папках и сопоставьте их с существующей папкой.
- Откройте несколько файлов и убедитесь, что они доступны. Обязательно открывайте их с помощью приложения, которое обычно их использует. И убедитесь, что вы можете просматривать данные, обновлять данные или делать то, что вы обычно делаете.
- Лучше всего открыть несколько файлов разных типов: изображения, mp3, документы, большие и маленькие.
- Лучшее операционные системы есть утилиты, которые можно использовать для сравнения файлов и каталогов.
Резюме
В этом руководстве мы изучили различные аспекты тестирования восстановления, которые помогают понять, соответствует ли система или программа своим требованиям после сбоя.