Интервью с Романом Савиным, автором книги «Тестирование дот ком»

По заголовку этого поста сложно догадаться, но мы поздравляем всех причастных, непричастных и деепричастных с днём тестировщика!

Вы обязательно прочтёте (или проигнорируете) сегодня целый ворох оригинальных (или не очень) поздравлений. Мы присоединяемся ко всем пожеланиям, что в них прозвучат (даже в тех, что не очень). Но сами решили, что формат короткого поздравления — это не для нас. Мы даже подкасты короче 2 часов сделать не в состоянии. Поэтому мы пригласили одного из — не побоимся этого слова — самых известных людей мира русскоязычного тестирования: Романа Савина, в нашу виртуальную (очень виртуальную) студию. И задали ему много-много вопросов, которые вы тоже хотели задать, но почему-то стеснялись.

С праздником, друзья! Спасибо вам, что слушаете нас, читаете нас, смотрите наши картинки, лайкаете и комментируете нас!

И приятного чтения 🙂

 

Привет, друзья! Спасибо коллегам из Radio QA за интересные вопросы.

Как ns пришел в профессию тестировщика? Где и как учился? Что читал?

Я пришел в профессию следующим образом:

В 1998 году после очередного российского кризиса (в тот раз это был дефолт), я взял тур, получил визу, купил билет и приехал в Сан-Франциско.

Почему в Сан-Франциско? Потому что, во-первых, именно там происходили события мюзикла “Юнона и Авось”, а во-вторых, куда еще? 🙂

illsavin1Мне всегда нравились компьютеры и, как оказалось, Кремниевая долина была тем местом, где сбываются мечты. Нашелся человек, Никита Тулинов, который произнес магическое слово: «QA» и привел меня на курсы тестировщиков. Эти курсы до сих пор существуют в Сан-Франциско и ведет их тот же человек — мой Учитель Алекс Хатилов.

Эти курсы, а также многочасовые разговоры с Никитой и Алексом и являются моим образованием в тестировании.

Я честно пробовал читать Канера и пару других гуру, но сразу засыпал от принтеров (прим. редакции — тут имеется в виду классический труд Сэма Канера — «Тестирование программного обеспечения» (1999), в котором есть глава про тестирование принтеров) и воды. С Канером мы познакомились на одном из семинаров для автоматизаторов. Он, конечно, отличный оратор и умнейший дядька.

Мне, кстати, непонятны претензии некоторых теоретиков кунг-фу о том, что мол, мои книги несерьезны.

Я не понимаю зачем нужна академичность, наукообразность, важность, когда учишь других? Наоборот, скажем, в труде писателя один из главных принципов: “Пиши, чтобы выразить, а не чтобы удивить.”

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

Топ-5 важных вещей\навыков\знаний для современного тестировщика, и почему именно они?

Ручное тестирование было, есть и будет. Поэтому даже со знанием черного ящика можно находить работы и, в общем, жить не тужить. Я знаю множество тестировщиков, которые зарабатывают больше 100 тысяч долларов в год плюс бонусы, но спроси их о разнице между переменной и ее значением, они не смогут ответить. Я не утрирую. У значительного числа тестировщиков наработка опыта направлена в сторону изучения продукта, а не в сторону углубления профессиональных знаний.

Но если говорить об идеальном пуленепробиваемом наборе, скажем, для рынка труда Сан-Франциско/Кремниевой Долины, то это будет следующее (сначала вкратце, потом в подробностях):

1. Знание основ ручного тестирования и процесса разработки;
2. Умение хорошо программировать (хотя бы на одном языке);
3. Умение автоматизировать с Селениумом;
4. Навыки работы с базой данных;
5. Advanced user: Unix.

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

Подробности:

1. Знание основ ручного тестирования и процесса разработки.

Здесь, понятное дело, если тестировщик не знает как занести баг в систему трекинга, то нафига он такой нужен? Это если бы сантехник не знал, что такое разводной ключ, а московский таксист был не в курсе, как проехать к Ленинградскому вокзалу.

Если точечно о знаниях:

А. Знание процесса разработки: Waterfall и Agile (напр., Scrum);
B. Знание основ тестирования (например, что такое регрессионное тестирование и когда оно производится) и методологии поиска багов через черный и серый ящик;
С. Умение работать с системой трекинга багов.

2. Умение хорошо программировать хотя бы на одном языке.

Сейчас наибольшую популярность и вес для работодателя имеют (в порядке убывания значимости): Java, Python.

Почему? Именно они, во-первых, самые популярные языки в Долине, а во-вторых, для них (в том числе) написаны библиотеки Селениума.

