Зачем и как тестировать игры на совместимость с антивирусами
Существует практически бесконечное множество антивирусов, их версий и комбинаций настроек. Ничто в мире не совершенно, поэтому иногда они могут перестараться и, например, заблокировать нужные файлы, в безопасности которых мы уверены. Подобные проблемы совместимости могут повлечь за собой заметный отток пользователей. Чтобы не допустить такого в конечном продукте, есть тестировщики.
Антивирусы могут просто не давать корректно работать законно купленной игре из-за подозрений на вирусы или даже их реального присутствия (такое тоже случается). Например, из-за отсутствия контроля за безопасностью на ПК разработчика, вирус может попасть в игровой билд, который позже скачают пользователи. Шансы невелики, но подобная оплошность всегда очень сильно бьет по репутации продукта и компании в целом, может повлечь за собой утечку информации о пользователях. «Подозрительные» файлы в игре могут быть помещены в «карантин», а то и просто удалены. Антивирус может блокировать установку ПО или ограничить его доступ в интернет. Например, во время наших тестов COMODO, клиент игры удалялся самим антивирусом после его закрытия. То есть пользователь мог купить игру, спокойно запустить и даже поиграть, а потом просто не обнаружить ее у себя на ПК. Также сильно распространена проблема с обнаружением троянских программ в клиенте игры, установленном на абсолютно чистом ПК. В нашем случае это происходило на Qihoo 360 Total Security Essential с любыми параметрами защиты.
Подобные проблемы на стороне пользователя могут привести к совершенно разным последствиям: от невозможности оплаты во внутриигровом магазине из-за отсутствия окна подтверждения транзакции до удаления файлов игры. Чтобы этого избежать, команды QA и проводят специальные тесты, которые должны быть продуманы до мелочей. В них входит проверка функционала игры на его работоспособность при работе с антивирусами. А разработчики по репорту проведённого теста должны связаться с производителем антивируса для решения проблем, либо попробовать исправить ситуацию самостоятельно.
Приступать необходимо на стадии Альфа-тестирования, уже на следующем этапе проект будут показывать публике.
Любой разработчик вовсе не горит желанием испортить первое мнение пользователей о своём продукте из-за банальных проблем с антивирусами. Но не стоит забывать об этом виде тестирования и в дальнейшем. Если игра имеет возможность обновления, спустя 4-6 крупных патчей антивирусы вновь могут помешать ее нормальной работе, только уже из-за других файлов и функций или появившихся вирусов в самом клиенте.
Первая пятерка по данным американской компании TopTenReviews:
- BitDefender;
- Kaspersky;
- ESET Nod32;
- AVG;
- F-Secure
По данным греческой компании Virus.gr:
- AVK (Gdata);
- F-Secure;
- TrustPort;
- Kaspersky;
- The Sield Delux
По данным российской компании FS:
- DrWeb;
- F-Secure;
- Kaspersky;
- ESET Nod32;
- Ikarus
Как видно из представленных данных, лидеры рейтинга по версии одной организации могут даже не попадать в первую пятерку по версии другой. А так выглядит усредненный рейтинг по данным пяти наиболее авторитетных компаний за тот же период:
- Kaspersky и F-Secure;
- AVK (G-Data);
- ESET Nod32 и Avira;
- Avast и AVG;
- BitDefender
Не пытайтесь покрыть тестами все антивирусы в мире, это не даст правильного соотношения практической пользы к затраченному времени. Стоит обратить внимание на топ 5-20 по регионам и сфокусироваться на них. Не забывайте про Китай, если игра будет издана и там — у них одни из самых неприятных в тестировании антивирусов, о существовании которых люди из других стран чаще всего и не подозревают.
Что требуется сделать до начала тестирования совместимости с антивирусом:
- Определить, какой функционал игры мы хотим проверить на совместимость;
- Определить набор антивирусов;
- Определить количество версий антивируса;
- Определить набор OS;
- Проверить совместимость всех выбранных антивирусов с выбранными OS;
- Просмотреть весь набор антивирусов и определить параметры проверяемых настроек антивирусов;
- И самое тяжелое — определение сроков тестирования
Если команде QA поставили задачу протестировать максимум, не стоит ограничиваться — на каждом антивирусе нужно проверить 3 последние его версии, не все пользователи вовремя обновляют ПО. При тестировании совместимости с антивирусами немаловажно уделять внимание версии OS и её разрядности, так как встречаются проблемы на каких-либо конкретных конфигурациях. Поэтому чем больше в тесте будет различных OS и видов их разрядности — тем лучше. Не стоит забывать и про различные виды настроек самих антивирусов, которых также достаточно много, и их всех, возможно, необходимо проверить. Зачастую при всех этих условиях требуется в сумме проверить от 2500 до 4500 конфигураций. Поверьте, это немало, но если процесс продуман и рассчитан, он занимает достаточно времени и ресурсов QA команды, чтобы продолжать поддерживать его без ущерба остальному тестированию.
Позаботьтесь о том, чтобы все QA инженеры уже имели опыт работы с различными антивирусами, и чем больше — тем лучше. Выделите время для изучения тонкостей работы выбранных антивирусов ДО самой итерации по проверке. Например, на что могут повлиять разные комбинации настроек. Сэкономить время позволит большое количество идентичных по OS конфигураций — разделите весь пул выбранных антивирусов на несколько машин. Для чистоты теста необходима постоянная и чистая OS для проверки каждого антивируса. На своей практике мы приняли решение использовать Acronis, который гарантирует чистоту системы и позволяет быстро ее восстанавливать из резервной копии на любом ПК после проверки одного из антивирусов. В итоге можно сократить временные рамки итерации проверки до 50% и сделать подобное тестирование более привлекательным для заказчика.
Чтобы лучше понять сроки и ресурсы для подобного тестирования приведем небольшой пример из нашей практики. Для проведения теста одного высокобюджетного AAA проекта на совместимость с 20 антивирусами (по основным настройкам) потребовался 31 QA-инженер, 500 человеко-часов и 30 стендов с набором 10 различных OS.
Итого у нас это заняло всего лишь 2 рабочих дня по 8 часов.
Текст: Артем Стукалов, эксперт, компания Bytex