QA-команды, тестирующие лицензирование, активацию или антифрод, сталкиваются с повторяющейся задачей — нужно выглядеть множеством разных машин. Привычный ответ — виртуальные машины, но не всегда лучший.
Почему виртуалки здесь не идеальны
Виртуальные машины (Hyper-V, VMware, VirtualBox) хорошо изолируют, но для такого тестирования у них два минуса. Они добавляют накладные расходы по производительности, что важно для всего, что нагружает GPU или драйверы. И их легко обнаружить: виртуалка оставляет явные маркеры в своих аппаратных таблицах, поэтому лицензионный или антифрод-SDK часто понимает, что работает в виртуалке, и ведёт себя иначе, чем на реальном железе.
Где здесь смена HWID
Смена HWID на одном физическом ПК между прогонами даёт каждому прогону свежий набор идентификаторов на настоящем железе — без накладных расходов виртуалки и без её сигнатуры. Лицензионный сервер или аналитика видят каждый прогон как отдельную машину.
Компромисс
Состояние живёт на реальной системе, а не в одноразовом образе виртуалки, поэтому между прогонами нужна дисциплинированная очистка. Для контролируемого тестового стенда это честная цена за тестирование на реальном железе и на реальной скорости.
Честная формулировка: виртуалки и смена HWID решают пересекающиеся задачи. Виртуалки выигрывают в полной изоляции; смена HWID — в скорости и в том, что не выглядит виртуалкой. Выбирайте по тому, что реально нужно вашему тесту.