3. Умение автоматизировать с Селениумом.illsavin2

Selenium — это новый идол Кремниевой Долины. Хотите получить работу как можно быстрее? Учите Selenium.

Если программируете на Java или Python, изучение Селениума не займет много времени.

Конечно, этот фреймворк уже оброс кучей нюансов, но в нем нет ничего сверхсложного.

4. Навыки работы с базой данных.

Это нужно как для сероящечного тестирования, так и для автоматизации.

5. Advanced user: Unix. (прим. редакции — автор наверняка понимает по Unix и Linux, и например командную строку Mac OS X, все эти системы происходят от Unix)

Без знания того, как работать с Юниксом, будет довольно трудно установить нужные библиотеки для языка программирования (напр., Python) и фреймворка для автоматизации (Selenium). Знание командной строки Юникса это никак не меньше, чем A MUST.

Говоря о джентльменском наборе для успешного тестировщика, нужно отдельно выделить тестирование мобильных приложений. Сейчас смартфоны есть у всех: у программиста, тракториста, пофигиста, пацифиста, сборщика винограда и его брата — Хосе Антонио.

Одним словом, смартфонов полно и, с одной стороны, — это хорошо, так как тестировщикам будет работа.

С другой стороны, выпущено столько моделей, есть столько версий ОС и столько нюансов тестирования именно на смартфонах (включая таблетки), что лично я, поработав на этой теме год, решил, что кривые дорожки моей карьеры и мобильные приложения не должны больше пересекаться 🙂  Хотя многие это дело любят, уже заматерели и их уже не оторвать от засаленных экранчиков с маленькими кнопочками 🙂

Еще одним перспективным сегментом являются видео-игры. Я постоянно вижу вакансии на Крейгслисте (Craigslist).

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

А были какие-то курьезные случаи?

В начале нулевых я работал в отделе финансовых систем PayPal-а. Одним из моих проектов было тестирование дебетовой карточки.

Делаем релиз глубокой ночью. Быстро проверили интерфейс — вроде всё работает.

illsavin3Беру карточку и еду в Стенфорд для живого тестирования (мы тогда располагались на Эмбаркадеро роуд в Пало-Алто). Нахожу круглосуточный 7-11. Там сидит заспанный продавец-индус. Я покупаю банку энергетического напитка и даю продавцу свою карточку. Карточка не работает.  Я говорю: “Чичас все будет в ажуре”, набираю программиста ПейПала и говорю ему: “Измени параметры в базе данных, карточка нифига не фурычит”.

Получаю подтверждение об изменении параметров. Даю карточку снова, все работает.

Нужно было видеть глаза этого продавца. Вот так и рождаются легенды 🙂

Почему отказываешься участвовать в конференциях по тестированию ?

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

За чем ты следишь в отрасли, что смотришь, на кого ориентируешься, как развиваешься (развивался) сам?

Я не слежу и не ориентируюсь, а просто иду в том направлении в котором идет индустрия.

Мой последний проект был созданием фреймворка для тестирования APIs в компании Чегг (Chegg). Была необходимость, меня попросили помочь, я помог и заодно научился многому сам. Вот так и живём…

Я уважаю людей, которые следят за новостями в индустрии, но сам таковым не являюсь.

Каким видишь ближайший и отдаленный мир тестирования в будущем? Что произойдет? Какие тенденции наблюдаются и как к этому относишься?

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

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

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

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

По мере копирования оффлайн вещей: почта-емейл, встреча-Facebook, телефон-Skype, телевизор-YouTube все меньше ниш, где работы — непочатый край.illsavin4

Т.е., либо будет некая революция, сравнимая с изобретением браузера, либо обслуживание других индустрий.

Судьбы тестировщиков будут следовать за судьбами софтверного бизнеса.

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

Грядут большие перемены.

Как ты относишься к Context Driven Testing школе?

Очень положительно.

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

Например, казалось бы тупо создавать сильно детализированные тест- кейсы, когда ты работаешь в стартапе и функциональности постоянно меняются.

С другой стороны, а что если стартап занимается финансами? Люди очень щепетильно относятся к своим деньгам и пара-тройка добротных критикалов может влёгкую убить бизнес.

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

illsavin5Еще один пример: автоматизация. У работодателей в Кремниевой Долине на эту тему давно уже съехала крыша. Вбухивают миллионы в автоматизацию (спасибо, что сейчас есть бесплатный Селениум, раньше сотни тысяч платили только за Silk Test) и потом, удивляются, почему автоматические тесты валятся и качество не улучшается?

