Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03.11.13_1 / 2_Виды Тестирования.doc
Скачиваний:
193
Добавлен:
08.06.2015
Размер:
140.29 Кб
Скачать

Тестирование мастера установки или Installation Wizard Testing

Умные люди писали: "Визарды - это зло". С этим можно соглашаться или нет, но тестировать их все равно приходится. Предлагается следующий план тестирования инсталляционного визарда:

  1. Определить все пути от начала до конца, и затем расставить приоритеты для каждого из них. Это поможет нам избежать излишних затрат и усилий при прохождении низкоприоритеных путей.

  2. Забудьте про GUI. Постарайтесь описать тест-кейсы без привязки к интерфейсным элементам. К примеру, GUI контролы checkbox/radiobutton или меню из двух пунктов это просто выбор между true и false, важно то, на что он влияет в конечном счете.

  3. Если по результатам прохождения визарда получается какой либо проперти файл (файл, описывающий свойства в виде списка: свойство=значение), который потом передается дальше в процедуру экспорта. В этом случае можно разделить проверки на два этапа - первый, создавать (генерировать) такие проперти файлы и проверять, что экспорт работает правильно. Второй - проверять, что через GUI получаются правильные проперти файлы.

  4. Не забудьте заняться таким рутинным видом тестирования визардов, как ходить туда-обратно по страницам:

    1. ничего не меняя, все ответы должны сохраняться;

    2. меняя что-либо на предыдущей странице, на следующей должно произойти адекватное изменение либо сброс ответов.

  5. Убедитесь, что визард адекватно реагирует на неправильные ответы и не дает ходить дальше.

  6. Кнопка Cancel (Close) должна работать всегда и на всех страницах визарда.

  7. Создайте для каждого из возможных путей мастера установки шаблонный результат (в идеале, сделайте их несколько - для разных входных данных). Затем, по возможности, автоматизированно или вручную сравнивайте полученный результат с шаблонным.

  8. Выделите те опции, которые не влияют ни на какие другие, и на которые другие не оказывают влияния. Работу этих опций можно будет тестировать изолированно от других.

Кросс-платформенное тестирование инсталляторов

Отдельным пунктом хочется выделить кросс-платформенное тестирование инсталляторов, которое обязательно должно проводиться для всех трех функций - установка, обновление и удаление:

  1. Корректность работы инсталлятора с различными версиями ОС, Сервиспаков (ServicePack) и установленных обновлений

  2. Проверка файлов, драйверов и библиотек при установке под разные ОС

  3. Проверка прав на доступа к файлам, папкам и к системным записям для разных ОС

  4. Проверка установленных на файлы приложения разрешений (Permissions)

Для упрощения процедуры тестирования рекомендуется создать таблицу, где колонками будут идти требуемые конфигурации, а строками - тестовые случаи (test cases) или тестируемые функции. В процессе тестирования на пересечении колонок и строк заполняйте результат, что сможет визуально показать прогресс тестирования и соответствие "кросс-платформенным" требованиям. Теперь перейдем непосредственно к описанию тестирования:

  1. Если приложение должно работать в нескольких ОС, то инсталлятор должен проверять необходимый набор функций в процессе своей работы. Возможно, что где-то должен быть установлен какой-нибудь пакет обновлений или просто надо работать с другой библиотекой.

Случай из практики: "Приложение должно быть закрыто для установки на Windows Vista. Запускаем его, программа думает и выдает сообщение, что мол эта версия не будет работать под данной ОС. Все верно, нажимаем Ок. После этого компьютер думает пару секунд и сообщает следующее: "Приложение было некорректно завершено. Давайте попробуем запустить его в режиме совместимости?" Соглашаемся и запускаем. Автоматически стартует наше приложение еще раз, но на этот раз ставится "на ура". Не знаем, что и как там делает Vista, но код защиты пришлось переделывать."

  1. Проверка списка устанавливаемых файлов проводится по аналогии с пунктом 2 раздела "Установка (Инсталляция)", что же касается установки драйверов и библиотек, то тут следует отметить особую важность данной проверки. Не все драйвера и библиотеки одинаково хорошо работаю на разных платформах.

Случай из практики: "Для некоторых драйверов есть зависимость от файловой системы, на которой работает ОС. Точнее для некоторых типов ошибок. Был случай, когда на NTFS все прекрасно работало, а на FAT32 ОС не могла подняться после установки ПО. Причина была в неверной записи при установке драйвера в реестр."

  1. Необходимо проверить, что инсталлятор имеет права на доступ к файлам, папкам и к системным записям. Особенно это важно при инсталляции под ОС семейства UNIX, с их жесткими ограничениями в доступе к ресурсам для разных категорий пользователей. Так же смотрите пункт 5 раздела "Установка (Инсталляция)", а также пункт 4 раздела "Удаление (Деинсталляция)"

  2. При/после инсталляции на unix системах, у файлов должны быть соответствующие разрешения (Permissions). Т.е. если файл предназначен для запуска, то он должен быть запускаемым, если это конфигурационный файл, например, то должны быть разрешения на модификацию и т.д.