Как тестировщику находить их? Давайте разбираться.
С конфигурациями десктопного приложения у тестировщика вяжется два аспекта.
1. Конфигурации самого приложения.
Чтобы тестировать продукт, мы должны знать, как его конфигурировать – то есть как указать правильные настройки, которые необходимы, чтобы ПО работало адекватно, ну или вообще работало. Например, это могут быть параметры базы данных, логин и пароль от нее, профиль пользователя (его права, набор функциональностей, которые ему доступны), набор плагинов, который должна запустить данная конфигурация, и т.д.
Если указать эти конфигурации неправильно, то приложение не будет работать корректно, и мы будем получать ошибку не по причине того, что программный код написан неправильно, а потому что программа не может выполнить требуемого из-за неправильной конфигурации.
Например, не может выдать информацию по причине отсутствия доступа к базе данных. Или выдает не тот результат, который мы ожидаем, по причине того, что в конфигурациях указана не та БД (база данных). Поэтому, приступая к тестированию продукта, надо познакомиться не только с интерфейсом и технической документацией, но также разобраться в тонкостях параметров конфигурации.
Параметры конфигурации программного обеспечения указываются обычно в текстовом файле. Его можно изменять вручную или в специальном интерфейсе. Обычно для этого достаточно простого блокнота. Более удобной и продвинутой программой является Notepad++.
2. Конфигурационное тестирование.
Это специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.). Оно проводится в ситуациях, когда надо подобрать оптимальные конфигурации для адекватной и бесперебойной работы ПО. Особое значение этот вид тестирования имеет при миграции на другую платформу. В этом случае нам необходимо проверить наш продукт на совместимость с объявленным в спецификации оборудованием, операционными системами и программными продуктами третьих фирм.
ISTQB не выделяет конфигурационное тестирование как отдельный вид. Вышеописанные тесты попадают под определение тестирования портируемости (portability testing).
Чтобы осуществлять такое тестирование, нужно разобраться не с конфигурациями тестируемого продукта, а с конфигурациями окружения. Причем во внимание следует брать не только программные средства (драйвера и библиотеки, стороннее ПО, которое может повлиять на наше, типы и версии ОС, ее конфигурации) но и аппаратные (количество и тип процессоров, объем памяти, параметры сети и сетевые адаптеры).
Определить конфигурацию рабочей машины можно, зайдя в Bios компьютера (как это сделать, можно прочитать, например, здесь). Какие-то типовые советы по определению и изменению конфигурации компьютера на основе информации из BIOS дать нелегко, так как интерфейс и возможности у разных типов и ревизий BIOS отличаются, и бывает, что довольно существенно. Но в интернете об этом есть достаточно информации. Достаточно сделать запрос, упомянув фирму и модель своей рабочей машины.
Конфигурации системы Windows хранятся в реестре Windows. Это сложная древовидная структура, в которой до конца не разбираются, наверно, даже ее создатели, настолько она сложна и объемна. Информации по реестру много, начинающему тестировщику, да и вообще пользователю, стоит помнить, что не стоит вносить какие-либо изменения в реестр Windows, если ты на 100% не уверен, что ты делаешь. Если такая уверенность составляет хотя бы 99% – лучше всего записать, что конкретно в реестре было изменено.
Конфигурация системы Windows 10 из UI.
В системе Linux конфигурационные файлы системы хранятся в каталоге /etc, а пользовательские настройки – в домашнем каталоге пользователя.
Легче всего доступ к настройкам осуществлять через терминал. Умение управлять системой Linux через терминал тем более полезно, что можно встретиться с ситуацией отсутствия графической оболочки.
***
Таким образом, знание и умение конфигурировать тестируемый продукт, а также основные операционные системы и аппаратные средства может весьма пригодиться тестировщику. И не только для конфигурационного тестирования. Эти навыки – must have продвинутого пользователя, которыми тестировщик, несомненно, должен обладать.