Как мы тестируем игры и приложения наших клиентов
Представьте компанию, которая разработала невероятно крутой онлайн-проект. Создатели на 100% уверены, что он понравится аудитории и принесёт большую прибыль. Детище выпускается на рынок. Но вместо того, чтобы активно покупать, пользователи начинают находить в нём ошибки: кнопки не нажимаются, некоторые разделы работают нестабильно, на части мобильный устройств «поехали» элементы интерфейса, а при большой нагрузке приложение начинает жутко «тормозить». Разработчик спешно исправляете все баги, но первое впечатление уже испорчено. И в итоге компания теряете часть потенциальной прибыли.
Избегать подобных ситуаций помогает QA. Тестирование нужно практически любому приложению, игре или веб-проекту. Именно оно позволяет выявить все баги перед релизом, проверить работу программы на всех устройствах и убедиться, что ничего не «падает» при росте нагрузки.
В структуре нашей компании есть собственный QA-центр. Наши опытные тестировщики помогают компаниям выпускать на рынок качественные продукты. За плечами команды — множество успешных проектов.
Как нам удаётся грамотно организовать процесс тестирования самых разных игр и приложений — рассказываем на конкретных примерах.
Краткий ликбез: что такое QA и для чего он нужен компаниям
QA (Quality Assurance) дословно переводится как «обеспечение качества». В России часто используют синоним этого термина — «тестирование». По сути, QA— это проверка на соответствие должному уровню качества. Если говорить обобщённо, задача любого тестирования — убедиться, что продукт соответствует ожиданиям производителя. Людей, которые проводят тестирование, называют QA-инженерами или тестировщиками.
QA часто связывают с играми. Это объяснимо, ведь любая игра — это достаточно сложный продукт, при разработке которого легко пропустить какой-нибудь баг. А наличие багов может очень сильно испортить пользовательский опыт.
Но на самом деле этап тестирования должен присутствовать при разработке любого ПО или онлайн-проекта. Даже маленьким сайтам-одностраничникам нужен QA, как минимум, чтобы убедиться, что сайт нормально работает в любом браузере. Но, разумеется, чем сложнее проект, тем тщательнее его нужно проверять.
Тестирование бывает разных видов. Вот лишь несколько примеров:
- Функциональное — проверка, что все элементы и функции приложения работают так, как изначально задумывалось.
- Регрессионное — тестирование кода после релиза, чтобы убедиться, что внесённые изменения не «сломали» соседние элементы приложения.
- Интеграционное — проверка совместимости разных частей приложения между собой.
- Конфигурационное — проверяет, как программа работает на разных устройствах, ОС, браузерах и базах данных.
- Нагрузочное — проверяет, справляется ли приложение с большими наплывами трафика.
EdgeQA проводит все названные виды тестирования, и не только их. Наш QA-центр — это команда опытных тестировщиков, которые помогают разному бизнесу выводить качественные продукты на рынок. Наши QA-инженеры могут полностью заменить штатных тестировщиков или взять на себя часть работы, чтобы разгрузить инхаус-команду. При этом мы не только проводим тесты, но и помогаем оптимизировать QA-процессы, чтобы этап тестирования не отнимал у компании слишком много ресурсов и не занимал лишнее время.
Сейчас объясним на примерах, как именно мы это делаем.
Тестирование мобильных игр
Задача. К нам обратился крупный иностранный издатель многопользовательских мобильных онлайн-игр. Нужно было протестировать несколько игр на разных устройствах и ОС, проверить, как всё работает в разных условиях доступа к интернету: Wi-Fi, сотовые сети 4G и 3G операторов «большой четвёрки (МТС, Мегафон, Билайн, Теле2). Заказчику было особенно важно понять, насколько хорошо работают игры в условиях нестабильного интернета.
Кроме этого, нужно было провести ещё функциональное тестирование. А весь процесс нас попросили крупным планом записать на видео, дополнительно к стандартной записи экрана.
Трудности. Заказчик обозначил нашей команде очень сжатые сроки. Это не стало для нас большим препятствием — клиенты часто просят провести тестирование очень срочно. На все тесты мы выделили команду из 15 человек.
Настоящая сложность появилась после первой итерации функционального тестирования. Заказчик решил скорректировать тестовый сценарий и логировать в игре не только ключевые показатели в определённые временные промежутки, а перейти на непрерывное логирование каждого действия. Реализовал он это с помощью специального ПО. И проблема была в том, что полная версия этого ПО работала только на иностранном языке оригинала. Английская версия у ПО тоже была, но очень урезанная.
В итоге нам пришлось не только проводить все тесты в сжатые сроки, но и самостоятельно разбираться с ПО на незнакомом нам языке.
Решение. В течение суток мы:
- Проанализировали задачу и выяснили, что для проведения всех тестов нам не хватает нескольких мобильных устройств в нашем парке техники.
- Докупили недостающие устройства.
- Разработали набор тест-кейсов и выделили команду QA-инженеров под руководством опытного тимлида.
С иностранным ПО пришлось изрядно повозиться, но в итоге мы разобрались в его функционале и предоставили заказчику все нужные логи.
Результат:
- Провели в общей сложности 270 тестов на 15 разных мобильных устройствах, с имитацией разных типов связи.
- Выявили несколько случаев нестабильной работы игр на некоторых версиях оболочек ОС Android.
- Предоставили заказчику все логи и видеозаписи тестов вместе с подробным отчётом.
- На 100% уложились в обозначенные сроки и бюджет.
И на всё это у нас ушло 4 дня: с момента подписания контракта до предоставления итогового результата.
Тестирование инвест-платформы строительной компании
Задача. Крупная строительная компания для увеличение оборотного капитала решила создать собственную инвест-платформу, где участники могли вкладывать средства в инвест-предложения компании, а также создавать собственные предложения.
В штате компании был QA-отдел. Но команда не успевала провести тестирование в поставленные сроки. Нужно было ускорить процесс и разгрузить сотрудников.
Трудности. В компании не хватало штатных специалистов, из-за чего новая платформа тестировалась очень долго. И заказчик изначально обратился к нам, чтобы ускорить процесс. Но после анализа проекта выяснились и другие проблемы:
- Архитектура платформы не была чётко утверждена и постоянно менялась в процессе разработки. Это приводило к двойной, а иногда и к тройной работе на этапе тестирования.
- В команде отсутствовал бизнес-аналитик.
- Процесс тестирования и работа всего внутреннего отдела была хаотичной и неоптимизированной.
Решение. Для начала мы выделили на проект бизнес-аналитика, который проанализировал потребности, сформировал и улучшил требования для инвест-платформы, написал техническую документацию и выстроил коммуникацию между разработчиками и заказчиком.
Дальше мы начали вести документацию проекта.
Также на проект был выделен 1 опытный QA-инженер. Он взял часть обязанностей тестировщиков клиента на себя, а именно мобильное тестирование — проверял качество дизайна мобильного приложения на разных устройствах из нашего парка техники. Позже его задачи расширились до тестирования API и бизнес-логики приложения с помощью специальных платформ Postman и Chrome DevTools.
Кроме этого, мы наладили отчётность по проделанной работе внутри компании.
Результат:
- Инвест-платформа была разработана и выпущена в соответствии с планом.
- К ней разработана подробная документация и организована её поддержка в актуальном состоянии.
- Полностью оптимизированы все процессы тестирования. А заказчик получает подробные ежемесячные отчёты о проделанной работе.
- Клиент остался на 100% доволен качеством платформы.
- Полностью соблюдены сроки и бюджет.
Оптимизация тестирования высокобюджетной компьютерной игры
Задача. Крупный издатель игр, с которым мы уже давно сотрудничаем, обратился к нам за помощью по одному ААА-проекту. Они планировали выпускать игру, которую создавал сторонний разработчик. Это был динамический шутер от первого лица.
В момент обращения игра находилась на этапе альфа-тестирования (финальный этап комплексного тестирования перед выпуском бета-версии игры). Все тесты проводились студией, котора разработала игру. Но скорость и качество нашего клиента не устраивали. И компания попросила нас взять на себя часть задач и улучшить процесс.
Решение:
- Выделили на проект 10 опытных QA-инженеров.
- Составили тест-кейс для регрессионного тестирования по всему существующему функционалу игры, написали все нужные чек-листы.
- Провели Smoke-тестирование (первоначальную проверку на наличие явных ошибок), нагрузочное и приёмочное тестирование.
- Организовали составление отдельный чек-листов по всем выходящим обновлениям.
- Организовали процесс оформления всех найденных багов в Jira. А для координации всех процессов тестирования подключили специальный инструмент TestRail.
Результат — полная оптимизация всех QA-процессов и выпуск качественной игры. С проектом мы работали около полугода. И клиент остался полностью доволен результатом.
Подведём итоги
Тестирование — обязательный этап, который позволяет выпускать новые продукты на рынок без багов и проблем. И доверять этот этап лучше профессионалам. Опытная QA-команда сможет не только досконально проверить работу программы и убедиться в её качестве, но и поможет оптимизировать этап тестирования, чтобы сэкономить ваше время и ресурсы.