воскресенье, 5 июня 2016 г.

Ваша аудитория

Дисклеймер: Рину Ужевко просьба держать свою истерику при себе, thank you very much, а теперь, когда we settled this, мы продолжим)

Итак. Вы должны понимать свою аудиторию.
Чтобы игроки получали действительно впечатляющий опыт, команда должна понимать их, как себя. Лучше, чем себя! И это очень трудно, потому что (как знает любой аналитик) то, что они декларируют, и то, чего они на самом деле хотят - это очень разные вещи.

Игроков нужно слушать. Мониторить форумы, отслеживать фидбек. При этом не скатиться в "мы реализуем любые пожелания игроков" (басню "Слон-живописец" все помнят?).  И если ваша игра для широкой аудитории, тут можно вспомнить классиков:
Мужчины:
- Любят становиться мастерами своего дела. Неважно, насколько это полезно в общеигровом масштабе, лишь бы им нравилось и было сложным.
- Состязания. Хлебом, блин, не корми, мужчина должен быть первым и лучшим.
- Разрушение. Это чисто гендерная фишка, с созиданием у мужчин хуже, чем у женщин. Круши-ломай-побеждай - это мужской лозунг.
- Трехмерные загадки. Никто не знает, почему так сложилось, но мужская аудитория воспринимает их благодарнее, чем женская.
- Метод проб и ошибок. Даму гораздо быстрее выводит из себя ситуация, когда она упирается в тупик и не знает, как дальше быть. Мужчина склонен пытаться и пытаться еще раз.

Девушки:
- Эмоция: для мужчин эмоциональный игровой спектр - это приложение к общему игровому опыту. Для женщины (подтверждаю как геймер) это очень важный источник привлекательности игры. Если игра не вызывает сильной эмоции, зачем в нее играть?
- Реалистичность. Тут можно поспорить с гуру, так как, как гласит нам Джейн МакГоннигал, игры лучше реальности по определению. Но есть некоторые наблюдения, утверждающие, что дамы предпочитают более реалистичный сеттинг игр (нет, я не Байрон, я другой, еще неведомый избранник).
- Развитие. Постепенный кач, саппорт- и хил-классы, вот это все. Это повышает ценность персонажа, который за это отвечает, и это, судя по всему, очень привлекает девчонок-игроков (я сама хилер, и точно знаю, что саппорт-классы изобилуют девчонками).
- Диалоги и словесные ловушки. Кто, как не мы, выиграем в них?!
- Обучение на собственных ошибках. Мужчины терпеть не могут проигрывать, девушки делают выводы. Такова статистика. Убившись один раз о препятствие, дама с большей вероятностью будет штурмовать его заново.

Есть и другие различия. Мужчины в принципе склонны концентрироваться на одной задаче, а девушки - хвататься за кучу дел одновременно (в ряде случаев вполне преуспевая).

Продолжая разговор, на гендерных различиях не циклится мир, плюс это не правила, а скорее общие указания. Есть еще типы игроков, и вот они куда сильнее влияют на полученный игровой опыт:
- Ачивер. Любит чего-то достигать, любит, когда ему бросают вызов.
- Исследователь. Хочет знать об игре абсолютно все. Любит открывать новые горизонты.
- Социальщик. Больше всего любит командную игру, взаимодействие и взаимопомощь, обожает общение.
- Убийца. Ловит кайф от чувства собственного превосходства, доминирования над другими игроками.

Почему это важно? Да потому, что у мужчин, женщин, ачиверов, киллеров, социальщиков разный стиль игры и разный к ней подход. Умение влезть в шкуру каждой из ролей позволяет открывать совершенно разные пути тестирования в играх (и это не упоминая про непременный и нежеланный класс "читеров").

пятница, 3 июня 2016 г.

А теперь - дискотека)

