Найкращий спосіб перевірити прості випадки в іграх


9

Створюючи нову гру, розробляючи та граючи-тестуючи багато часу, люди, які випробовують функціональність, звикають до речей і більше не пробують "тупі шляхи". Тож якщо розробка щось порушує, це може бути функцією, яку намагатиметься намагатись лише новий користувач. Які є найкращі способи переконатися, що у вашій грі були перевірені свої "дурні випадки", коли вона нарешті випущена або після основного оновлення? Методологія, програмне забезпечення, можливо, навіть сайти, де люди будуть грати-тестувати вас тощо.

Відповіді:


9

Я б сказав, що важливі кілька речей:

Заохочуйте тестування блоку програміста

Це дозволить переконатися, що певні дурні помилки, якщо для них є тест на одиницю, не повторяться, оскільки тест одиниці вийде з ладу, якщо вони будуть. Це вимагає зміни методології програмування, але, на мою думку, воно цілком варте того.

Автоматизуйте те, що ви можете протестувати

Крім тестування одиниць, створіть набір автоматизованих функцій та тестів прийняття, які виконуються на кожній збірці, щоб переконатися, що певні збірки хороші. Якщо у вас є керований сценарій управління і ваша гра, як правило, є послідовною, ви можете перевірити багато помилок автоматично.

Створіть багаторівневий план тестування

Переконайтесь, що у ваших тестерів є план тестування, який тестує найважливіші помилки. Це має бути багаторівневим:

  • Димовий тест: тести, що гра не виходить з ладу в найпоширеніших випадках.
  • Регулярний тест: випробування більш рідкісних випадків.
  • Тест намокання: запустіть якомога глибше, регресуючи якомога більше поширених помилок. Також перевірте, що гра може тривати довгий час (дні) без збоїв.

Створіть цей план тестування та дотримуйтесь його при кожній збірці.


11

Своєрідний підхід до висвітлення коду до тестових випадків може бути здійснений за допомогою простих прапорів, які вимикаються, коли блок коду буде виконаний у грі. Відображення того, які прапори були вимкнені та зняті на екрані, може дозволити тестерам дізнатися, які випадки були охоплені, а які - ні.

Наскільки це просто, він все ще дієвий, поки прапори мають значущі назви, щоб тестувачі могли зрозуміти, що потрібно зробити.

Ця методика приписується Метью Джеку, який реалізував її в Crysis.


3
цікава концепція, +1
falstro

Це насправді можна автоматизувати. "Запустіть гру -debugFlags, зніміть висновок та переконайтеся, що ми потрапили у xкількість прапорів." +1
попіл999

3

Тут кілька хороших відповідей на програмуванні. Я додам той, який більш орієнтований на дизайн.

Попросіть дизайнерів системи написати плани тестування кращих випадків для тестерів

Якщо вони знають, що роблять, особа, яка стоїть задумом проектування системи чи створення сценарію ігрової послідовності, дуже ймовірно буде знати крайні випадки цієї системи та де вона може вийти з ладу. Вони також повинні мати уявлення про те, де система взаємодіє з іншими. Запропонуйте їм скласти план тестування або обговорити з тестувальниками, де все може піти не так, це може заощадити час для всіх.


1

Вам слід дослідити так зване тестування мавп. Він може наздогнати багато помилок цього типу:

https://secure.wikimedia.org/wikipedia/en/wiki/Monkey_test

Вам також потрібно організувати тестування досвіду роботи з "тестерами Kleenex", тестерами, які бачать вашу гру вперше і які ви ніколи більше не використовуватимете. Організувати це трохи дорого і складно, але варто важити зусиль. Якщо ви це робите, знімайте кожен тест на 3 камери: одну на екрані, одну на пульті управління та одну на обличчі тестера, щоб виявити розлад.


1

Чудове запитання, кожна відповідь у цій темі - чудова відповідь. Одне додати:

На мій досвід (30 років розробки програмного забезпечення): додатки та ігри надійніші, якщо принаймні один член тестової групи є кваліфікованим тестером горили , майстерним у спеціальному тестуванні, зловживанням програмами та навмисним використанням ігор неправильним способом знайти помилки, описані оригінальним плакатом. Тестери горили мають незвичайну майстерність - коли ви знайдете хорошого, тримайте їх у своїй команді.

Приклад ефективного тестування горили див .: www.youtube.com/watch?v=8C-e96m4730;)

Підводячи підсумки відповідей у ​​цій темі: ефективні стратегії якості програмного забезпечення є багатогранними , поєднуючи кілька підходів для досягнення високого рівня впевненості у функціональній якості та надійності вашої гри.


0

Цікавий трюк, про який я чув від друга для тестування графіки; під час відомого хорошого пробігу статистичних показників запису рівня з GPU через регулярні інтервали (наприклад, поліси на екрані). Потім ви можете повторити цей маршрут, і якщо цифри змінюються за межами заданого допуску, це може означати, що щось більше не відображається правильно.


0

Одна проста штука, яка дуже допомагає, особливо при стрес-тестуванні та мережевому тестуванні. Дозвольте вашому AI грати проти іншого AI. Якщо ви можете залишити свою гру в спокої, граючи самі, або невелику групу AI через мережу на вихідні, ви можете багато чого навчитися.

Звичайно, записуйте все.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.