Урок за тестване на игри: Как да тествате мобилни/настолни приложения

⚡ Умно обобщение

Тестването на игри е процесът за контрол на качеството, прилаган към видеоигрите, насочен към откриване на дефекти в геймплея, графиката, звука и мрежата, така че изданието, доставено на играчите, да остане стабилно, съвместимо и приятно.

  • 🔘 Три етапа от жизнения цикъл: Предпроизводството, производството, тестването и внедряването имат свои собствени дейности по проверка.
  • ☑️ Девет основни типа: Стандартният пакет включва проверки за функционалност, съвместимост, производителност, съответствие, локализация, soak, възстановяване, сигурност и мултиплейър.
  • ✅ Повтарящо се по природа: Всяка нова конструкция може да въведе отново дефекти, така че тестовата документация се преглежда с всеки прототип.
  • 🧪 Покритие на „бялата кутия“: Code инспекция, фокусирано тестване, анализ на данни, тестване на пътища и потоци, анализ на алгоритми и изкуствен интелект, поглед вътре в двигателя.
  • ♿ Помощни игри: Адаптивната технология замества визуалните стимули със звукови сигнали за играчи с нарушения на зрението, слуха, когнитивните или двигателните функции.
  • 📊 Метриките са важни: DAU/MAU, броят на сесиите, рангът на изтегляния, кохортите за задържане и честотата на кадрите показват дали изданието действително работи.

Процес на тестване на игри за мобилни и настолни приложения, обхващащ функционални, производителни и съвместими проверки

Какво е тестване на игри?

Тестване на играта е процес на тестване на софтуер за тестване на видеоигри за контрол на качеството. Основната цел на тестването на игри е да се идентифицират и открият дефекти и грешки във видеоиграта и да се подобри нейната стабилност и производителност. Тестването на игри е компонент от разработването на игри, който помага да се гарантира, че видеоиграта, която се внедрява, е без грешки.

Преди отделните техники да придобият смисъл, е полезно да се види къде се намира тестването в рамките на по-широкия цикъл на разработка.

Жизнен цикъл на разработка на игри

Предварителна продукция: По време на този етап се създават идеята за играта, сценарият, характеристиките, анализът на изискванията и документацията. Тази фаза включва техническия проект и спецификациите на характеристиките, архитектурата на играта, наслагването на кадри и анимацията. Разглеждат се следните елементи:

  • Музика, камера (увеличаване и намаляване, повторение, кинематографичен изглед), атрибути на играча и действието
  • Логика на игровия поток, правила и условия за достигане на следващото ниво
  • Задействащи елементи на обекти и събития, резултати, движение и позициониране на играча, статистика на играча
  • Неинтерактивни последователности, специални ефекти, заглавни екрани, действия с няколко бутона
  • Геймпад, видеоклип, ефекти на удар/вибрация, правни текстове, използване на функции на бутони, използване на аналогов и цифров режим

Трите етапа и дейностите във всеки от тях са показани по-долу.

Диаграма на жизнения цикъл на разработка на игри, показваща етапите на предпроизводство, производство, тестване и внедряване
Жизнен цикъл на разработка на игри

Продукция: По време на този етап се извършва самото кодиране. Тази фаза включва кодиране и интегриране на различните модули.

Тестване и внедряване: По време на този етап се извършват функционални тестове, регресионно тестване и етапите Алфа, Бета и Злато. Тестване на покритие и потоци, целостта на данните, специфично за алгоритмите тестване, тестване на пътища и инкрементално тестване също се извършва с помощта на инструменти за тестване на мобилни игри.

По какво тестването на игри се различава от тестването на друг софтуер

Тестването на игри е повтарящ се процес — всяка нова версия може да има грешки и трябва да бъде тествана щателно.

Всички тестове на игри следват основна структура, независимо от размера на играта и времето, необходимо за нейното създаване.

Специалистът по осигуряване на качеството трябва да изучи правилата и изискванията на играта, както и да разбере цялостната архитектура на компонентите на играта, файловата архитектура, потока, файловите структури и зависимостите, свързани с играта. С всеки нов прототип на играта, тестовата документация трябва да бъде преразгледана, за да отрази всяка промяна в спецификациите, новите тестови случаи за тестване на игри и новата поддръжка на конфигурацията. Тестерът на видеоигри също трябва да се увери, че не са въведени нови проблеми.