Я так поняла, тут нужен дисклеймер, пусть будет такой:
- о ужас, я могу ошибаться! Вполне нормально это воспринимаю. От вменяемых людей.
- о кошмар, я, в отличие от миллионов людей, которые этому радуются, совершенно не собираюсь терпеть ни хамство, ни отсутствие воспитания.
- причем вне зависимости от того, как бы широко и далеко не была известна ваша фамилия. Увы. Сочувствую, но это так. Не очень понимаю, почему перед чем-то известными и заслуженными хамами надо расстилать ковровые дорожки.
- и реакция будет на понятном собеседнику языке. Если он врывается с воплем "да ты кто такая", реакция будет "дверь вон там, проходите мимо, скатертью по жопе". Потому что уже понятно, что конструктивно он разговаривать не способен, можно не париться социальными церемониями и сразу переходить к зачистке.

На этом все. Белок-истеричек просьба воздержаться от комментирования, выпить валокордина и проходить мимо)

четверг, 2 июня 2016 г.

Тестирование игр

Раз уж часто спрашивают, и раз уж Оля Киселёва регулярно клюет меня на тему "ну у тебя же все написано, сделай пост", то пишу)

Тестирование игр тяжелее, чем тестирование неигровых приложений, по той простой причине, что игры отличаются наличием игровой механики. Скажем, в норме у приложения есть некие алгоритмы, согласно которым оно действует. У игр этого нет и не будет, потому что это запорет на корню всю идею (как минимум, для MMORPG это верно всегда). У игр есть механика.

Игрок, управляющий персонажем, совершает некое действие. Игровая механика реагирует на это действие. В результате случается некое событие. Звучит просто, но не тут-то было!
В ММО на событие влияют не только ваши действия! Это и действия других игроков, и действия нейтральных игровых персонажей (NPC), и даже погодные условия в некоторых играх! Вариативность колоссальная. Возможностей, где что-то могло пойти не так - море. Локализация багов... об этом даже думать неприятно. Если вы не любите игры.

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

  • Балансировка. Головная боль любых массовых игр, да и не только них. Баланс классов должен соблюдаться таким образом, чтобы ни один класс не мог безнаказанно навалять другому. Плюс к этому, обязательно уровневое балансирование. Если первый уровень - не бей лежачего, а через второй прорываешься сквозь слезы, пот и куски шкуры на колючей проволоке - что-то с уровневой балансировкой пошло не так. В идеальном мире игра всегда держит игрока чуть-чуть на пределе его возможностей, но никогда не заходит за него. Мозг не любит, когда очень просто. Мозг не любит, когда слишком сложно. Мозг любит, когда ему дают напрячься, но не выжимают из него последние нейроны.
  • Балансное кольцо. В целом характерно для MMORPG, но и в других играх встречается. Перекликается с вышесказанным - не должно быть класса, который может уложить любой другой класс одной левой, это дисбаланс. В идеале (условно) танк убивает DPS, DPS убивает мага, маг убивает хилера, хилер убивает танка. Смешать и взбалтывать, но не терять кольцо баланса, иначе будут imbalance-классы и все ломанутся играть именно за них.
  • Fun-factor, уникальная характеристика игровых окружений. Лучшие умы спорят, что же рождает этот фан-фактор, к единому мнению пока не пришли, однако история показывает, что высокобюджетные, красивые, профессиональные проекты могут тихо умереть, потому что в них просто-напросто скучно играть.
  • Дизайн уровней. Типичные баги, которые к нему относятся - это stuck spot (вы застряли и вам и ни туда и ни сюда), sticky spot (персонаж застрял, дергается, но в итоге таки вылезает, потратив некоторое количество нервных клеток и ненормативной лексики). Невидимые стены (вроде пройти можно, а вроде и нельзя), текстурные дыры (провались в Нарнию), и отсутствующая геометрия уровней (стена вроде бы есть, но через нее можно легко проскочить).
  • Баги AI. Если искусственный интеллект туп, ему все простят. Если он претендует на развитость, ему поставят в вину каждый божий баг. В частности, в Обливионе (а Bethesda в принципе славится своим AI) нейтральный персонаж вместо того, чтобы лечь спать, мог уйти носом в угол и простоять так до утра. Впрочем, это лучше, чем "более умный" AI, который они собирались прикрутить изначально, но это совершенно другая история. Кстати, безответные NPC - ваши лучшие друзья, так как автотесты позволяют запустить целую армию таких подопытных в целях проверки, есть ли на их пути stuck/sticky spots.
  • Физика. Что можно разрушить? Что нельзя сломать? Как летят брошенные предметы, включая пули и гранаты? Как они попадают в цель и попадают ли? Логично ли поведение предметов вообще (что будет, если я пну вот этот воздушный шарик? А что, если эту гирю? Если нет разницы, это как-то подозрительно)?
  • Баги прогресса. Расти в уровне вообще возможно? А как? А можно ли представить ситуацию, когда ты в уровне не растешь, что бы не произошло? Она желанная или нет? В Аионе игроки специально сливали опыт, чтобы остаться 50-ми, и проблемы это не составляло. Нет ли боссов, которых просто невозможно убить на уровне, для которого они предназначены? Это тоже баг прогресса.
  • Звук. Озвучка как-то коррелирует с тем, что происходит, или поет радостные марши, если вас только что размазали по земле? Не раздражает? Не начинает орать там, где она не нужна? Не молчит там, где за предупреждающий звук хочется продать почку?
  • Великий корейский рандом. Мне привычнее звать его корейским, я на нем выросла, и это были годы, полные боли. Каковы шансы дропа чего-нибудь приличного? Соответствуют ли они вранью, простите, официальной информации?
