C днём тестировщика
В этот осенний день мы от всей души поздравляем людей, которые ежедневно борются с несовершенством мира. Эти люди не на виду, но от этого их нелёгкий, кропотливый труд не становится менее важным. Ведь без них множество продуктов, а особенно программных, работали бы некорректно, с большим количеством ошибок, глюков и странностей. Сегодня мы поздравляем с профессиональным праздником всех тестировщиков! Пожалуй, каждый из нас в той или иной мере сталкивается с тестированием или проверкой чего-либо в своей работе. А я, будучи еще студентом, начинал свой путь в мире IT с этой профессии. Кстати, именно благодаря одному из тестировщиков мы обязаны появлению нового смысла у слова «bug». А калька с этого слова перекочевала в русский язык. Да и во многие другие тоже. Никто точно не знает, когда впервые начали употреблять слово «баг» в его нынешнем значении, ещё в 1878 году Томас Эдисон писал:
Это повторялось снова и снова со всеми моими изобретениями. Первым шагом была интуиция, за ней следовала вспышка, затем возникали препятствия — и они исчезали, потом возникали Баги — так называются маленькие недочеты и трудности — и необходимы месяцы постоянного поиска, исследований и тяжелого труда до успеха или неудачи.
Однако если бы не мотылёк, застрявший в контактах вычислительной машины 9 сентября далёкого 1947 года, неизвестно, отмечали ли мы этот день сегодня или ещё когда-нибудь? По случаю праздника мы провели опрос среди наших тестировщиков и узнали, какими качествами должен обладать идеальный тестировщик, а также попросили рассказать историю какого-нибудь интересного или забавного бага из практики. Их рассказы читайте под катом.Алексей Петров (pifagor_mc), директор по качеству Почты Mail.Ru:
Идеальный тестировщик должен быть любопытным и любознательным, внимательным, в меру дотошным и нацеленным на результат. Кроме того, тестировщику должно быть свойственно терпение и самообладание, а также должны быть развиты коммуникативные способности. Тестировщик, впрочем как и любой другой современный специалист, должен постоянно работать над собой и развиваться, но в случае с тестировщиком это просто обязательные черты! Тестировщику нельзя останавливаться на достигнутом, стоит моргнуть, и технологии, методологии и процедуры улетят в будущее, оставив зазевавшегося специалиста у разбитого корыта невостребованных знаний.
Когда-то давно, еще на заре моей карьеры, устроившись в одну достаточно крупную известную компанию тестировщиком мне вручили задание — потестировать в ознакомительных целях один из продуктов компании. Я тогда еще только-только начинал делать свои первые шаги в тестировании и не был уверен, что захочу этим заниматься серьезно. Но буквально через 10 минут «игры» с сайтом на предмет поиска различного рода дефектов и функциональных возможностей продукта я наткнулся на небольшое всплывающее окошко с коротким текстом: «А здесь ничего нет, но нам нравится ход ваших мыслей, приходите к нам работать тестировщиком». И контактный телефон в придачу. Помню, тогда меня это сильно воодушевило, и я почувствовал, что не только не ошибся компанией, но и профессией. С тех пор прошло уже без малого 8 лет, а я по-прежнему в тестировании и ничуть не жалею о выборе вектора своего профессионального роста. :)
Антон Белоус (AzzuTribal), специалист по тестированию студии Мини-игры:
Тестировщику нужно обладать абстрактным образом мышления. Иметь способность войти в шкуру всех типажей пользователей.
О да, буквально на днях был один номер. Тестил ачивку в игре, которая даётся при написании комментов в чат игры. Ачивка называется «Повелитель чата». А, как известно, за мат в чате выдаётся авто-бан. Если написать в чат слово из трех букв, то получишь ачивку «Повелитель чата»… и бан. Причём самый сок данного бага, что для его воспроизведения нужен игрок, который только что зарегистрировался в игре, и его самым первым комментом в чат было это самое слово. Представляю выражение его лица, когда он помимо бана за мат получает ачивку и деньги за её получение. :)
Ахмад Бугаев, специалист по тестированию департамента IM:
Про идеального тестировщика не могу сказать. Никогда таких не видел. Но хороший тестер должен обладать невероятным терпением, сосредоточенностью, изрядной долей критичности ко всему окружающему и иметь жизненный лозунг в виде вопроса «А что, если…?» И даже если продукт получился действительно хорошим, тестер всегда должен быть им недоволен.
Был случай, когда с другом общались в ICQ и начали спорить по пустячному поводу. Я тогда шел по улице и на ходу строчил сообщения. Переписка начала заходить в тупик и друг разозлил меня до такой степени, что я написал огромное гневное сообщение с подробной аргументацией моей правоты, которое должно было разнести его в этом споре в пух и прах. Но, оказывается, в ICQ под Windows Phone был баг, который при попытке отправить достаточно большое сообщение просто отключал приложение от сети. Пока я пытался отправить сообщение и осознавал баг, злоба прошла, и пришло понимание, что этот пустяковый спор не стоит дружбы. Бага уже давно нет, зато друг остался. :)
Андрей Зайцев (Ukrop4ik), младший специалист по тестированию студии Аллоды:
1. Педантичностью, граничащей с паранойей2. Терпением3. Смекалкой
«Мимокрокодил может зайти в профиль к чубаке и посмотреть его инфо». Все баги интересны, все баги забавны. Но нужно иметь большой пласт контекстной информации, непосвященный человек не всегда поймет о чем идет речь. В приведенном выше баге описываются фичи: форум, профиль, права пользователей. Где «мимокрокодил» — незалогиненый юзер, а «чубака» — юзер без доступа к ЗБТ. Само название бага, звучащее на нашей узко-специализированной, внутри командной терминологии, звучит забавно. :)
Ксения Развенская (choise), руководитель команды тестирования Поиска Mail.Ru:
Итак, идеальный тестировщик. Это человек, у которого по жизни все не работает: приложения не запускаются, верстку сайтов разносит при одном только взгляде, а в его руках перестают работать все электронные приборы. Тестировщик должен быть очень внимательным, чтобы ничего не упустить, и терпеливым, чтобы кропотливо все проверить. Умение нестандартно и критично мыслить, интуиция и смекалка помогут найти самые труднодоступные и скрытые проблемы. Также тестировщику надо быть любопытным и любознательным: «а что если я… » и тут все ломается! Коммуникабельность и умение понятно объяснить свою точку зрения тоже важны, ведь у тестировщиков самые широкие коммуникации на проекте, к его мнению должны прислушиваться. И еще очень важно: тестировщик должен быть гипер-ответственным человеком, так как от качества его работы многое зависит. Идеальный тестировщик мог бы быть идеальным человеком, но и у него есть свои профессиональные недостатки. Из негативных качеств я бы назвала дотошность и перфекционизм, они не должны быть доведены до предела, но в какой-то степени должны присутствовать в каждом хорошем тестировщике.
Вспомнила один забавный баг: в нашем поиске есть специальный результат в выдаче с результатами спортивных матчей. Ну, например, по запросу [цска спартак] на первой позиции мы покажем результат последнего матча между этими командами: go.mail.ru/search? q=цска+спартак. Известно, что у каждой футбольной команды есть кличка, поиск про это тоже знает, поэтому в списке всех футбольных команд для Спартака, например, у нас есть синоним — «мясо». Из-за этого подмес спорта в выдаче можно увидеть по таким забавным запросам как [коней на мясо] и тому подобных: go.mail.ru/search? q=коней+на+мясо. Сначала мы собирались починить этот баг, но в итоге такое поведение решили оставить как фичу, теперь это еще одно «пасхальное яйцо», которое может повеселить пользователя.
Стас Фомин (EXE777), руководитель группы тестирования студии ITT Nord:
Мне кажется, список получится внушительный, но попробую. Идеальный тестировщик — внимательный, ответственный, коммуникабельный, проактивный, честный, открытый, понимающий, доброжелательный, конформист, перфекционист с нестандартным, критическим мышлением.
Расскажу баг из жизни нашего офиса. Мы недавно переехали в новый офис, с магнитными замками на дверях в офис и ключами-карточками, секьюрность — все как надо. Но, все мы знаем, когда утром при походе на работу оденешь другие штаны или куртку, то нужная магнитка от офиса останется в старых. Вот так было и у нас, но тестерская смекалка находит выход из любой ситуации, и, оказалось, что если такую же по размеру обычную кредитку вставить в проем между дверным замком и магнитным запором узкой стороной, она точь-в-точь проходит туда и отодвигает магнитную защелку от двери в офис! Так что даже если забыл дома ключ, всегда можно найти баг, в данном случае строителей. :)
Алена Бабкина (dzhelita), старший специалист по тестированию студии Аллоды:
Идеальных тестировщиков, как и идеального ПО, не существует. Возьмем среднестатистического, абстрактного тестировщика в вакууме, без разделения по позициям, которые он может занимать. Предположу, что вас интересуют именно человеческие качества. Тогда:
— коммуникабельность: общаться и быть в хороших отношениях нужно со всеми, начиная от ПМа и заканчивая службой поддержки; — ответственность/внимательность/отсутствие пофигизма: тут все понятно, мы отвечаем за качество выпускаемых продуктов и/или их составляющих; — стрессоустойчивость: как правило, с нас в первую очередь спрос, если критичные баги попадают на продакшен. Бывает много претензий, возникают конфликты + накладывается то, что нужно контактировать с большим количеством людей; — усидчивость/терпение: особенно, если требуется выполнять какую-то рутинную однообразную работу (как правило, на позиции простого исполнителя); — настойчивость/умение отстаивать свою точку зрения и продавливать ее до конца, если она может принести профит проекту/рабочим процессам; — здоровое любопытство/любознательность и желание обучаться/открытость новым знаниям; — критическое мышление.
На этом закончу, продолжать можно долго, если описывать «идеального» тестировщика.
Александра Китова, специалист по тестированию департамента оперирования игр:
Вопрос, на самом деле, очень неоднозначный. В нашей компании я успела потестировать и ПО, и игры. Занималась тестированием как на мобильных устройствах, так и на ПК. Конечно, можно назвать общие качества, которые, само собой, необходимы абсолютно всем в нашем нелёгком труде: внимательность, усидчивость, стрессоустойчивость. Но именно определяющими везде являлись немного разные качества. Например, для тестирования на смартфонах нужно быть готовой к так называемой «манки ворк» — перед тобой 20 аппаратов, и на каждом нужно проверить маааленькую фичу, которую добавили разработчики. Это очень утомляет. Сейчас я занимаюсь играми, и тут одним из самых важных навыков я считаю умение работать в команде. От каждого человека, принимающего участие в жизни проекта — от художника, разрабатывающего шрифты для сайта игры, до главного гейм-дизайнера, демиурга игрового мира — зависит общая картина, которую увидит конечный потребитель, и, по моему мнению, именно тестировщики являются связующими звеньями в этой цепи. Поэтому нам так важно быть коммуникабельными — кто, если не мы, проконтролирует весь процесс разработки и докажет программистам, что это не фича, а баг? :)
Сейчас занимаюсь в основном тестированием локализации, поэтому смешных текстовых багов хоть отбавляй. Вот так сходу могу вспомнить только один более-менее интересный баг: у нас в игре Warface после одного из патчей дробь из дробовика летела как пуля, то есть игрок мог подпрыгнуть, стрельнуть в игрока на другом конце карты, и тот получал полный урон как от выстрела в упор.
Вот такие истории рассказали наши сотрудники. Пользуясь случаем, хочу напомнить, что нам очень нужны хорошие тестировщики мобильных приложений. А как вы связаны с тестированием? Рассказывайте свои истории в комментариях.