Автоматизация — это ведь просто инструмент. И если его безмозгло приложить к любому ПО, то это будет бардак.

То, что я называю “поставленные мозги” — это уровень профессионализма, когда тестировщик сначала думает, задает вопросы, оценивает, а потом уже тестирует.

Например, в отношение автоматического тестирования первый вопрос человека с поставленными мозгами: это “ЧТО, какие тесты нужно автоматизировать?”, а не “КАК это автоматизировать?”.

Если кандидат не подходит для автоматического тестирования, то вопрос КАК написать автоматические тесты уже не имеет значения. Вот, кстати, моя статья по автоматизации на ангельском, если кому интересно.

Таким образом, гибкость, изобретательность, нестандартное мышление и поставленные мозги — это истинные добродетели нашего брата-тестировщика.

Где ты сейчас, чем занимаешься, почему к этому пришел?

Уже полтора года я живу в Коста-Рике и одновременно веду несколько личных проектов: продаю закваски для кисломолочных продуктов (www.dokzak.ru), пишу книгу о Синдроме Дефицита Внимания, возвожу органическую ферму, воспитываю детей. Тут еще питбуль один неприкаянный прибился и стал жить на моей веранде. В общем, забот хватает.

Закат в Коста-Рике
Закат в Коста-Рике. Фото из семейного телефонного альбома Романа Савина

Возможно вернусь в Силиконку в 2016, хотя, конечно, не хотелось бы.

Я уехал из Долины по ряду причин, и, как в случае с отъездом из России, окружающие недоумевали зачем мне нужен переезд, если у меня всё в шоколаде.

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

Мой лайфстайл существенно пострадал в материальном плане, но выиграл в плане удовлетворения жизнью. Я потратил на Долину 15 лет, а это очень долгий срок, чтобы заниматься чем-то одним.

Для меня сейчас вырастить перцовое дерево гораздо приятнее, чем найти супер-дупер баг.

Прикольный поворот из тестирования к закваскам. Почему закваски? Случайность или закваски были мечтой детства, когда все вокруг хотели быть космонавтами? 🙂

Однажды я понял, что работа на дядю это не моё.

Во-первых, я не люблю боссов.

Во-вторых, работать на дядю мне не прикольно.

В-третьих, я видел, как относятся к рядовым сотрудникам даже в Силиконке: их кидают с премиями и опционами, их увольняют, не учитывая их семейную ситуацию, ими помыкают, зачастую к ним относятся без должного уважения — это касается не только таких раздолбаев как я, но и очень даже добросовестных людей.

Из любой ситуации, которая тебя не устраивает, есть 3 разумных выхода:

1. Смириться с ситуацией
2. Изменить её
3. Бежать

Большинство выбирают 4-й вариант, который является безумием, и который, к сожалению, является самым популярным — терпеть и не шебуршиться.

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

Но я четко знал, что мой бизнес должен отвечать двум критериям:

1. Работа, даже тяжелая, но в радость.
2. Продукт или сервис, должен соответствовать моим шатким, но всё-таки каким-никаким моральным критериям.

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

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

Оба критерия были соблюдены:

Во-первых, нам нравится этот бизнес. Мы работаем добросовестно и покупатели нам по-человечески признательны за наши честность и дружелюбие.

Во-вторых, мы верим в то, что делаем и кисломолочные продукты у нас дома едят все, включая собачку.

illsavin7В детстве, кстати, я мечтал стать геологом и, к сожалению, не стал, так как один человек убедил меня, что все геологи — это пьяницы и бродяги. В итоге, я стал тестировщиком, у которого есть и склонность к пивку с рыбкой и к перемене мест 🙂

К чему я это? К тому, что главное к чему мы должны стремиться в жизни — это знать себя. Если есть одна глыба мудрости сравнимая по значению со ВСЕЙ остальной мудростью, то это будет именно: “ЗНАЙ СЕБЯ”.

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

Я, например, зная себя, никогда бы не пошел в тестировщики, а выбрал либо свой бизнес, либо профессию, связанную с путешествиями.

Тестирование стало для меня способом пробиться, обрести себя, но призванием оно не стало. Я себя скорее всего еще не нашел и в этом нет ничего страшного — жизнь — это динамика и было бы скучно, если бы ответы на все главные вопросы были известны уже в молодости.

Так что, пока есть бизнес, который меня устраивает, завтра будет что-то другое. Главное — знать себя и, уловив суть — ломиться вперед, как носорог.

