Обычно я не обращаюсь к аудитории проекта непосредственно, но в этом
выпуске позволю себе отойти от традиции. Не так давно рассылка проекта
"Записки
тестировщика" была переведена сервисом Subscribe.ru
в категорию серебряные. После анонса проекта средствами сервиса, на
рассылку и проект обратила внимание широкая аудитория. Аудитория подписки
увеличилась с 80-ти до 1200-от подписчиков.
В связи с тем, что аудитория Записок возрасла я и решил обратиться
к аудитории проекта.
Хочу поприветствовать тех, кто присодинился к проекту. Надеюсь, что
вам будет интересно. Тем же, кто был со мной и моими идеями раньше,
хочу сказать спасибо за доверие - "писать в стол" довольно
проблематично и неинтересно. Может быть проект станет более периодичным,
но не в ущерб содержанию, конечно.
______________
С уважением,
Вячеслав Панкратов | http://pankratov.org.ua
| slava@pankratov.org.ua "Revert to snapshot"
Использование средств VMware workstation в тестировании.
Сложные алгоритмы, особенно в тестировании инсталляций зачастую предполагают
множественные ветвления в состояниях операционной и файловой систем.
При тестировании иногда очень нужно сделать "шаг назад"
и при этом получить первоначальное "чистое" состояние без
искусственных шагов. В этом очень может помочь опция Revert to snapshot
реализованная в последних версиях VMware workstation.
Рассмотрим её подробнее.
Что такое снэп-шот (snapshot)?
Термин знакомый разработчикам баз данных и в теории виртуализации
не сильно отклоняется от первоначального смысла: снэп-шот (snapshot)
- это снимок состояния. В среде виртуализации VMware, снимок состояния
относится ко всему виртуальному окружению. То есть в нужный момент
мы можем получить "моментальный" снимок среды, включая снимок
операционной системы (реестра, драйверов, версий компонент) и файловой
системы. Термин "моментальный" применим с небольшой натяжкой
- конечно на создание снимка уходит время затраченное системой виртуализации
на дисковые операции, но суть в том, что снимок отражает полноценное
мгновенное состояние работающей операционной системы.
Опция Revert to snapshot, вынесенная в название статьи, переводит
виртуальное окружение в состояние в котором она пребывала в момент
снимка. То есть в нужный момент просто нажимаем Revert to snapshot
и получаем машину в том состоянии в котором мы её "снэп-шотили".
Заметим, что даже при выключенной (power off) виртуальной машине,
Revert to snapshot переводит её в работоспособное состояние. Удобная
опция, которая позволит экономить время на этапах "последнего
выключения" и "первой загрузки" операционной среды
в начале и конце тестового сценария. Можно просто выключить питание
окружению, которое подлежит очистке и возвратом к снимку получить
уже запущенное и готовое к работе тестовое окружение. При многоразовых
операциях восстановления окружений, экономия по времени получается
более чем существенная. Не думаю, что разработчики VMware проектировали
этот момент сознательно, но "фича" очень полезная.
Недостатки решения.
В версии VMware workstation 4.0 снимок может быть только один. Будем
надеятся, что в следующих версиях VMware, снимков можно будет делать
много (потенциально нет проблемы с ограниченным только дисковым носителем
количеством снимков) - и в любой момент получить доступ к любому промежуточному
состоянию системы под тестом.
Практическое применение.
Тестируется сложная инсталляция. Записи в системный реестр. Возможность
установки многокомпонентной и конфигурируемой системы. Много физических
операций с диском. Регистрация компонент и тому подобные аспекты инсталляций.
Словом все "прелести" установки сложного программного продукта.
Перед установкой многих комплексов приходится проводить проверки на
версии системных компонент и их обновление. На практике встречались
инсталляции, которые проводили предварительную установку, к примеру,
Internet Explorer нужной версии, MSDE, service pack операционной системы,
всевозможных merge modules и т.п. Получается довольно сложный проект
по тестированию. Каждый этап инсталляции нужно проверить. Создавая
тесты можно закладываться на возможности создания снимков и проводить
тестирование таких сложных проектов в более сжатые сроки.
Краш-тесты? Это - просто.
Хочется посмотреть как будет вести себя приложение после сбоя операционной
системы. Игры с реальным компьютером могут привести к выходу из строя
части аппаратного обеспечения, говоря проще: дорогого железа. А проверить
нужно. Виртуалка тут незаменима. Но опять таки - проверить нужно не
раз и не два. Таже инсталляция может быть прервана на любом этапе.
Постепенно перенося момент снимка на более поздние этапы, можно провести
полноценную серию тестов, создавая проекту или системе под тестом
проблемное окружение и раз за разом возвращаться к снимку.
Продолжать генерировать примеры можно долго. Многие практические задачи
тестирования, возможно, даже напрямую не связанные с необходимостью
создания снимков виртуальной среды, можут быть оптимизированы за счёт
использования этой удобной функции - Revert to snapshot в VMware workstation.