А вы точно тестируете то что ожидаете?
Все мы прекрасно знаем, что такое техники тест-дизайна, тест-кейсы и т.д. Уже есть несколько лет собственного опыта, применяем ИИшки и все "стильно, модно, молодежно". Но в один "прекрасный" момент все это перестает работать. Мы находим одни и те же баги по 3, 5 и более раз. Баги начинают вылазить из тех частей системы, которые вроде как не трогали уже более 6 месяцев. Работоспособность системы стремительно начинает падать, а ваш "синдром самозванца" расцветает ярким цветом. Знакомо? Если да, то на своем опыте расскажу что бывает и что можно с этим сделать.
Откуда начинается все
В зависимости от того как организованы процессы на проекте:
Задача
Стори
Фича
Везде по разному, но суть одна. Все это части системы. Должно быть описание "Что надо реализовать". С этим ни у кого вопросов не возникает.
Вроде бы все ок
После получения задачи/стори/фичи, мы судорожно начинаем накидывать тест-кейсы, смотреть макеты. В общем все то, что нам говорилось в теории тестирования/курсах и т.д. Ждем, когда же нам дадут то, что мы будем тестировать. И вот здесь начинается все то приключение, которое я описал в начале статьи.
Билет в котел
Если вы смиренно дождались когда вам разработчик, девопс или кто-то еще выкатит изменения на стенд - поздравляю. Вас уже садят в котел и будут варить как лягушку. И дело не в злых намерениях коллег. А дело в том, что вы сами приняли это. Вот опыт из прекрасного мира под названием геймдев:
Как-то получил задачу проверить заточку снаряжения. Дождался пока выкатят патч клиента. Скачал патч. Зашел первым тестовым юзером и заточил снаряжение до +15(максимальный уровень заточки). Перезашел на второй аккаунт и сделал тоже самое.
Зашел в "два окна" и устроил проверку урона с броней и без. Проверил разницу с не заточенным снаряжением/оружием. Сравнил данные с патч ноутом(да, он к счастью там был) и все соответствует. На все про все ушло 4 часа. Отчет тест-лиду и продюсеру проекта. Аппрув и готовимся в релиз.
А на релизе прилетает море тикетов: "После заточки до +15, пропало снаряжение". И тут в голове только одна фраза, которую говорил коммисар Жебер в фильме "Такси". Я захожу на тестовый стенд и да, у меня тоже пропало все заточенное на +15.
Следующий вопрос, который без мата выглядит так: "А каким оружием пинали друг друга тестовые персонажи". На +10 оружие есть, на +5 тоже. Ответа нет.
Итог очевиден: Получил эпичнейших люлей.
Если у кого-то есть сразу мысли где тут просчет, то велком в комментарии.
Меня сварили
Вроде бы и все сделал правильно, с точки зрения процесса тестирования:
Написал тест-кейсы
Скорректировал с патч ноутом
Скачал обновление
Прогнал тест-кейсы по несколько раз
Составил отчет
Сходил к тест-лиду и объяснил ситуацию. На что получил ответ: "В следующий раз проверяй внимательно". Обидно, досадно, но ладно.
Так кто-же облажался.
Так как я был ведущим тестировщиком на проекте, то у меня были доступы к логам сервера и к самому серверу(для чтения конфигов игровых событий). В одной из папок, я обнаружил, что дата изменения 2х файлов на пару часов отличается от остальных. После того как я запросил у продюсера патч ноут, я был немного удивлен. Их оказалось 2. Правда 1 из них технический(нет). Выяснил что технический патч ноут имел следующие изменения:
Добавлена функция восстановления, при случайном удалении предмета. Используется флаг "isDeleted".
То есть, если кто-то случайно удалил предмет, то он не исчезал из бд, а просто ставился флаг "isDeleted = true". Но при заточке снаряжения до +15 он проставлялся. Да, баг. Но как его можно было прощелкать?
Желание доказать что невиновен
Сопоставлением времени начала тестирования и выкатывание патчей, получился такой забавный результат:
начало тестирования в 14:00
Этап заточки снаряжения закончился в 15:00
Выкатка технического патча 16:45
А так как патч был серверный, то обновление клиента не требуется и можно "на горячую" накатить патч.
Восстановление собственного достоинства
Собрав всю фактуру, я пришел к лиду и объяснил что на самом деле было. Но уже никому до этого нет дела. Как говорится "Виновники найдены, а ямы остались".
Итог
Если вы не контролируете то, что выкатывается, то вы точно и не знаете что вы тестируете. И виноваты, в случае факапа, будете вы. Горькая, но правда.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.