Все вышеперечисленное вроде бы не выглядит сложным, и особо сложным-то не является. Всю проблему доставляет механика, которая может вызывать самые умопомрачительные коллизии событий, которые никто не предусматривал. Но об этом в другой раз)

суббота, 6 февраля 2016 г.

Немного о профессии

Судя по студентам, многие идут в профессию тестировщика со сбитым прицелом в плане ожиданий:
  • этим может заниматься кто угодно (как вариант - легкий вход в индустрию)
  • несложная работа и хорошие деньги
  • это неплохой старт для начинающих программистов
Нет, нет и нет.
НЕТ, НЕТ И НЕТ.

"Этим может заниматься кто угодно"

Профессию надо любить. Это не только ваш хлеб, но и то, на что вы тратите 8-10 часов жизни в сутки, в которых, как мы знаем, их всего 24. Представьте, что вы 8-10 часов делаете то, от чего вам удавиться впору. Сколько вы так протянете? А у айтишников еще и авралы бывают, когда по 10 часов работаешь шестидневку, или в ночь выходишь, потому что НАДО.
И еще раз, не устану повторять, эта работа требует любви. Да, в ней бывают свои разочарования, когда два часа потратила на локализацию, а тебе говорят, что упс! Уже пофикшено / by design / еще что-нибудь, и иногда можно бороться за свой баг, но иногда никак не получается. Да, вы потратили время, но вы приобрели опыт, или знания, или, пока ругались с ответственными, новые знакомые лица. Это нормальная часть нашей жизни, и это надо ценить, а не отвергать.

"Несложная работа и хорошие деньги".

