Тестирование установки или инсталляции ПО – это проверка того, что приложение успешно устанавливается, а после установки работает согласно требованиям. Эта фаза тестирования предшествует первой установке приложения конечными пользователями.
Чеклист тестирования установки ПО:
- Проверьте предварительные условия, необходимые до установки приложения, если таковые имеются.
- Установка должна выполняться в директорию по умолчанию. Пользователь должен видеть эту директорию, при этом он также должен иметь возможность изменить её.
- Убедитесь, что установка возможна из различных мест, например, по сети, онлайн, с компакт-диска и т.д.
- Проверьте установку без прав администратора.
- Убедитесь, что установщик работает нормально на “чистой” машине.
- Проверьте, вычисляется ли дисковое пространство, необходимое для успешной установки приложения, перед его установкой.
- Удостоверьтесь в возможности установки ПО на нескольких платформах. Предварительно необходимо утвердить список поддерживаемых платформ.
- Исследуйте успешность “тихой установки” (“silent installation”). При таком режиме сообщения, поступающие в процессе инсталляции, не должны отображаться в UI, но должны добавляться в логи.
- Убедитесь, что при полной установке пользователю представляется возможность ввести входные параметры и иные опции.
- Запустите ПО после успешной установки. Оно должно работать в соответствии с требованиями спецификации и отвечать потребностям пользователя.
- При деинсталляции необходимо убедиться в удалении всех ранее установленных файлов и записей в реестре.
- Удостоверьтесь, что пользователь может удалить или восстановить программное приложение.
При успешной установке пользователь определенно будет доволен. Однако стоит продумать и случай неудачной установки. Тестируемое ПО в этом случае не будет работать, но при этом также могут быть задеты данные пользователя.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.
Как проводить тестирование установки
Тестирование инсталляции должно проводиться на различных платформах, вручную или автоматизированно. Это трудоемкая задача: выполнение одного тест-кейса на нескольких платформах может потребовать много времени. А если необходимо выполнить несколько тест-кейсов, временные затраты растут. Поэтому ниже мы рассмотрим, как выполнить ручное тестирование установки, а также – как можно автоматизировать данный процесс.
Перед началом тестирования выясните, сколько конфигураций необходимо поддерживать. Отформатируйте один жесткий диск (HDD). Установите на него новую операционную систему. Выполните все предварительные условия, необходимые для установки приложения. Когда все готово для первого установочного теста, прежде чем идти дальше, создайте образ вашего базового HDD. Его мы далее будем называть базовым образом. Он будет использоваться для дальнейшего тестирования.
Вы можете создать резервную копию базовой конфигурации (можно использовать Norton Ghost для создания этой копии, это просто и быстро). Копия этой базовой конфигурации будет использоваться при каждом тестировании, что значительно сэкономит время.
Возьмем простой пример: если для форматирования системы и создания новой конфигурации требуется 1 час, то создание базовой конфигурации из образа займет едва ли 10 минут. Таким образом вы сэкономите около 50 минут на каждом восстановлении системы и сможете тестировать одну конфигурацию на нескольких платформах с различными сценариями.
Удостоверьтесь, что сценарий деинсталляции также выполнен на различных комбинациях платформ.
Тестирование установки приложения пошагово
1. Установка полной версии. Если вы обновляете приложение или ранее установили базовую версию, а теперь устанавливаете полную версию в ту же директорию, система должна позволить установить полную версию приложения без каких-либо ошибок. Перед установкой новой версии система должна вывести на экран сообщение, что обнаружена старая версия, и вопрос: “Хотите продолжить?”.
2. Автоматизация. Используя приведенную выше блок-схему, вы можете легко составить автотест для автоматизированного тестирования установки.
3. После выполнения каждого тест-кейса используйте образ диска для установки на выделенную машину: это сэкономит время.
4. Проверка необходимого дискового пространства при установке. Это самый важный сценарий при тестировании инсталляции. В процессе установки убедитесь, что установщик проверяет наличие минимально необходимого объёма дискового пространства.
Если для установки приложения требуется место размером 4 МБ, то при старте установщик должен убедиться в наличии не менее 4 МБ на диске в директории по умолчанию. Также проверьте, что после успешной установки программа использует именно 4 МБ пространства. Если используется больше места, должна вылетать ошибка. Проверка дискового пространства может выполняться автоматизировано или вручную.
В различных форматах файловых систем дисковое пространство может отличаться, например, в NTFS, FAT32, FAT16 и т.д., поэтому эти кейсы следует сгруппировать согласно платформам.
5. Использование распределенных сред тестирования. Использование модели master&slave поможет одновременно выполнять различные тест-кейсы на разных платформах. Используя распределенную среду, master-модель одновременно запускает триггеры для разных slave-платформ и консолидирует результаты выполнения.
6. Автоматизируйте проверку файлов после установки. Для проверки успешной установки всех необходимых файлов можно использовать автоматизированный скрипт. Таким образом проверяется полнота установленного приложения. При ручном тестировании можно ограничиться проверкой свободного места на диске. Для этого зафиксируйте объем доступной памяти до установки и количество памяти, необходимой для инсталляции приложения, и сравните это с объемом доступной памяти после установки, чтобы убедиться в отсутствии потерь.
7. Проверьте наличие изменений в реестре после установки. После установки ПО нужно проверить, есть ли ожидаемые изменения в реестре. На рынке доступно множество бесплатных программ для этого.
8. Негативные тест-кейсы. Интенсивно пытайтесь нарушить процесс установки, чтобы проверить поведение приложения в таких условиях. Негативные тест-кейсы должны выполняться на каждом этапе тестирования инсталляции. При этом важнее всего проверить, что система возвращается в исходное состояние.
Выделение отдельной системы для установки приложения поможет сэкономить время и быстрее завершить тестирование. Также проверьте поведение системы при установке в условиях ограниченного дискового пространства.
Примечание редакции: о негативном тестировании читайте в статье “Что такое негативное тестирование?”.
9. Тестирование деинсталляции. Вы также должны убедиться, что пользователь сможет без ошибок удалить приложение, а также все папки и файлы, относящиеся к установке. Кроме того, необходимо проверить, что это не повлияет на другие рабочие функции системы, которая ранее работала нормально.
Перевод статьи «What is Installation Testing?».