Работата на гейм тестер включва:

  • Класифицирайте изискванията въз основа на предназначението и целевата аудитория.
  • Идентифицирайте потребителските и системните изисквания и ги класифицирайте като функционални, нефункционални и изисквания на домейна.
  • Идентифицирайте тестваеми елементи, непроверяеми елементи, цели и мерки за функционални и нефункционални изисквания.
  • Проверете дали функционалните изисквания са пълни, последователни и разбираеми.
  • Идентифицирайте персонализируеми изисквания и противоречиви изисквания.
  • Идентифицирайте взаимозависими изисквания, което е една от основните задачи за тестване на игри.
  • Приоритизирайте изискванията въз основа на уникалност, сложност и критичност.
  • Определете темата на играта, героите, анимацията, изкуствения интелект, кинематографичните елементи, изгледа на камерата и геймплея.

Ако искате да станете тестер на видеоигри, ето един безплатен урок, който си струва да разгледате: Как да станете тестер на видеоигри.

Видове тестване на игри

По-долу са изброени популярните техники за тестване на игри. Всяка от тях е насочена към различен клас дефекти и заглавие, готово за пускане на пазара, обикновено преминава през всички тях, вместо да избира между тях.

1) Функционално тестване

Тестерите за контрол на функционалността търсят общи проблеми в играта или нейния потребителски интерфейс и графика, като например проблеми с механиката на играта, проблеми със стабилността и целостта на игровите ресурси. Тестването на потребителския интерфейс гарантира удобството за потребителя на играта. Това е същата дисциплина като функционално тестване във всяко друго приложение, прилагано към правилата на играта, вместо към бизнес правилата.

Пример: Проверка на цветове и фонове, структура на менюто, ориентация и резолюция на екрана, размер на шрифта, грешки в подравняването, използваемост, системна навигация, като време за зареждане, време за изчакване и показване, сортиране, съобщения за потвърждение, последователности, анимация и аудио елементи на играта, инструкции и диалогови съобщения. Обхваща също потребителски взаимодействия, потребителски интерфейси, тестване на транзакции, калибриране и тестване на точността на камерите на мобилни телефони, резолюции на екрана, тестване на мобилно адаптивен дизайн и тестване на качеството на звука.

2) Тестване за съвместимост

Проверка дали играта е съвместима с различни устройства и с различни конфигурации на хардуер и софтуер. Широкото покритие на устройствата е по-важно за игрите, отколкото за повечето приложения, защото драйверите на графичния процесор и съотношенията на страните на екрана променят начина, по който се изобразява заглавието. Вижте тестване за съвместимост за общата техника.

Пример: Инсталирайте и деинсталирайте играта на всички поддържани конзоли, настолни компютри и мобилни телефони.

3) Тестване на производителността

Проверява се цялостната производителност на играта. Извършва се настройка на производителността, за да се оптимизира скоростта на играта. По-широката практика е разгледана в тестване на производителносттаи специфичния за мобилните устройства ъгъл в тестване на ефективността на мобилното приложение.

Важни параметри, проверени по време на тестовете за производителност:

  • Време за реакция на клиента и сървърите, време за завършване на транзакциите, пиково натоварване, дълготрайност, мрежово покритие, изтичане на памет, ниско ниво на паметта, слаба батерия, време, необходимо за изтегляне на приложението, едновременен (много потребители) достъп до сървъра на приложенията, скорост, пропускателна способност, надеждност и мащабируемост.
  • Консумация на батерия и графична производителност: Измерете консумацията на батерия на мобилната игра. Консумацията на батерия трябва да е оптимална за дълги часове, а реакциите на играта трябва да са задоволителни при различни натоварвания на различните устройства.
  • Ограничения на процесора и паметта: Броячите на производителността се използват за измерване на консумацията на процесора и паметта от приложението.
  • Мрежова свързаност: Измерва времето за реакция на мобилната игра в различни типове мрежи (Wi-Fi, 3G, 4G, 5G). Дава обща представа за това колко добре ще се представя играта в ненадеждни мрежи, а също така проверява свързаността между мобилни устройства, центрове за данни и облака. Следят се пикови времена, нестабилни връзки, дублиране на данни, загуба на пакети и фрагментация на данни.
  • Тестване на производителността на мобилни игри, особено за MMO заглавия.

4) Тестване за съответствие / съответствие

Това обхваща съответствие с насоките на пазара (например политиките на Apple App Store) и съответствие с корпоративните политики (например забранено съдържание). Съответствието може да се отнася и до регулаторни органи като PEGI и ESRB. Играта е насочена към определена оценка на съдържанието и ако има неподходящо съдържание за желаната оценка, то се идентифицира и докладва. Дори едно-единствено нарушение в заявлението за одобрение на лиценз може да доведе до отхвърляне на играта, което води до допълнителни разходи за по-нататъшно тестване и повторно подаване.

Пример: Ако играта ще бъде публикувана в европейски страни, тествайте за PAL конвертиране; ако играта е произведена за Северна Америка, тествайте за NTSC конвертиране.