Сколько времени писалось Тестирование дот ком? Как ты решился писать книгу для тестировщиков и насколько сложно/легко это было?

Точно не помню, но вся работа заняла что-то в районе 2-х лет. Я много раз начинал и много раз бросал её.

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

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

Именно поэтому, “Тестирование Дот Ком” и последующий курс на английском “How to Become a Software Tester” основываются исключительно на живом опыте работы в современных софтверных компаниях.

Естественно, что я обобщил не только свой опыт, но и опыт моих коллег, взятый из общения с ними.

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

Проект получился. И хотя я не заработал ни копейки (гонорар был передан девочке Кристине на операцию), но все-таки емейлы с благодарностью за полученную работу и просто illsavin8осознание того, что в кругах тестировщиков тебя знают — это приятно.

Вот говорят, неудачи учат. Это так, но и успех учит не хуже. Могу поделиться одной мыслью для тех, кто колеблется о том, чтобы сделать шаг навстречу мечте:

Будете вы что-то делать или не будете ничего делать — все равно вас осудят, прокомментируют, выразят свое МНЕНИЕ. Как говорят американцы, у каждого человека обязательно есть две вещи: МНЕНИЕ и анус.

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

Поэтому не парьтесь, что о вас подумают окружающие. Есть желание эмигрировать — эмигрируйте. Есть желание сделать проект — сделайте. Есть желание пойти с девушкой в кино — зовите её в кино.

Жизнь она такая коротенькая, проходит быстро, а иногда — раз и оборвалась. Есть ли время думать о том, как другие оценят ваши начинания?

Книга — это систематизация. Как ты отметал нужное/ненужное и выбирал правильное для создания единой базы? На что ориентировался?

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

Много раз происходит вычитка. Это совершенно иной опыт по сравнению с чтением чужой книги. Чужая книга — это опыт и труд другого человека. Своя книга — это живая вибрирующая материя, плод твоих трудов, достижение твоей жизни.

Когда происходит именно такое соединение с текстом, то можно читать ту же страницу десятки раз и все равно чувствовать текст. Именно тогда возникает ощущение органичности или неорганичности некоторых мыслей, кусков, даже глав.

Иными словами, книга для меня — это симбиоз интуиции, труда, интеллекта и вдохновения.

Чем отличается курс “How to Become a Software Tester” от “Тестирование дот ком”?

Когда, вдруг, “Тестирование Дот Ком” (ТДК) выстрелило, то я задумался о том, чтобы создать английскую версию. Начал я перевод и чувствую, что уже накопилось полно нового материала и что я хочу многое переписать из ТДК. Начал работу и понимаю, что не хватает какого-то важного ингредиента, а именно — я все время говорю о практике, а все равно получается чтение в чистом виде, пусть даже читается легко и полно примеров.

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

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

illsavin9Я работал над “How to Become a Software Tester”, еще при этом умудряясь ходить на обычную работу. Когда я создал файл для типографии, то вышел на улицу и мне показалось, что сейчас сыграю в ящик — настолько меня истощил дикий замес графомании и программирования 🙂

Но и тогда и сейчас, я знаю, что работа удалась. Я считаю, что этот курс на английском — это одна из лучших вещей, написанных о тестировании. Учебник, связанный с тренировочным ПО (www.sharelane.com) реально работает. Люди получают места в софтверных компаниях или продвигаются по службе.

Учебник был опубликован в 2008 году. В 2014 я решил прекратить продажу бумажных копий и все выложил на сайте www.qatutor.com бесплатно. Но, поскольку, многие студенты лучше усваивают материал, держа в руках страницы с текстом, я скооперировался с Амазоном и через пару недель книга снова появится в продаже на www.qatutor.com.

Если ТДК была пробой пера, то “How to Become a Software Tester” — это уже полноценный курс тестирования.

Роман Савин с учениками
Тайная вечеря. Роман Савин с учениками

Проблема (не моя) заключается в том, что люди предпочитают отдать тысячу долларов за то, чтобы ходить в класс вместо того, чтобы бесплатно заниматься самим. Нам нужна некая авторитетная фигура, которая научит и вдохновит нас… Мне постоянно задают вопрос: а достаточно ли курса на английском для получения работы? Мой ответ — нет. Курс — это просто знания. Но знания — это не главное. Главное — это желание пробиться, некая отчаянность, драйв, порыв выпутаться из ограничений своей жизни.

Огромное спасибо, Роман, за твоё интервью! Radio QA желает тебе дальнейших успехов на твоём жизненном пути!

Желаю всем добра. С праздником, коллеги!