Я работала за разные деньги и честно скажу, что не главное это в жизни. Во-первых, см. предыдущий пункт. Есть вещи, которые не будешь делать ни за какие деньги (киллерам, говорят, хорошо платят, ну и что). Во-вторых, даже если работа не задевает ваши этические нормы, она должна быть вам близка. ВОСЕМЬ ЧАСОВ! Вы тратите восемь часов на общение с человеком, от которого вас тошнит. Ок ситуация? Не ок.
"Хорошие деньги" - растяжимое понятие. Хорошие платят хорошим. Начинашка не всегда может рассчитывать на то, что начинашку устроит, потому что или ипотека, или крупный дорогой город, или детишки ломают все надежды работодателя. Да, иногда делаешь вещи бесплатно, и это надо понимать, как инвестицию. Пример из моей группы: барышня из Барнаула отправилась в местную веб-студию и сказала всем там - парни, я хочу быть тестировщиком, мне очень нужно тренироваться на кошках, можно, я буду вам пособлять как могу? За опыт? Парни оказались сочувствующими и легко согласились. Опыт моя коллега наработала такой, что легко потом прошла собеседование на удаленку на Москву)
Забудьте про деньги, если это ваш первый шаг в области тестирования. Вам нужна набитая рука, острый взгляд и понимание. Сделайте свои первые шаги, это нормально для любого, кто меняет карьеру или начинает с нуля.
Про "несложную работу" задвигают только те, кто Савиным ограничился. Это сложно, и чем лучше вы как тестировшик, тем это сложнее. На локализацию иногда уходят часы. На въезд в требования - тоже часы, если вы правильные вопросы задаете, а если нет - дни. На расстановку приоритетов тоже тратится то бесценное, чего всегда мало - время.  Нет, это не раз плюнуть. Нет, спецификация - подробная, хорошая - это не наша реальность. Это миф. Нет, с одного вопроса вам не станет ясно все до копейки кристальным образом. 60% вашего времени - это разговоры, уточнения, выяснения, угрозы, убийства, я увлеклась.

"Это неплохой старт для начинающих программистов".

Хотите быть программистом? Идите в программисты. Ваш азарт, стремление к движухе, желание постоянно пробовать новое там всегда оценят. Тестирование - это не лягушатник для тех, кто еще не программист, но очень хочет. Это отдельная, вполне уважаемая профессия, в которой нужны специфичные навыки. В программировании вы их вряд ли будете применять, там совсем другие задачи, совсем другие проблемы.

Я люблю свою работу, я иду на нее с радостью, я счастлива каждый день, проведенный в наших коридорах. Когда студенты академии моей компании с ужасом видят, как в 8 вечера народ еще тусит по коридорам вовсю, я только ухмыляюсь. Мы здесь, потому что нам тут хорошо. Мы здесь, потому что наши задачи и их решения наполняют нас гордостью. Мы здесь, потому что мы хотели здесь быть и сделали для этого все возможное.

Не пользуйтесь тестированием, как трамплином. Не пользуйтесь им, как кошельком. Пользуйтесь им, как источником профессиональной гордости) за отрасль, за свой продукт, за свое дело. А там и карьерный рост будет, и деньги, и слава)

четверг, 4 февраля 2016 г.

Еще раз про интенсив

В январском потоке "Интенсива для начинающих тестировщиков" я подключилась к процессу в качестве ассистента. Нахлынувшие воспоминания, отчаянно борющиеся за жизнь студенты, робкое заглядывание в свои первые варианты домашек (чтобы не расслабляться и не думать, что я была во время курса гением мысли)...

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

На интенсиве чувствуешь себя идиотом регулярно. Пересдаешь, пересдаешь, пересдаешь. Бьешься лбом о намеки тренера разной степени толщины. Уныние, тоска, бзсхднст.



Я закончила недельный интенсив во вторник утром, то есть с запозданием больше чем на сутки. Все потому, что весь понедельник я отчаянно унывала и расписывалась в собственном идиотизме, и если бы Оля не достучалась до меня с подбадриваниями в личке, наверное, опустила бы руки, кто знает.

Сейчас я так не делаю. Если я чувствую себя дебилом, это повод извлечь из этого чувства профит. Почему мне непонятно? Какой информации мне не хватает, чтобы стало понятно? У кого это выяснить и как это лучше сделать? Не поможет ли мне гугл, источник знаний? Кого я знаю, кто может разжевать на пальцах? На каких кошечках потренироваться, чтобы начать с азов, от печки, и потихоньку осознать все непонятное? Это смещает фокус с "я никчемное ниачем" и зачастую помогает по-новому взглянуть на проблему. Иногда мешает-то какая-нибудь малость, которую в своем самобичевании просто не замечаешь.

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