5) Тестване за локализация

Тестване за локализация става от съществено значение, когато една игра е насочена към глобалните пазари. Заглавията, съдържанието и текстовете на игрите трябва да бъдат преведени и тествани с устройства на множество езици. Тези тестове могат да се извършват бързо с помощта на облачен достъп до устройства и автоматизация на тестовете.

Пример: Специфични нужди от локализация за региона MENA (Близкия изток/Северна Африка), локализация на арабски (поддръжка на текст отдясно наляво, двупосочно показване), тестване на псевдолокализация, двубайтови символи за източноазиатски езици, местно време и дата, валута, формати на адреси и други местни изисквания.

6) Тестване с накисване

Тази техника за тестване на автоматизация на игри включва оставяне на играта да работи за продължителен период от време в различни режими на работа - например, в режим на празен ход, на пауза или на заглавния екран. Накисването може да идентифицира течове на памет или грешки при закръгляване.

Пример: Играта е започнала и героят е оставен да стои бездействащ в продължение на 24 часа. Тази техника се използва за откриване на сривове, причинени от изтичане на памет и други грешки в игровия енджин.

7) Тестване за възстановяване

В софтуера, тестване за възстановяване проверява колко добре приложението се възстановява от сривове, хардуерни повреди и други подобни повреди. Приложението е принудено да се повреди и след това се наблюдава как се възстановява от условията на повреда и средата.

Пример: Докато работи игрово приложение, внезапно рестартирайте игровата конзола и проверете целостта на данните.

8) Тестване на сигурността

Тестването за сигурност се извършва, за да се провери колко безопасно работи софтуерът, когато е изложен на външни заплахи. То обхваща защита на данните от външни заплахи, неконтролирани ограничения за достъп до системата, нарушения на данните, недостатъци на операционната система, недостатъци на комуникационната система и слаби алгоритми за криптиране.

Пример: Промяна на a URL Преходът от /login към /play в сайт за игри не трябва да позволява директен достъп до игрите.

9) Тестване на други игри

Тестване на реални или виртуални персонажи. Във видеоигрите за много играчи свързването със сървъра и синхронизирането на състоянието на играта са две критични области, които трябва да бъдат тествани.

Пример: Мултиплейър 3D състезателни игри.

Тестване на нови функции, като например актуализации на състоянието на играта, покани за приятели и споделяне на премиум подаръци. Това гарантира богато игрово изживяване за потребителя.

Пример: Фейсбук, блогове.

Тестване на звука

Тестване за наличие на грешка при зареждането на файловете, прослушване на звуковите файлове за грешки или изкривявания и използване на CC профилер за анализ на цветовия коментар.

База данни и статистика на играта

Проверка на базата данни чрез дебъгване, за да се проучи дали играта използва данните правилно. Уверете се, че данните са заредени на правилното място и показват правилната информация.

Тестване в бяла кутия

Тестването на „бяла кутия“ за игри се фокусира върху архитектурните, интеграционните и системните аспекти на мобилната игра.

  1. Code инспекция: Прегледа се изходният код и се анализират програмната логика, често срещаните грешки в програмирането и съответствието със стандартите за кодиране.
  2. Тестване на фокуса: Парчета код се подават към изолираните модули и резултатът се анализира.
  3. Анализ на данни: Използването, интерпретацията и манипулирането на данни се анализират и валидират за различните модули.
  4. Тестване на пътя и потока: Изпълнява се правилната последователност от обекти.
  5. Тестване, специфично за алгоритъма: Тестване на конкретен игрови сценарий или функция чрез задаване на променливи и стойности на данни в кода и изпълнението му в средата за изпълнение.
  6. Изкуствен интелект Анализ: Генерират се статистически данни за програмируемите движения и игри на AI компонента. Резултатът се валидира, за да се провери дали всички програмируеми движения са използвани. Пример: страничен захват на сноуборда и игри като комбиниран удар с ръка или ритник в многопосочно действие.

Помощни игри с помощта на адаптивна технология

Асистивните игри са известни още като игри за достъпност. Функциите са проектирани с помощта на адаптивна технология за хора с различни увреждания, като слабо зрение, замъглено зрение, слепота, неспособност за различаване на цветове, както и говорни, слухови, когнитивни, двигателни и мобилностни нарушения. Подходът за проверка следва същите принципи като тестване на достъпността в масовия софтуер.

Cardinal Direction (CD) и Tower of London (TOL) са две популярни игри, модифицирани за потребители със зрителни затруднения. В тези игри визуалните стимули се заменят с аудио входове.

