Вечное ожидание – не упустили ли тест-персону? |
09.02.2023 00:00 |
Автор: Пол Гриззаффи (Paul Grizzaffi) Статья вышла сильно позже, чем я планировал – и даже позже, чем я перепланировал ее. Вмешалась жизнь и другие идеи. Однако я думаю, что это все еще нужно иметь в виду, проектируя, тестируя и автоматизируя… или не автоматизируя. На дворе было Рождество-2020. Мои близнецы-семилетки получили в подарок Nintendo Switch. Вау, они были так счастливы! Они также получили три игры, включая Mario Kart. Как и ожидалось, гонка стала первым любимым занятием, поэтому утро было наполнено картами и обучением, как проигрывать и как красиво побеждать. После обеда парни согласились попробовать поиграть в другие игры, одна из которых была заявлена как многопользовательская. Честно говоря, она действительно многопользовательская – как на консоли, так и по сети. При начале игры есть некие замедления, к многопользовательскому аспекту мы перейдем чуть позже. Помните, мы говорим о семилетках, а в моем случае – об очень активных и вовлеченных семилетках. Прошло много времени, но, насколько я помню, первичная настройка персонажа занимала около тридцати-сорока минут. В это время первый ребенок выбрал своего персонажа, его атрибуты, настроил окружение и другие обязательные элементы. Второй ребенок за то же время, к его чести, проявлял лишь умеренное нетерпение, так как все еще ждал своей очереди. Наконец настала его очередь настраивать персонажа, и это заняло 20–30 минут. Суммарно прошло около часа, прежде чем они смогли начать играть вместе. Для семилетки это вечность (как и для людей за пятьдесят, но не будем отходить от темы). За это время я не заметил никаких "классических" проблем ПО. Не произошло ни единого бага/глитча/заикания/краша/рестарта. Однако я наблюдал проблему – по крайней мере, проблему для мальчиков и себя. Для нас невозможность одновременно настраивать персонажей, как это сделано в Mario Kart, была проблемой. Это ПО не отвечало нашим ожиданиям и делало нас несчастными. Но почему? Большая часть приложений предназначена для использования разными типами людей; игровое ПО особенно нацелено на то, чтобы люди разных возрастов и опыта получали удовольствие. Эта конкретная игра якобы предназначена для детей от трех лет и старше, и имеет рейтинг "E" – "для всех". Разберемся, кто такие "все". По моему опыту, "все" в основном состоят из людей, которые достаточно терпеливы для: ● "Длинных" (хоть и геймифицированных) последовательностей настройки. ● Последовательной настройки отдельных персонажей (что, если бы у меня было больше детей?!). ● Для гугления, "как добавить дополнительного игрока". Мой опыт взаимодействия с этой игрой гласит, что мои дети едва попадают под этот зонтик "всех". Если бы им было 5, а не 7, думаю, сохранение спокойствие стало бы трудной задачей. Содержание игры, безусловно, подходит для многих трехлеток, но не могу представить трехлетнего ребенка, который тратит столько времени, чтобы просто начать играть. Итак, почему я, автоматизатор, завел об этом речь? Потому что это имеет отношение к тестированию. Почему первичная настройка игры заняла столько времени? Было ли это необходимо? Планировалось ли это увлекательным? Возможно, все тестировщики и бизнес-лиды думали, что это клево и вполне подходит игре. Возможно, однако, в ходе тестирования были упущены некоторые персоны. Говоря о персонах, я подразумеваю типы людей, взаимодействующих с нашим ПО – для этого есть и другие термины, вроде ролей или акторов. Очень небольшой набор персон может включать: ● Белого мужчину от 25 до 40 ● Чернокожую женщину от 55 до 70 ● Женщину-дальтоника около 30 лет. ● Белых, семилетних мальчиков-близнецов рождественским утром (возможно, это уже чересчур детально). Каждый из вас может добавить в этот список с десяток дополнительных персон, и, конечно, каждая из вышеупомянутых может быть разделена на подкатегории. В этом и весь смысл! Тестируя ПО, мы должны рассматривать огромное количество персон. Нам нужно учитывать максимум персон в рамках разумного в ходе тестирования. Так как потенциальное количество персон огромно, все из них, возможно, нельзя проверить, поэтому нужно приоритезировать тех, кто, согласно нашим ожиданиям, будет использовать ПО больше всего. Не то чтобы нас не волновали другие пользователи; мы, конечно, хотим, чтобы они тоже получили хороший опыт, но, скорее всего, у нас не хватит времени протестировать все идентифицированные персоны. Черт возьми, мы даже не можем выявить все возможные персоны, а для выявленных вряд ли сможем быть достаточно хорошими прокси. Мы люди, и это нас ограничивает. Итак, повторюсь, почему я, автоматизатор, поднимаю этот вопрос? Потому что он также имеет отношение к автоматизации. По большей части мы можем настроить различных пользователей системы так, чтобы у этих тест-пользователей были соответствующие привилегии и не было тех, которые не подходят их роли. Это помогает автоматизации вести себя немножко похоже на реальных персон, но она не может имитировать настоящих людей. Только эти персоны действительно поведут себя так, как должны вести себя эти персоны - и это будет всего лишь подмножеством персон! Как я уже сказал, мы люди, и это ограничивает нас в способности изображать персон, однако машина в этом плане ограничена еще больше. Итак, где же расположить автоматизацию? Там, где она должна находиться - она должна помогать тестировщикам выполнять их работу. Это, безусловно, чувствительный к контексту ответ, но он дан для зависимого от контекста мира. В некоторых контекстах мы можем автоматизировать на высоком уровне, основываясь на конфигурациях вроде вышеупомянутых привилегий. В других контекстах мы так сделать не можем, потому что нам непременно нужны люди (то есть тестировщики), которые симпатизируют нашим пользователям и проявляют к ним эмпатию. Автоматизация может помочь в этих ситуациях, но, если полагаться только на нее, мы рискуем упустить “человеческий аспект” тестирования - к примеру, способность делать вид, что ты нетерпеливый семилетка. Я как-то собеседовался в игровой компании на позицию “директора автоматизации”. Когда я сказал рекрутеру, что не все тестирование можно и должно автоматизировать, он ответил “Нельзя автоматизировать удовольствие, правда?” Это было прямо в яблочко. Нельзя (по крайней мере, пока) автоматизировать удовольствие, нетерпение, фрустрацию и любой иной эмоциональный отклик. Пока существует эмоциональный, человеческий аспект использования ПО, будет существовать недоступное для автоматизации. Но не дайте этому факту помешать вам использовать автоматизацию для помощи в работе; просто используйте ее ответственно. |