воскресенье, 31 мая 2015 г.

ISTQB Foundations

Пост про то, как я готовилась к ISTQB Foundations, чего ожидать, кто виноват, что делать, как похудеть, объедаясь на ночь.

Регистрация на экзамен:

  1. Положить 150 евро на карточку. Следует учитывать (если у вас не евровая карта), что снимать с вас деньги будут примерно за неделю до даты экзамена. Поэтому искомая сумма в рублях может варьировать в зависимости от курса евро на момент снятия денег. Beware.
  2. Выбрать подходящую дату экзамена. Сделать это можно ЗДЕСЬ.
  3. Нажать на Registration. Форма на английском. Если вы собираетесь сдавать экзамен на русском, отметьте это в форме. На английском сдавать выгоднее - больше времени дают на сдачу тем, для кого английский - не родной язык.
  4. PROFIT, подтверждение придет к вам на почту, переходим к водным процедурам, сиречь к подготовке к.

Подготовка: необходимые материалы

  1. ISTQB Glossary. Лежит ЗДЕСЬ.
  2. ISTQB Foundation Syllabus. Он ТУТ.
  3. Книга "Foundations of software testing" (Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black).
Где стоит быть внимательным, изучая вышеприведенные материалы:
  • официальную информацию (Glossary, Syllabus) качаем только с официального сайта. Эти материалы обновляются, так как определения претерпели некоторые изменения в последние годы. Скачивая откуда ни попадя, вы рискуете заучить устаревшие определения.
  • все мы знаем, как найти книжку, если не хочется за нее платить. То, за что можно не платить - первое издание, в нем тоже есть несовпадения с актуальными определениями (например, security testing в ней все еще часть функционального тестирования, хотя, по последним сведениям с фронтов, это не так). При малейших сомнениях руководствуйтесь тем, что в Syllabus и Glossary отражена более актуальная информация.

Достаточные материалы:

  1. ISTQB Sample Exam, берем вот здесь.
  2. Mock exams. Доступны тут:  РАЗ, ДВА, ТРИ, ЧЕТЫРЕ, ПЯТЬ, вышел зайчик погулять. Вот ТУТ еще есть.
Как с ними обращаться:
  • Проходим тест.
  • Смотрим, где облажались.
  • Вдумчиво читаем эти разделы в книге или в Syllabus (в книге подробнее).
  • Запоминаем.
  • Проходим следующий тест.
  • Наша песня хороша, начинай сначала.
Что надо иметь в виду:
  • Они по большей части дублируют друг друга, мне в целом хватило тестов по первой ссылке.
  • Там бывают ошибки в "правильных ответах". Нечасто, но бывают. При сомнениях, опять же, официальные материалы и книжка - ваши лучшие друзья.
  • Тупо зазубрить правильные ответы - не поможет, вопросы на реальном экзамене совсем не обязательно будут дублировать те, что в тестах по ссылкам. Но если прорабатывать свои ошибки - вполне хватит на сдачу.

Время на подготовку

Если честно, то если вы хоть какое-то представление уже имеете, вам хватит суток. Если убить эти сутки на самодрессуру по тестам и изучение тех разделов, в которых вы "хромаете". По моим максимальным прикидкам, недели должно хватить кому угодно.

Экзамен:

40 вопросов, на "сдано" нужно верно ответить на 60%. Путем нехитрой арифметики это 24 правильных ответа на вопрос. Экзамен письменный, в форме Multiple Choice, для каждого вопроса возможен один и только один верный вариант ответа.
Могу посоветовать уделять особое внимание statement coverage / branch coverage - это то, что было самым сложным для меня при подготовке, и то, на что я больше всего времени потратила при сдаче.

Традиционно хвалю свое болото, сиречь свой подход к подготовке к экзамену - мне кажется, что при зубрежке определений и сколь угодно вдумчивом прочтении книги все равно так не осознаешь материал, как при приближенных к боевым условиях прохождения тестов. Поэтому тесты сначала, а изучение слабых разделов потом, для меня оказались оптимальным вариантом (на подготовку ушло десять часов, честное пионерское, не больше). С результатом 38 из 40 возможных) Пруф о сдаче: тут.