Тестер на видеоигри трябва да обърне внимание на следното, докато тества такава игра:

  1. Цветовете трябва да мигат в определен модел, а тоновете трябва да играят за всеки цвят.
  2. Всеки цвят трябва да бъде придружен от звуков сигнал.
  3. Визуалните данни трябва да бъдат описани с думи, така че играчите с увредено зрение да нямат проблеми с получаването им чрез екранни четци.
  4. Играчът трябва да чува звуци в играта в три измерения и трябва да може да се ориентира в света, използвайки сензорния екран, 3D аудио и пространствен звук.

Метрики за играта, които тестерът трябва да знае

Само резултатите от тестовете не показват на студиото дали дадено издание е било успешно. Следните показатели са числата, които тестерът трябва да прочете заедно с отчета за дефекти.

DAU/MAU (ежедневно активни потребители / месечно активни потребители): Съотношението на активните потребители, които играят всеки ден, спрямо броя на активните потребители месечно. Нарича се още фактор на привързаност.

Сесия: Всеки път, когато потребител отвори приложението, това се брои за сесия. Тук фокусът е върху средния брой сесии на DAU.

Ранг на изтегляне: Рангът на играта в определен магазин за приложения (iOS, Android Игра) чрез месечно изтегляне на игри.

задържане: Много важен показател за Android тестер на безплатна игра. За да изчислите задържането, разделете потребителите на кохорти въз основа на деня, в който приложението е било изтеглено.

Показатели за ефективност: тези track производителността на онлайн или постоянните игри — честотата на кадрите, с която играта се изпълнява на клиентска хардуерна платформа, или в случай на игрови сървър, нейната стабилност. Показателите за производителност могат да се използват за наблюдение на променящите се функции и актуализации.

Основни рискове при тестване на игри

Рисковете по-долу най-често превръщат технически работеща конструкция в комерсиално разочароваща.

  1. Играта не създава завладяващо изживяване за целевата аудитория.
  2. Играта няма дизайн, ориентиран към играча.
  3. Липсват забавният фактор и пристрастяващият геймплей.
  4. Играта не е уникална, състезателна или бърза.
  5. Играта се проваля поради технически проблеми, повредени функции, критични грешки, лоша музика и звук или лошо видео.
  6. Цената за разработване на игри надвишава бюджета.
  7. Естетическият дизайн и геймплеят не са семпли.

Въпроси и Отговори

Той преизпълнява предишни успешни случаи след всяка компилация, за да потвърди, че дадена корекция или нова функция не са повредили нищо. Тъй като компилациите на играта се променят ежедневно, регресионните пакети обикновено се концентрират върху области с висок риск, като файлове за запазване, вход, съвпадение и икономиката на играта.

Ботове за машинно обучение изпълняват хиляди сесии за една нощ, за да намерят меки заключвания и недостижима геометрия, да групират дублирани отчети за сривове и да сигнализират за визуални проблеми чрез сравняване на рендираните кадри. Човешките тестери все още притежават преценка за забавление, която никой модел в момента не може да замести.

Да, за скриптовия слой. Copilot ускорява писането на тестови пакети за двигатели, набори от параметри, управлявани от данни, и анализатори на лог файлове. Той не може да прецени баланса на геймплея или кривите на трудност, така че генерираните тестове все още се нуждаят от тестер, който да определи как изглежда правилният резултат.

Тестерите играят без скрипт, като умишлено изпробват странни последователности и граници, за да открият грешки, за които не е предвиден писмен сценарий. Това допълва скриптираните изпълнения и е особено ефективно на нови нива, физични взаимодействия и всичко, което включва креативността на играча.

Типичен стек сдвоява дефект tracker с инструмент за управление на тестове, рамка за автоматизация, базирана на енджин, GPU или CPU профилер, мрежова shareping комунални услуги и облак от реални устройства, който да покрива мобилно тестване матрица на устройството.

Алфа означава, че наборът от функции е завършен, но е недовършен. Бета означава, че съдържанието е заключено и фокусът се измества към дефекти и баланс, често с външни играчи. Златната означава, че компилацията е одобрена за пускане и е подадена за сертифициране на платформата.

Включете номер на компилация, платформа и устройство, точни стъпки за възпроизвеждане, честота, очаквано спрямо действително поведение и видеоклип с лог файла. Игрите са визуални, така че кратък запис разрешава неясноти, които сами по себе си писмените стъпки рядко могат да разрешат.

Тестването на игри открива дефекти спрямо спецификация. Тестването на игри събира обратна връзка за дизайна от представителни играчи относно трудност, темпо и удоволствие. Едното защитава коректността, другото защитава привлекателността, а студиото се нуждае и от двете преди пускането на играта.

Обобщете тази публикация с: