Процесс тестирования установки, в первую очередь, ориентирован на тестирование корректности инсталляции ПО и настройки, а также последующее обнаружение обновлений или удаление программного обеспечения.
В сегодняшних реалиях интернет-сообщества, наиболее распространенная практика установки программного обеспечения состоит в использовании специальных инсталляторов (особое ПО, которое, как и веб-продукт, нуждается в тщательном тестировании, позволяющее пользователям устанавливать программы на локальные машины или портативные устройства).
Иногда бывает так, что инсталляторов нет и тогда приходится выполнять установку с помощью специальной документации, содержащейся в файлах readme, поэтапно, детализировано описывая все нужные действия для инсталляции.
Для большинства распределительных систем, где ПО раскрывается на уже функционирующем окружении, набора стандартных функций уже будет недостаточно. Для подобных целей создают специальный план установки, в содержание которого входят не только все шаги по установке продукта, но и шаги отката к предыдущей модификации, если произойдет определенный сбой.
Естественно, план установки нужно тщательно протестировать, чтобы в будущем избежать технических сбоев при выпуске ПО в официальный релиз.
Только комплексный подход с созданием большого перечня тестов, пошаговой проверки стадии установки и отката версий, полноценно называется процессом тестирования установки.
Характерные особенности тестирования инсталляторов
Что такое инсталлятор?
Инсталлятор – специальный веб-продукт, базовая задача которого установить, обновить или удалить программное обеспечение на локальном устройстве пользователя.
Процесс тестирования инсталлятора — очень важная вещь, так как это первое, что видит пользователь при взаимодействии с программном обеспечением.
Хоть инсталлятор это простое по внутренней структуре приложение, оно имеет множество особенностей, среди большого перечня которых особое внимание стоит уделить:
- Максимальное «сотрудничество» с операционной системой локальной машины, и техническую зависимость от нее (реестр, файловая система, библиотеки и прочие сервисы);
- Совместимость библиотек с различными платформами и системами;
- Удобство применения: понятный и простой внешний интерфейс, подсказки и всплывающие сообщения;
- Стиль и внешнее оформление инсталляционного продукта;
- Потенциальная совместимость пользовательских настроек в разных модификациях ПО;
- Другое.
Теперь можно выделить базовые риски, которые могут возникнуть, если не проводить тщательное тестирование инсталляторов:
- Риск полной потери клиентских данных;
- Риск вывода операционной платформы из технического строя;
- Риск неработоспособности ПО;
- Риск неправильной работы продукта.
В то же время, на инсталляторы, как и на прочие программы, можно возложить кое-какие функциональные требования, которые тоже должны быть хорошо проверены.
Что нужно тестировать в инсталляционных программах в первую очередь?
Чтобы расписать наиболее важную группу тестов, нужно проверить, что требуется инсталлятору в первую очередь для его корректной работы.
Установка
- Корректность перечня файлов внутри инсталляционного документа: во время выбора разных видов установки; отсутствие неиспользуемых файлов (файлы проекта, которые не входят в пакет установки);
- Процесс регистрации программы в операционной платформе;
- Регистрация расширений для взаимодействия с данными;
- Права пользователя, который выполняет процесс инсталляции ПО;
- Корректность функционирования мастера установки (так называемого «installation wizard»);
- Установка более одного продукта за один раз (последовательная установка);
- Инсталляция одного ПО в одну рабочую директорию внутри одной учетной записи (внутри одной локальной машины);
Обновление
- Корректность перечня файлов и отсутствие ненужных файловых составляющих;
- Обратная совместимость создаваемых файлов;
- Потенциальное прерывание установки.
Деинсталляция
• Удаление ПО при запущенном приложении;
• Удаление с ограниченным доступом по правам активного пользователя;
• Удаление программы пользователем без соответствующих системных прав.
Рекоммендации по правильному и эффективному тестированию установки
Если мы рассматриваем процесс установки приложения, то тестирование на данной стадии затрагивает следующие обязательные проверки:
- Процесс получения списка файлов проводиться до, а проверка файлов — после установки программы;
- Проверка корректности регистрации библиотек и служебных записей. К примеру, в операционной платформе Windows тестировщику придется протестировать системный реестр на предмет правильной записи новых блоков информации и процесса регистрации новых веб-продуктов;
- Сразу же после установки программы проверяется корректность регистрации расширений для новых файлов инсталлированной веб-программы внутри операционной системы;
- Отдельно рекомендуется проводить проверку на то, что инсталляционная программа во время своей установки должна проверять учетную запись пользователя и моментально информировать о потенциально возможных проблемах с пользовательскими правами;
- Проверка на возможные конфликты в отношении системных доступов к общим файловым ресурсам при одновременной установке сразу нескольких программ.
Касательно процесса обновления, тестировщик должен выполнить следующие группы проверок:
- Тестирование на обратную совместимость – при выполнении обновлений, все ранее инсталлированные файлы и папки должны правильно открываться и выполнять свои непосредственные системные «обязанности»;
- Если продукт запущен, клиент должен получить специальное уведомление о том, что выполнить обновление продукта не получится, поскольку программа уже функционирует.
Примечательно к процессу удаления инсталлятора, стоит выполнять следующие проверки:
- Очень полезной практикой принято считать процедуру удаления продукта в процессе выполнения инсталляции (удалять можно как библиотеки в системном каталоге, так и регистрационные записи внутри системного реестра);
- Тестирование проверки удаления реестров, ссылки на системные библиотеки;
- Тест на сохранность данных при взаимодействии с продуктом. Под когорту подобных файлов могут подпадать служебные скрипты, сохранения от виртуальных игр и прочие созданные пользователем информационные блоки;
- Проверка поведения инсталлятора, при условии что каталог продукта закрыт для процесса удаления по правам доступа;
- Если пользователь не авторизирован для деинсталляции продукта, он должен получить специальное уведомление и процесс удаления должен быть остановлен.
Особенности процесса проверки мастера установки
Для мастера установки лучше всего использовать следующий алгоритм проверки:
- Для начала найти все доступные пути от начала тестирования и до самого завершения. Подобная стратегия позволит избежать временных и бюджетных затрат;
- Не нужно писать тесты к привязке GUI. Все проверки создаются без тестирования графического интерфейса;
- Проверка корректности работы экспорта и тестирование ситуации, что через GUI передаются корректные property files;
- Тестирование мастера установки на то, что он адекватно реагирует на некорректные ответы и блокирует пользователя при подобных ситуациях;
- Кнопка «Отмена» доступна и выполняет свое предназначение на всех без исключения страницах тестируемого мастера установки;
- Тестировщик создает для всех потенциально возможных путей основной установки шаблонные результаты (очень хорошо, если создать сразу несколько таких шаблонов – для разнообразных входных данных). Потом, по возможности, проверяющий должен вручную или автоматизировано сравнить полученные данные с теми, что записаны в шаблонах. В завершении выделяются те опции, которые больше ни на что другое не влияют (функционирование подобных параметров можно проверить изолированно от прочих конфигураций).
Кроссплатформенное тестирование инсталлятора
Подобный вид проверки выполняется для всех стадий работы с инсталлятором – установка, обновление и удаление.
Тестировщик должен сконцентрироваться на следующих проверках:
- Правильность функционирования инсталлятора с разными версиями операционных платформ, инсталлированных обновлений и пакетами обновлений;
- Тестирование файлов, библиотек и драйверов при инсталляции под различные операционные системы;
- Проверка инсталлированных на данные приложения разрешений (так называемые «permissions»).
Чтобы максимально упростить процесс выполнения тестирования настоятельным образом рекомендуется создать специальную таблицу, колонками которой будут необходимые для тестов конфигурации, а строки – тест-кейсы (проверяемые функции инсталлятора).
Во время проверки на пересечении колонок и строк тестировщик заполняет итог, что поможет визуально продемонстрировать текущий прогресс процесса тестирования и актуальное соответствие выдвигаемым кроссплатформенным требованиям.
Описание процесса тестирования инсталлятора на кроссплатформенность выглядит следующим образом:
- Если согласно спецификации, ПО должно одновременно корректно функционировать сразу в нескольких операционных системах, тестировщик должен проверить инсталлятор на предмет полного набора функций (возможно, программисты упустили какой-то пакет обновлений, или подключили не ту библиотеку);
- Тестирование перечня инсталлированных файлов по примеру процесса проверки установки инсталлятора. В контексте данной проверки, отличается лишь проверка установки системных библиотек и драйверов, которой следует уделить особое внимание, так как не все драйвера идентично функционируют на различных операционных платформах;
- Проверка на возможность инсталлятору распоряжаться системными папками, файлами и другими реестрами;
- Если предусмотрены проверки работоспособности инсталлятора на различных Unix системах, тестировщик должен проверить наличие соответствующего разрешения. Другими словами, выполняется тест на то, что если файл изначально ориентирован на запуск, он должен быть всегда запускаемым, а если речь идет о конфигурационном пакете, пользователь должен иметь возможность его редактировать и при надобности удалить.
Выше детальным образом были рассмотрены все актуальные способы и возможности проведения тщательного тестирования инсталляторов и их смежных компонентов.
Вооружившись изложенными методиками и рекомендациями проверок, ответственный инженер по контролю за качеством ПО в должной мере может выполнить все требуемые услуги по тестированию установки.
Оставить комментарий