вторник, 26 мая 2015 г.

Пример локализации бага в игре «Паук» для iPad

Где начинающим брать опыт? Искать баги там, что используется в реальной жизни и пробовать писать разработчикам баг-репорты. Где-то не ответят, а где-то спасибо скажут. Им хорошо и вам практика Smile :)

Посмотрим на примере игры «Пасьянсы (Паук, Косынка, Свободная карта». У меня установлена бесплатная версия 1.0.2 → версию можно посмотреть в своих покупках.


Открываю приложение


Выбираю Spider.


Нажимаю «Статистика», дабы узнать свой жалкий процент побед.



И вдруг игра вылетает, я снова на рабочем столе.


Тэкс, возьмем шаблон бага и попробуем оформить.

Бесплатный паук вылетает при просмотре статистики


Шаги для воспроизведения

  1. Открыть приложение «Пасьянсы (Паук, Косынка, Свободная карта».
  2. Выбрать игру Spider, см рис Spider.jpg
  3. Нажать «Статистика», см рис Статистика.jpg
Результат

Игра вылетает, мы попадаем на рабочий стол, см рис Результат.jpg

Ожидаемый результат

Открылась статистика побед и поражений.
Если сейчас там все плохо и статистику посчитать нельзя, надо убрать эту кнопку из меню.

Версия системы ioS — http://whatbrowser.ru/#!N4IgRg (mini ipad 1)
Паук — бесплатный, версия 1.0.2

**************************************************************************

Думаете, это все? Как бы не так! Ничуть не удивлюсь, если разработчик откроет игру на своем устройстве и... ничего не упадет, статистика отобразится. А все почему? Потому что мы не локализовали проблему, даже не попытались.

Взять хотя бы название — «бесплатный паук». А платный как работает? Он вылетает или нет? Если и он вылетает, можно выкосить слово «бесплатный», оно будет лишним.

Но представим, платной версии нет и что у разработчика не воспроизводится по нашим шагам. Тут уж, хочешь не хочешь, придется думать над тем, чем отличаются ваши устройства. Можно, конечно, просто прибежать к программисту: "ну посмотри на моем айпаде, воспроизводится же!" и сбагрить локализацию. Но это не наш метод! Smile :) И разработчики не очень любят такой метод. Вот если вы хотя бы попытались локализовать, то уже можно просить помощи. «Попробовал то и то, воспроизводится».

Итак, что могло повлиять на ошибку? Предусловия:
— Поражений у меня было много на пару-тройку побед.
— Приложение мигрировано, скачивалось на прошлый айпад. На этот перенесено из iCloud.

Для локализации проверяем (помимо платная-бесплатная версия):

Статистика:
— Нулевая.
— Ненулевая (уже есть поражения; есть победы; есть и поражения, и победы)

Приложение:
— Свежеустановленное.
— После обновления на версию.
— После миграции с другого iPad.

Установка:
— Первая.
— После удаления снова поставили.

Устройство:
— iPad.
— iPhone.
— Android (если он есть в поддерживаемых).

Полную локализацию оставляю вам в качестве домашней работы Wink ;)
Но вот вам наглядные классы эквивалентности, которые стоит проверить до того, как радостно бежать и заводить багу на последствия вместо причины!

См также:

Где начинающим тестировщикам получать опыт? → где еще, кроме игр на айпаде?
Как заводить задачи в баг-трекер → подробнее о том, как ставить задачу и заполнять обязательные поля.
Шаблон бага → который использовался в данной статье.

PS — статья написана в помощь студентам моего курса для начинающих тестировщиков.

PS — добавила пост в общую копилку багов.

7 комментариев:

  1. Зачем столько телодвижений, если разработчик просто возьмет проблемный девайс, подключит в дебаг-режиме, и тогда ему все эти рассуждения будут до лампочки.

    ОтветитьУдалить
    Ответы
    1. Тестировщик должен уметь локализовывать баги, а не скидывать свою работу на программиста

      Удалить
    2. Локализовывать баг конечно нужно, но без фанатизма же.

      "Сбагрить локализацию..." Пограммист в любом случае будет производить локализацю бага в коде, не зависимо от того, сколько подробностей мы напишем в баг-репорте. И время, потраченное на сбор всех-всех подробностей, скорее всего не окупится.

      Далее, бага может оказаться трудно-локализуемой, и проявляемой только в пятницу 13-го в полнолуние. И тогда есть риск, что после удаления программы и повторной установки бага не проявится, и повторить её не получится вовсе. Разве что делать видеорегистрацию всех действий во время тестирования и надеятся, что это поможет.

      Кстати, а на iOS какая разница между первой установкой, и установкой после удаления? Насколько я знаю, приложении там хранится вместе с пользовательскими данными в одном каталоге, и грохается тоже вместе. Разница в поведении может быть только в том случае, если пользовательские данные хранятся в облаке.

      Другими словами, в статье есть несколько спорных моментов, которые подаются как мудрость и непреклонные истины. Именно это не понравилось.

      Удалить
    3. Никто не говорит, что надо 8 часов локализовывать простой баг. Но тестировщик должен уметь искать разные варианты, строить предположения. Это поможет ему и баги искать, я даю в блог-посте варианты того, что можно проверить, куда вообще можно копать. У начинающих как раз возникает ступор «ну что тут еще можно проверять?». Я за креативность и идеи, о чем и пишу в своем блоге)

      Удалить
  2. Ольга, а разве не стоило еще раз проверить баг? Вдруг игра не вылетела бы.
    И как в таких случаях писать баг-репорт, если баг проявляется в хаотическом порядке при одних и тех же действиях?

    ОтветитьУдалить
    Ответы
    1. Алексей, а с чего вы взяли, что данный баг проявляется хаотически и я не пробовала его воспроизвести повторно? :-)
      Если баг воспроизводится хаотически — значит, плохо его локализовали. Если много времени потратили, а локализовать не получается, лучше прибегнуть к помощи разработчика, возможно, он по коду за минуту все поймет

      Удалить
  3. "Приложение мигрировано, скачивалось на прошлый айпад. На этот перенесено из iCloud." Мне кажется тут опечатка, должно быть "мигрировало".

    ОтветитьУдалить