Но есть и специфические тесты, которые можно и нужно проводить только для продуктов, разрабатываемых для данной специфической среды.
Например, кроссбраузерное тестирование проводится только при тестировании веб-приложений.
Для десктопных приложений такими специфическими тестами будут:
1. тест установки;
2. тест обновлений;
3. тест деинсталляции.
Давайте разберем каждый из видов тестирования более подробно.
Тест установки
Знакомство с любым десктопным приложением начинается с его установки. Этот компонент важен тем, что даже если ваш продукт работает на «отлично», пользователь не сможет его увидеть, если процесс инсталляции провалится. Это не только не позволит пользователю познакомиться с продуктом чисто по технических причинам, но и, скорее всего, отобьет всякое желание и в будущем иметь дело с таким ненадежным ПО. И это можно понять: ведь в некоторых сферах (банкинг, финансовая среда, баннерные сети) каждая минута простоя означает реальные денежные потери.
В большинстве случаев инсталлятор – это программа в виде мастера (wizard), которая устанавливает программу на компьютер пользователя.
Вы много раз его видели, когда устанавливали любую программу. Это то самое окошко, в котором мы во время установки указываем путь, куда будем сохранять файл, «читаем» лицензионное соглашение и нажимаем на кнопку «Далее». После чего видим заветное окошко «Установка завершена».
Для юзера пользование инсталлятором – это пара кликов и несколько минут ожидания. А тестировщик, приступая к проверке, должен ответить себе на вопросы: что тестировать в установщике программы и как это протестировать? Об этом мы поговорим в следующих постах.
Тест обновлений
Процесс поддержки ПО непрерывен. Когда он прекращается, программа медленно “умирает”, выходит из обихода, люди перестают ею пользоваться. Почему важно, чтобы обновления нашего ПО работали корректно.
После обновления все компоненты программы должны работать так же стабильно, как и до обновления: все новые функциональности должны установиться и работать правильно. Новая версия программы должна поддерживать и открывать файлы, созданные в старой версии.
На этом этапе тестирования неплохо подтвердить репутацию тестировщика как любителя ломать ПО. Полезно прервать процесс обновления и посмотреть, не испортятся ли при этом программные файлы: приложение должно правильно откатиться до старой версии, быть работоспособным, а все “новшества” должны быть вычищены.
Тест деинсталляции
Последним из этапов специфического тестирования десктопных приложений является проверка правильности процесса деинсталляции приложения.
Самое очевидное, что мы должны проверить – это правильность удаления программных файлов из той директории, где они были установлены.
Хорошим тоном при разработке программ для Windows является при деинсталляции предусмотреть удаление записей из системного реестра. Подтверждением того, что далеко не все программисты справляются с этой задачей, являются различные программы-деинсталляторы для Windows (например, Revo Uninstaller). Они контролируют работу встроенных деинсталляторов, а потом дополнительно проверяют, все ли файлы, ссылки и записи реестра удалены.
Если протестировать удаление с помощью такой программы, то станет видно, что часто после работы встроенных деинсталляторов в реестре находится куча мусорных файлов, которые были пропущены в процессе деинсталляции.
Однако наша задача не ограничивается тем, чтобы проверить, все ли удалено. Не менее важно бывает проверить, осталось ли то, что удалено быть не должно (или должно, но только с согласия пользователя). Прежде всего, это файлы, которые были созданы в данной программе. Их деинсталлятор не должен вычистить.
И еще одна важная проверка – это проверка прав. Если пользователь не обладает достаточными правами, деинсталлятор не должен запуститься.