Буду рада, если кому-то этот мини-гайдик поможет) Ни пуха, ни пера на сдаче!

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

Интенсив VS Школа успешных тестировщиков

На http://software-testing.ru есть два курса для начинающих - "Интенсив для начинающих тестировщиков" Ольги Киселевой и "Школа успешных тестировщиков" Натальи Руколь. Естественным образом у изумленной публики возникают вопросы:
  • Нужно ли проходить второй курс, если уже прошел один из них?
  • В чем разница между ними?
  • Какой лучше брать первым, если проходить оба?
Так как я прошла оба, то вот ответы с моей кочки зрения:
  • Нужно.
  • По-разному расставлены акценты.
  • Интенсив - сначала, школу - потом.
Теперь подробнее. Я проходила интенсив первым, и считаю, что это было правильным решением. И, возможно, будет правильным для всех, кто предпочитает учиться плавать, будучи сброшенным в воду по принципу "кто выплывет, тот научился, кто не выплывет, был хорошим товарищем". Не особо забивая голову теорией, на интенсиве вы плотно занимаетесь практической работой, и сразу дрессируетесь в направлении "как нужно", а не "как сойдет".

А вот потом под "поставленную руку" неплохо бы подвести теоретическую базу. Которой в интенсиве голодный минимум, о чем заранее предупреждают в его описании. В "Школе" теории довольно большое количество, и вы знакомитесь с ней постепенно, имея возможность все как следует осмыслить - ритм у школы не такой напряженный, как у интенсива, и вникать можно постепенно.

Второй довод за порядок прохождения курсов - то количество багов, которые нужно будет заводить в "Школе". В этом курсе вы сначала учитесь эти баги искать, потом еще немножко учитесь их искать, потом снова учитесь, и вот только потом начинаете учиться заводить их правильно.

Анекдот. Мужик заходит в бар, просит двести грамм водки, бармен наливает. Клиент шустро выхватывает из рукава мерный стаканчик, меряет - 180 грамм. "Контрольная закупка! Платите штраф". Бармен платит.
Проходит два месяца, история в точности повторяется, бармен снова платит штраф. Еще спустя два месяца мужик снова приходит в бар, снова просит двести грамм, их снова 180. Не выдержав, он говорит бармену - "Слушай, за это время меня бы даже енот уже запомнил и наливал правильно!" - "Да запомнил я тебя. Мне штраф проще заплатить, чем руку сбивать".

Это я все к тому, что лучше сначала поставить руку) Потому что переучиваться всегда мучительнее, чем учиться заново. И так как багов заводить в "Школе" нужно много (на интенсиве-то всего пять надо наскрести), лучше сразу же делать это правильно.

Дополнительный бонус - при таком порядке курсов времени на осмысление теории при прохождении "Школы" будет не много, а очень много. Потому что после интенсива домашки в "Школе" вы будете выполнять со свистом минут за двадцать =)

И краткое резюме обоих курсов для тех, кто все еще сомневается.
Интенсив:
  • Много практики
  • Теорию изучаем самостоятельно вместо сна, потому что времени на это нет от слова "вообще".
  • Напряженный темп.
  • И ночью вас потом разбуди, вы ответите, что такое баг, что входит в баг-репорт, и как составлять тест-кейс. 
Школа успешных тестировщиков:
  • Теоретическая база под те практические навыки, которые дают на интенсиве.
  • Больше времени осмыслить полученные теоретические знания
  • На практике можно потренировать полученные на интенсиве навыки - это помимо применения теории, что самоочевидно.
Оба курса замечательные, оба стоит проходить. Порядок, в котором проходила я, был наиболее комфортным лично для меня, поэтому его и рекомендую)

Всем отличных оценок за домашки!