четверг, 7 октября 2010 г.

3 Роман Савин teстирование или Пособие по жестокому обращению с багами в интернет-стартапах

Х

Исполнение тестирования. Стадия 1: тестирование новых фича 259
Кстати, хорошая традиция — это устроить в конце подготовки к тести-
рованию (или начале исполнения тестирования) совещание, на кото-
ром каждый тестировщик, у которого есть новая фича, сделал бы ее
короткую, например на две минуты, презентацию. Таким образом мы
быстро и эффективно распространяем информацию о новых фича, так,
чтобы все были в курсе.
Вопрос: Как мы тестируем новые фича?
Ответ: Все очень просто: берем в зубы тест-кейсы и исполняем
их. Попутно заносим баги. Спорим с программистами о приори-
тетах этих багов. Закрываем эти баги. Одним словом, обычная
суета сует.
Это в общем-то все насчет стадии 1 исполнения тестирования, но,
поскольку нужно чем-то занять время, давайте поговорим о не-
скольких нужных вещах:
• Test Estimation (тест-смета).
• Entry/Exit Criteria (критерий начала/завершения).
• Test Plan (тест-план).
Test Estimation (тест-смета)
Как правило, в интернет-компаниях существует расписание рели-
зов. К этому расписанию привязано расписание тестирования (QA
Schedule), которое определяет сроки каждой стадии процесса тес-
тирования.
"Как правило" было употреблено из-за того, что в некоторых
компаниях такого понятия, как "Расписание", не существует в
принципе.
Итак, допустим, что
• на подготовку к тестированию дается две недели (10 ра-
бочих дней (80 часов) + 4 выходных дня (32 часа), которые
элементарно могут стать рабочими);
• на исполнение тестирования также дается две недели
(10 рабочих дней (80 часов) + 4 дня выходных дня (32 часа),
которые также элементарно могут стать рабочими),
т.е. у нас есть
две недели на написание тест-кейсов (и прочие подготови-
тельные мероприятия) и
260 Тестирование Дот Ком. Часть 3
две недели, в которые нужно уместить:
• тестирование новых фича по созданным тест-кейсам;
• регрессивное тестирование.
Проблема в том, что, как бы ударно мы ни работали, мы можем
выполнить лишь определенный объем работы и возникает кон-
фликт между
• лавиной новых фича, которые могут понадобиться для биз-
неса компании, и
• физическими возможностями продюсера, программиста и
тестировщика.
Чтобы уравновесить желаемое и реальное, используют сметы
(estimation).
Тестировщик готовит тест-смету (Test Estimation), которая вклю-
чает:
• предварительную оценку времени, необходимого на под-
готовку к тестированию;
• предварительную оценку времени, необходимого на тести-
рование новых фича.
Как тестировщик готовит тест-смету? Очень просто:
после того как написан спек, менеджер тестировщика просит по-
следнего прочитать этот спек и оценить, сколько времени займут
написание тест-кейсов по этому спеку и прочие подготовитель-
ные мероприятия и исполнение этих тест-кейсов. Тестировщик
читает спек, предметно общается с продюсером и программистом
и на основе полученной информации и своего опыта предостав-
ляет менеджеру два числа, являющиеся тест-сметой для данного
спека.
Пример
Для создания тест-сметы тестировщику был дан спек #1299 "Новые
функциональности поиска".
Тестировщик предоставил своему менеджеру следующее:
• потребуется 50 часов на написание тест-кейсов и 20 часов на
написание тест-тулов;
• потребуется 60 часов на исполнение этих тест-кейсов.
Таким образом, тестировщик полностью укладывается в график по
подготовке к тестированию (80 - 50-20 >0). Оставшиеся 10 часов
можно будет использовать для помощи своим коллегам и/или как ре-
Исполнение тестирования. Стадия 1: тестирование новых фича 261
зерв на случай, если оценка тестировщика была неверной и на подго-
товку в реальности потребуется больше времени.
Сложнее обстоит дело с исполнением тестирования. На регрессивное
тестирование остается только 20 часов (80 - 60). Будет ли этих 20 ча-
сов достаточно, чтобы закончить регрессивное тестирование в срок?
Это зависит от нескольких факторов, основные из них:
• значительность релиза, например: имело ли место серьезное
изменение архитектуры ПО? На сколько процентов изменилось
количество строк кода? Были ли добавлены новые критические
функциональности, интегрированные со старым кодом? и пр.;
• трудоемкость тест-комплектов, которые нужно исполнить для
регрессивного тестирования (подробно поговорим о нюансах
регрессивного тестирования через полчаса).
Ответ на последний вопрос ("будет ли достаточно 20 часов?"), как и
сам процесс уравновешивания потребностей бизнеса и возможностей
работников, — это епархия менеджмента, а мы люди простые, и наше
дело — дать предварительные оценки, по возможности приближенные
к недалекой реальности.
Итак, как создать тест-смету?
Сложность заключается в том, что тест-смета создается после
того, как прочитан спек, а между чтением спека и работой по не-
му такая же дистанция, как между теоретиком и практиком кун-
фу. Во время работы над спеком, т.е. создания по нему тест-
кейсов, открываются такие грани и нюансы, о существовании ко-
торых было трудно (если не невозможно) предположить во время
простого прочтения. Кроме того, всегда есть непредвиденные
обстоятельства, среди которых может быть, например, неприлич-
но большое количество блокирующих багов.
Кстати,
после того как тест-смета готова, рекомендую увеличить ее на 10%,
чтобы учесть такие непредвиденные обстоятельства.
Вот факторы, которые я рекомендую принять во внимание при
составлении сметы:
• предполагаемая сложность новых фича.
Чем они сложнее, тем больше нюансов всплывет при под-
готовке и исполнении и тем больше времени понадобится
на тестирование;
• есть ли у вас опыт тестирования похожих фича.
Например, если вы эксперт в тестировании оплаты, то для
вас будет проще и быстрее протестировать добавление
262 Тестирование Дот Ком. Часть 3
еще одного вида кредитной карточки по сравнению с
тестировщиком, который никогда кредитных карточек не
касался;
• опыт работы на прошлых проектах с теми же продюсе
ром и программистом.
Например, одни программисты пишут удивительно чистый
код, всегда проводят юнит-тестирование и с охотой
кооперируются с тестировщиками. Другие же бросают
куски кода в проект, как грязь на стену, считают юнит-
тестирование вещью, не подобающей для компьютерного
гения, и не склонны кооперироваться ни с кем, кроме
виртуальных солдат игры Halo. Следовательно, во втором
случае мы должны заложить больше времени на наше тес-
тирование;
• будет ли интеграция нашего ПО с ПО наших бизнес-парт
неров — вендоров (vendor),
например интеграция с ПО платежной системы. Тест-кон-
фигурация выглядит так: наша тест-машина "разговари-
вает" с их тест-машиной. Соответственно если что-то не в
порядке с их тест-машиной, то проблема решается слож-
нее, чем при локальном тестировании, когда вы заносите
баг и наш программист его ремонтирует. В случае с их
тест-машиной
• тестировщик связывается с менеджером проекта (с на-
шей стороны);
• последний должен позвонить вендору;
• человек со стороны вендора должен найти ответст-
венного программиста;
• ответственный программист может быть занят
• и т.д. и т.п.
В общем целая петрушка из-за того, что это другая ком-
пания и наши тестировщики не указ "их" программистам.
В случае с интеграцией нашего ПО с не нашим ПО оценка
должна принимать в расчет подобные задержки в решении
проблем, которые при такой интеграции бывают всегда;
• нужны ли тулы для автоматизации тест-кейсов?
Тест-тулы, как правило, создаются во время написания тест-
кейсов как средство для облегчения исполнения тест-кейса,
например:
Исполнение тестирования. Стадия 1: тестирование новых фича 263
• генерация данных (например, генерация номера тес-
тировочной кредитной карты),
• автоматизация всех либо части шагов,
• помощь в сравнении фактического и ожидаемого ре-
зультатов.
В одних случаях тестировщик может сам написать такой
тул, например, на языках Java или Python. В других
случаях написание тула в помощь тестировщи-кам — это
дело программиста.
Кстати,
в некоторых компаниях внутри департамента качества существую!
специальные отделы по созданию тест-тулов.
Вы должны подкорректировать тест-смету в зависимости от ва-
шей оценки того:
• сколько времени у вас займет создание (включая тестиро-
вание) такого тула (если тул создается вами, а не програм-
мистом);
• сколько времени этот тул сможет реально сэкономить во
время тестирования новых фича.
Итак, при составлении тест-сметы используем вышеперечислен-
ные факторы, слушаем свои опыт и интуицию и советуемся с
коллегами.
Упоминание о тест-тулах напомнило мне об одном предмете, который
особенно беспокоит сердца обучающихся тестированию, а именно
объеме компьютерных знаний.
Вот мое мнение: естественно, что наивно думать об устройстве тес-
тировщиком в интернет-компанию тому, кто не умеет пользоваться е-мейлом и веб-браузером и не знает разницы между принтером и
модемом.
Хорошая новость: на первую работу тестировщиком можно устроить-
ся, имея базовые компьютерные знания, которые есть у каждого, кто
пользовался компьютером и Интернетом больше одного месяца. Конечно, шансы трудоустройства существенно повышаются, если
у вас есть дополнительные к базовым знания (приведу конкретные рекомендации через минуту).
Давайте скажем "Спасибо" океану информации под названием "Ин-
тернет" за
264 Тестирование Дот Ком. Часть 3
• гигабайты бесплатного ПО, например компайлеры для C++ и
интерпретаторы Python;
• тысячи бесплатных курсов по компьютерным дисциплинам, на-
пример пособия по изучению языка SOL;
• интернет-форумы на любую тематику, где любой оболтус (вклю-
чая меня) может задать самый идиотский вопрос и получить
на него ответ; • веб-сайты, бродя по которым мы попутно становимся квалифи-
цированными пользователями Интернета;
• десятки других милых и полезных вещей.
Используйте ресурсы Интернета!!! В нем есть все, что вам нужно, что-
бы стать тестировщиком экстра-класса.
Вот список вещей, к которым я предлагаю хотя бы прикоснуться
перед поиском первой работы. Потратьте по крайней мере по 10 ча-
сов на каждое "прикосновение", причем не просто читайте теорию,
а работайте с соответствующим ПО (или на соответствующем ПО),
например:
• в случае с UNIX исполняйте команды, например команду "mkdir",
для создания директории или
• пишите код на Python.
1. HTML. Основной язык веб-страниц. Веб-учебник (web tutorial)
на английском языке и программа для симуляции может быть найдена здесь: http://www.w3schools.com. Изучите базовые теги
(tag).
2. SQL. Язык баз данных. Веб-учебник на английском языке можно
найти здесь: http://www.w3schools.com. Разберитесь с синтакси-
сом следующих видов запросов (statements):
CREATE TABLE;
ALTER TABLE;
DROP TABLE;
INSERT INTO;
UPDATE;
DELETE;
SELECT.
Скачайте и установите на ваш компьютер базу данных MySQL
(http://www.mysql.com/).
3. Python. Веб-учебники на английском языке и установочную про-
грамму для интерпретатора можно найти на http://www.python.org.
Возьмите самый простой учебник и ощутите всю прелесть просто-
ты и доступности моего любимого языка программирования.
4. UNIX. Вот наипростейший веб-учебник:
http://www.math.utah.edu/lab/unix/unix-tutorial.html. Симулятор UNIX
для Виндоуз-машин можно скачать здесь: http://www.cygwin.com.
Исполнение тестирования. Стадия I: тестирование новых фича 265
5. C++. Веб-учебник может быть найден здесь:
http://www.cplusplus.com/doc/tutorial. Напишите несколько про-
грамм, скомпилируйте их, откройте в текстовом редакторе файлы-
источники (source file), скомпилированные файлы (bytecode file)
и ощутите разницу. Компайлер дсс является частью симулятора
CygWin, которую вы установите при знакомстве с UNIX.
Естественно, что мои пояснения о том, ЧТО изучить для каждого из
вышеуказанных 5 предметов, — это минимум для того, чтобы иметь
элементарное представление, но даже такой минимум — это ваш ко- зырь. Очень рекомендую. То, что сейчас кажется вам сложным и запу-
танным, будет доступным и понятным завтра. Нужно только иметь
терпение и приложить немного усилий.
После того как вы найдете работу, специфика ваших технических зна-
ний будет во многом определяться технологиями, используемыми в
вашей интернет-компании (например, операционная система маши-
ны для пользователей, языки программирования, вид базы данных).
Некоторые из тех, кто начал работать тестировщиком на черноящич-
ном тестировании, распробовали знания из смежных специальностей
(например, администрация баз данных) и переместились туда;
некоторые выбрали себе узкую специализацию внутри департамента
качества, например написание тест-тулов; некоторые продолжают с удовольствием для себя и пользователей
заниматься черноящичным тестированием или же перешли к серо-
ящичным или белоящичным делам — к чему лежит душа.
Но чтобы найти в итоге свою нишу, нужно искать, а лучший по-
иск — это изучение новых вещей.
Одна из прелестей нашей профессии заключается в том, что
тестировщик соприкасается с множеством вещей как техниче-
ского (язык программирования), так и нетехнического свойства (менеджмент проекта), так что вам и карты в руки — разбери-
тесь на месте, что вам больше нравится, и приложите усилия,
чтобы в итоге заниматься именно этим. Шансы велики, что это будет именно тестирование.
Entry/Exit Criteria
(критерий начала/завершения)
Все очень просто.
Entry Criteria (условие старта) — это условие для начала чего-
либо.
Exit Criteria (условие завершения) — это условие для завершения
чего-либо.
266 Тестирование Дот Ком. Часть 3
Каждый из двух этапов тестирования имеет свои условия старта и
условия завершения.
Например
Условие старта для подготовки к тестированию: все спеки должны быть
заморожены.
Условие завершения подготовки к тестированию: тест-кейсы и прочие
подготовительные мероприятия написаны и закончены.
Условие старта для исполнения тестирования: код заморожен.
Условие завершения исполнения тестирования: тестирование новых
функциональностей и регрессивное тестирование завершено, нет от-
крытых П1 и П2 багов.
Test Plan (тест-план)
Вопрос: Почему мы не поговорили о тест-планах при нашей бе-
седе о тест-кейсах и тест-комплектах? Ответ: Я не хотел
забивать вам головы.
Вопрос: Тогда почему вы их забиваете сейчас?
Ответ: Потому что с теми знаниями, которые у вас уже есть, вам
будет проще понять этот материал.
Итак, приступим.
Что такое тест-план? Если вы спросите тестировщиков разных
компаний о том, что идет под именем "тест-план" в их компа-
ниях, то ответ часто будет варьироваться:
• иногда тест-планом называют тест-комплект,
• в других случаях тест-планом называют пару мыслей о тес-
тировании, набросанных на полях журнала "Playboy",
• в третьих случаях тест-планом называют текстовый доку-
мент, содержащий выдержки из спека, глядя на которые и
проводится тестирование (такое тоже бывает сплошь и рядом),
• есть еще и четвертые, и пятые случаи.
Вот концептуальная вещь:
• тест-кейс нужен для сравнения фактического результа-
та с ожидаемым результатом;
• тест-комплект — это логическая оболочка для хране-
ния тест-кейсов;
• тест-план — это документ, обобщающий и координи-
рующий тестирование.
Исполнение тестирования. Стадия 1: тестирование новых фича 267
Я обычно ограничиваюсь тест-комплектами и создаю тест-план,
если возглавляю проект с участием других тестировщиков.
Давайте рассмотрим элементы, которые вы можете использовать
в тест-планах.
Кстати, вовсе не обязательно использовать все элементы:
1. Вы можете взять элементы (и/или идеи из них) и интегрировать их
в свои тест-комплекты;
2. Вы можете использовать тест-план в усеченном виде.
Итак...
ЭЛЕМЕНТЫ ТЕСТ-ПЛАНА
1. Название тест-плана, имя автора и номер версии.
Например
«Тест-план проекта "Новые алгоритмы для поиска"». Автор Т. Чере-
мушкин. Версия 2.
2. Оглавление с разделами тест-плана:
Например
Введение стр. 2 Документация с требованиями к ПО стр. 3 и
т. д.
3. Введение, в котором мы приводим информацию о сути и исто-
рии тестируемого проекта.
4. Документация с требованиями к ПО — здесь мы перечис-
ляем имена, номера и приоритеты спеков и/или другой докумен-
тации, определяющей тестируемые фича.
5. Фича, которые будут тестироваться, перечисляем и, если
нужно, комментируем. Каждой фича назначается приоритет.
6. Фича, которые НЕ будут тестироваться, перечисляем и объ-
ясняем, почему НЕ будут тестироваться.
Например,
частью спека #9172 "Улучшение безопасности платежных транзакций"
являются требования к скорости работы веб-сайта (performance). До-
пустим, у нас нет ни специалиста, ни ПО для тестирования скорости
работы, и если мы не собираемся их нанять и приобрести, то указываем,
что перформанс тестироваться не будет, так как нет ресурсов.
268 Тестирование Дот Ком. Часть 3
7. Объем тестирования — виды тестирования, которые мы бу-
дем проводить, и разъяснения к ним.
Например
"Системное тестирование будет исполняться для проверки всего флоу
оплаты, начиная от добавления книги в корзину и заканчивая про-
веркой значений базы данных и подтверждением от тест-машины
вендора".
8. Тест-документация — перечисление тест-документации, ко-
торая должна быть создана для данного проекта
Например
"Тест-комплект по тестированию опека #1288.
Тест-комплект по тестированию спека #3411".
9. Тест-тулы — функциональности тест-тулов, которые должны
быть созданы для тестирования проекта.
10. Критерий начала/завершения — те самые критерии, о кото
рых мы говорили минуту назад:
• критерий начала подготовки к тестированию;
• критерий завершения подготовки к тестированию;
• критерий начала исполнения тестирования;
• критерий завершения исполнения тестирования.
11. Допущения — список допущений, которые мы сделали при
составлении данного тест-плана и которые сделаем при тестиро
вании.
Например,
мы допускаем (предполагаем), что код будет заморожен в срок, без
задержки.
12. Зависимости — список вещей (с пояснениями), от которых
зависит та или иная часть тестирования.
Например,
покупка новых тест-машин,
лицензия на осуществление платежных операций на территории Вели-
кобритании.
13. "Железо" и ПО — список и конфигурации "железа" и ПО,
которые будут использоваться при тестировании.
Исполнение тестирования. Стадия 1: тестирование новых фача 269
14. Условия приостановки/возобновления тестирования — это
условия, при которых тестирование должно быть остановлено/
продолжено.
Например,
к условию приостановки можно отнести количество П1 багов, при ко-
тором (и/или после которого), по мнению автора (-ров) тест-плана,
дальнейшее продолжение тестирования не имеет смысла (например,
7 П1). Соответственно условием возобновления должно быть количе-
ство оставшихся П1 багов (после ремонта и регрессивного тестирова-
ния), которое позволяет возобновить тестирование (например, 2 П1).
15. Ответственные лица — подробный список товарищей (про-
дюсеров, программистов, тестировщиков и пр.), контактная ин-
формация и обязанности каждого из них. Такой список может
включать лиц со стороны вендора.
16. Тренинг — тренинг, необходимый для данного проекта.
Например,
при соответствующей ситуации нужно указать, что для создания тест-
кейсов тестировщику необходимо прослушать семинар "Банковская
система США".
17. Расписание — сроки, имеющие отношение к тестированию
данного проекта:
• дата замораживания спеков;
• дата начала подготовки к тестированию;
• дата завершения подготовки к тестированию;
• дата интеграции и замораживания кода;
• дата начала тестирования новых фича;
• дата завершения тестирования новых фича;
• дата начала регрессивного тестирования;
• дата завершения регрессивного тестирования.
18. Оценка риска — предположение о том, как и что может пой
ти по неправильному пути и что мы в этом случае предпримем.
Например,
если мы не успеваем закончить тестирование (не выполняем требова-
ние "Условия завершения", например, "все тест-кейсы исполнены") в
срок, то придется задерживаться на работе и приходить в офис в вы-
ходные и праздники.
Кстати, если народ приходит в выходные и праздники, то компания
должна, по крайней мере, кормить его обедом.
270 Тестирование Дот Ком. Часть 3
19. Прочие положения — вещи, не вошедшие в тест-план, о ко-
торых неплохо было бы упомянуть.
20. Утверждения — это подписи лиц, которые утвердили тест-
план. Чем больше будет таких подписей, тем лучше. По крайней
мере, нужны подписи менеджера тестировщика, составившего
план, самого тестировщика, продюсера и программиста.
21. Приложения — например, расшифровка терминов и аббре-
виатур, используемых в тест-плане.
Это все о тест-планах и о первой стадии исполнения тестирова-
ния.
ИСПОЛНЕНИЕ ТЕСТИРОВАНИЯ.
СТАДИЯ 2:
РЕГРЕССИВНОЕ ТЕСТИРОВАНИЕ
• ВЫБОР ТЕСТ-КОМПЛЕКТОВ ДЛЯ РЕГРЕССИВНОГО
ТЕСТИРОВАНИЯ
• РЕШЕНИЕ ПРОБЛЕМЫ ПРОТИВОРЕЧИЯ
егрессивное тестирование как второй этап исполнения тес-
тирования — это проверка того, что изменения, сделан-
ные в ПО (для того, чтобы мир увидел новые фича), не поло-
мали старые фича.
Допустим, у нас есть 5 тест-комплектов с тест-кейсами для новых
фича, а также 21 тест-комплект с тест-кейсами для старых фича.
Ситуация эта рождает как минимум два вопроса:
1. Какие из этих 21 тест-комплекта выбрать, чтобы:
• проверить именно те части ПО, которые могли быть по-
ломаны?
• уложиться в срок, выделенный для регрессивного тести-
рования (например, 5 рабочих дней + два выходных дня,
которые вполне могут стать рабочими)?
2. Что делать с регрессивным тестированием дальше, ко
гда после релиза к 21 тест-комплекту прибавятся еще 5
(тест-комплекты, которые проверяли новые фича, прим
кнут к остальным тест-комплектам и станут кандидатами
для регрессивного тестирования) и еще, скажем, 10 после
следующего релиза и т.д. (постоянно нарастающий снеж
ный ком)?
271
Р

Исполнение тестирования. Стадия 2: регрессивное тестирование 273
Итак, две темы:
1. Выбор тест-комплектов для регрессивного тестирования.
2. Решение проблемы противоречия между ограничен-
ными ресурсами (например, время на регрессивное тес-
тирование) и перманентно увеличивающимся количест-
вом тест-комплектов.
Кстати, как обычно, я излагаю личное видение предмета. В разных
компаниях поступают по-разному, но, после того как вы поймете, что я
вам расскажу, вы сможете немедленно адаптировать свои знания к ре-
альности компании, в которой будете работать.
Выбор тест-комплектов
для регрессивного тестирования
Первый вопрос: "Как узнать, какие части ПО могут быть поломаны?"
С одной стороны, как мы уже не раз говорили, в сложной системе,
которой является более или менее серьезный веб-сайт, во многих
случаях сверхсложно определить, где и как откликнется измене-
ние кода, с другой — мы все-таки можем предполагать:
• к какой части ПО принадлежат новые фича (например,
фича из спека #5419 "Новые функциональности для Кор-
зины" принадлежат к "Корзине") и
• какие старые фича напрямую зависят от части ПО с
новыми фича (например, компонент "Оплата" использует
данные (по ценам книг), которые передаются ей компонен-
том "Корзины").
Решение следующее:
Первой группой кандидатов для регрессивного тестирования у
нас будут тест-комплекты, проверяющие часть ПО, к которой
принадлежат новые фича.
Например,
при новых фича для "Корзины" в первую группу идут все тест-комплек-
ты, непосредственно тестирующие "Корзину".
Рациональное объяснение:
если программист напортачил с кодом, то фича, тестируемые тест-
комплектами первой группы, будут поломаны скорее всего, так
как являются частью ПО с измененным кодом.
274 Тестирование Дот Ком. Часть 3
Второй группой кандидатов для регрессивного тестирования у
нас будут тест-комплекты, проверяющие старые фича, которые
зависят от части ПО с новыми фича.
Например,
при новых фича для "Корзины" во вторую группу мы можем отнести
тест-комплекты, проверяющие "Оплату".
Рациональное объяснение:
если даже программист НЕ сломал ничего, есть большая вероят-
ность того, что код фича, напрямую зависящей от измененной
части ПО, также нуждается в модификации (о необходимости ко-
торой и продюсер, и программист могли просто... забыть).
Например, при изменениях в коде "Корзины" был легитимно (согласно
спеку) изменен формат куки (cookie — файл с информацией о вашем
заказе, хранящийся на вашем компьютере и используемый веб-сер-
вером). Часть же ПО, которая заведует "Оплатой", не была модифи-
цирована (или была модифицирована неверно), и она (эта часть ПО)
просто не понимает новый формат куки, а следовательно, купить книгу
не представляется возможным.
Есть и третья группа, к которой мы подберемся чуть позднее.
Пока же допустим, что группы только две.
Проиллюстрируем:
Группа Номер тест-комплекта
1 #XS1111
#TS1222
#TS1333
2 #TS2444
#TS2555
#TS2777
#TS2888
#TS2999
Теперь вопрос второй: "Как уложиться в срок, выделенный для
регрессивного тестирования?"
Допустим, что у нас есть два тестировщика и неделя времени, т.е.
80 человеко-часов (112 — с выходными, 336 — без сна и отдыха).
Вопрос: Сможем ли мы исполнить все 8 тест-комплектов за эти
80 часов?
Исполнение тестирования. Стадия 2: регрессивное тестирование 275
Ответ: Очевидно, что для этого нужно знать, сколько времени
занимает исполнение каждого из этих тест-комплектов.
Вопрос: Как это узнать?
Ответ: Каждая компания делает по-своему. В одних компаниях
есть специальные механизмы трэкинга времени, потраченного на
исполнение каждого из тест-комплектов (иногда даже считается
время на исполнение каждого тест-кейса), в других после каждо-
го исполнения тестировщик указывает время исполнения в шапке
тест-комплекта. В общем разные бывают варианты, но суть в том,
что необходимо хотя бы примерно знать, сколько времени зани-
мает исполнение каждого тест-комплекта.
"Примерно" — потому что исполнение тест-комплекта может
варьироваться в зависимости, например, от того, кто его испол-
няет (хотя есть и другие факторы). На практике, особенно в слу-
чаях со сложными и трудоемкими тест-комплектами, быстрее
справляется с задачей тот, кто уже однажды исполняв данный
конкретный тест-комплект.
Допустим, что мы знаем, сколько времени занимает исполнение
каждого тест-комплекта.
Оговорка: в реальной жизни исполнение тест-комплектов, как
правило, занимает гораздо меньше времени, чем в примере ниже,
но нам нужна наглядность.
Группа Номер тест-комплекта Время на исполнение
(в часах)
1 #TS1111 10
#TS1222 15
#TS1333 17
2 #TS2444 18
#TS2555 12
#TS2777 14
#TS2888 26
#TS2999 19
Итого, 131 час, что больше запланированных 80, и даже если мы
будем работать в выходные, то не хватает 19 часов (131 - 112).
Эти 19 часов могут быть, например, распределены на работу в
сверхурочное время: примерно 2 часа 40 минут плюс к нашим
276 Тестирование Дот Ком. Часть 3
восьми часам семь раз в неделю (19:7). Кстати, так и поступают
во многих стартапах.
Но допустим, что наш www.testshop.rs не относится к этим мно-
гим и славится человечным отношением к своим работникам.
Итак, нам, гуманистам, не хватает 51 часа (131- 80) для исполне-
ния регрессивного тестирования. Что можно сделать? Среди прочих
вещей, таких, как заимствование сотрудников из других отделов,
можно сделать следующее: у нас есть приоритет каждого из тест-
комплектов. Так давайте же исполним самые приоритетные из них!
Группа Номер тест-комплекта Время на исполнение
(в часах)
Приоритет
1 #TS1111 10 1
#TS1222 15 3
#TS1333 17 4
2 #TS2444 18 4
#TS2555 12 2
#TS2777 14 1
#TS2888 26 3
#TS2999 19 2
Если мы исполним тест-комплекты
• только 1-го приоритета, то регрессивное тестирование возь-
мет 24 часа (10+ 14);
• только 1-го и 2-го, то — 55 часов (24 + 12 + 19);
• только 1, 2 и 3-го, то — 96 часов (55 + +5 + 26), это нам не
подходит.
Итак, мы исполняем тест-комплекты 1-го и 2-го приоритетов.
Оставшиеся 25 часов (80 - 55) можно отдать на исполнение, на-
пример:
• спека #1222 (15 часов), либо
• спека #2888 (26 часов), либо
• исполнить наиболее приоритетные тест-кейсы из обоих этих
тест-комплектов (самая лучшая идея).
Концепция, думаю, понятна.
Кстати,
определение списка тест-комплектов для регрессивного тестирования —
это, как правило, прерогатива менеджмента.
Исполнение тестирования. Стадия 2: регрессивное тестирование 277
Теперь о третьей группе.
Как правило, большая часть тест-комплектов не входит ни в пер-
вую, ни во вторую группы. Но они тоже нуждаются в регрессив-
ном тестировании, так как изменение ПО может каким-то обра-
зом повлиять и на каждую из них, здесь, как говорится, никто не
застрахован. Для того чтобы затронуть все тест-комплекты, для
регрессивного тестирования каждого релиза в порядке очереди
выделяется по несколько тест-комплектов с расчетом, чтобы все
существующие тест-комплекты были исполнены хотя бы один
раз в определенный период, например в полгода. При недостат-
ке времени для исполнения тест-комплектов из группы 3 ре-
комендую исполнять лишь самые приоритетные тест-кейсы
каждого тест-комплекта, выбранного для исполнения при регрес-
сивном тестировании данного релиза.
Например, если у нас есть 45 тест-комплектов и один релиз в месяц,
то, если исполнять по 15 тест-комплектов каждый релиз, за 3 месяца
можно исполнить их все.
Решение проблемы противоречия
Проблема противоречия между ограниченными ресурсами (напри-
мер, время на регрессивное тестирование) и постоянно растущим
количеством тест-комплектов решается следующими способами:
а. Приоритезация тест-комплектов и тест-кейсов.
б. Оптимизация тест-комплектов.
в. Наем новых тестировщиков.
г. Автоматизация регрессивного тестирования.
а. О пользе приоритезации мы уже говорили. Странно, но во мно
гих компаниях предпочитают изматывать людей, вместо того
чтобы приоритезировать тест-комплекты и тест-кейсы и испол
нять лишь те из них, которые реально важны.
б. Оптимизация тест-комплектов. Многие старые тест-комплекты
могут быть оптимизированы в смысле
• уменьшения количества тест-кейсов и/или
• упрощения исполнения тест-кейсов.
Часто имеет смысл пересмотреть, КАК происходит тестирование
в старых тест-комплектах: может быть, некоторые из тест-кейсов
уже устарели и/или были написаны тулы для упрощения работы
некоторых из них и пр.
278 Тестирование Дот Ком. Часть 3
в. Когда денег много, а ума мало, прибегают к массированному
найму новых тестировщиков, что, конечно, лишь отодвинет реше
ние проблемы, но не решит ее, так как нельзя бесконечно нани
мать людей. Я против массированного найма (иногда нанимаются
десятки!!! тестировщиков в год) и считаю, что интернет-компании
нужен департамент качества, состоящий из немногочисленной
группы профессиональных высокооплачиваемых специалистов,
которые будут решать проблему регрессивного тестирования
подходами а, б и г.
г. Автоматизации регрессивного тестирования посвящено мно
жество монографий. Я же просто введу вас в курс дела.
Итак, в проекте www.testshop.rs скопилось, например, 78 тест-
комплектов, которые нужно как-то исполнять при регрессивном
тестировании, причем это количество постоянно увеличивает-
ся. Так как у нас нет спеца по автоматизации тестирования, то
мы такого спеца нанимаем. Например, это будет г-н Говорков.
Созывается совещание тестировщиков, и менеджер представ-
ляет г-на Говоркова в роли, примерно, мессии, который решит
все наши проблемы с регрессивным тестированием. Когда слово
предоставляется самому г-ну Говоркову, то его речь сводится к
следующему: "Ща я вам тут все заавтоматизирую!" Тратится
несколько тысяч (нередко десятки тысяч) долларов на покупку
программы для автоматизации тестирования Silk Test (произво-
дитель — компания Segue), и автоматизация начинается.
Через неделю происходит первая демонстрация: запускается
автоматический скрипт и начинается магия:
подпрограмма силк-теста — агент открывает окно браузера,
вводит имя пользователя и пароль, нажимает на кнопку "Вход ",
совершает покупку и оплату и сравнивает фактический резуль-
тат с ожидаемым. Все в полном восторге, ведь очевидно, что
через пару месяцев все тест-комплекты будут автоматизиро-
ваны и, вместо того чтобы работать в поте лица в выходные,
мы просто запускаем в пятницу автоматический скрипт силк-
теста, а в понедельник видим результат исполнения каждого
автоматизированного тест-кейса. Одним словом —лепота!
Однако когда во время регрессивного тестирования следующего ре-
лиза мы просим г-на Говоркова запустить автоматические скрип-
ты для тест-комплектов, которые он уже "заавтоматизироват",
выясняется, что его автоскрипты не работают из-за того, что ин-
терфейс веб-сайта был в нескольких местах незначительно изменен.
Исполнение тестирования. Стадия 2: регрессивное тестирование 279
Например, в автоскрипте может быть инструкция о нажатии
кнопки "Вход " на такой-то странице, и если агент, исполняющий
автоскрипт, не "видит" кнопки с именно таким названием, то
генерируется ошибка и исполнение тест-кейса прерывается.
Г-н Говорков, говорит "фигня вопрос ", тратит на починку скрип-
тов пару недель и в последний день регрессивного тестирования
его автоскрипты все-таки исполняют пару из 10 автоматизи-
рованных им тест-комплектов. В следующий релиз все повторя-
ется заново, и в итоге менеджер решает уволить г-на Говоркова
и взять на его место обыкновенного черноящичного тестиров-
щика — будет дешевле и эффективнее.
Я ничуть не утрирую. Подобные ситуации происходят в боль-
шинстве случаев после принятия компанией решения об автома-
тизации регрессивного тестирования.
Почему так происходит?
Автоматизация регрессивного тестирования заключается в соз-
дании целой тестировочной инфраструктуры с библиотеками
кода, базами данных, системами отчетности и прочими вещами.
Создание такой инфраструктуры — дело очень и очень непростое.
Иногда менеджмент, желая получить результат быстро и любой це-
ной, давит на спеца по автоматизации, и даже если последний добро-
совестно создает инфраструктуру для автоматизации, то он это дело
бросает и абы как автоматизирует максимальное количество тест-
комплектов, для того чтобы менеджмент мог отчитаться перед выше-
стоящим менеджментом: "За первый квартач 2005 года было авто-
матизировано 12 тест-комплектов, содержащих 174 тест-кейса".
Конечно, все эти автоскрипты не будут вскоре функционировать
без трудоемкой поддержки, но кого это волнует? Начальство до-
вольно, и, значит, все "Хоккей".
Но допустим, что менеджмент все понимает и дает карт-бланш
на создание Инфраструктуры с большой буквы "Ай".
ПО — это живое существо. Оно постоянно меняется, и авто-
матизация, связанная с ПО, должна соответственно меняться
одновременно с ним. Таким образом, только поддержание (maintenance)
существующих автоскриптов — задача, требующая боль-
ших профессиональных усилий, не говоря уже о написании но-
вых автоскриптов.
280 Тестирование Дот Ком. Часть 3
Я предлагаю очень простой подход к определению эффективно-
сти автоматизированного регрессивного тестирования. Посмот-
рите, сколько багов было найдено при автоматизированном тес-
тировании за все время использования автоскриптов, разделите
общие затраты на автоматизацию на количество багов — резуль-
татом будет стоимость нахождения одного бага. Сделайте то же
вычисление для того же отрезка времени, но для ручного тести-
рования и сравните. В 90% случаев стоимость бага, найденного
автоскриптом, будет в несколько раз превышать стоимость бага,
найденного вручную. И очень большой шанс, что вы подумаете:
а зачем вообще нужна ТАКАЯ автоматизация?..
Кстати,
так всегда получается, что в процессе автоматизирования находят
больше багов, чем при исполнении автоматизации.
Советую также сравнить время, потраченное на автоматизацию
(и ее поддержку) для некого тест-комплекта, с временем на исполне-
ние этого же тест-комплекта вручную. Гарантирую, что результаты
удивят, в смысле неприятно удивят, и не в пользу автоматизации.
Таким образом, наиважнейшее значение приобретает профессио-
нализм специалиста по автоматизации.
Профессионализм такого спеца заключается не только в его про-
граммистских навыках, но и в том, как четко он представляет:
• ЧТО автоматизировать и
• КАК автоматизировать.
ЧТО:
Лучший кандидат для автоматизации — это тест-кейс для тести-
рования старой, устоявшейся фича. Автоматизируя его, мы, по
крайней мере, можем быть уверены, что автоскрипт не нужно
будет переписывать из-за изменения фича и соответственно из-
менения тест-кейса к ней.
Нет более бессмысленной идеи, чем автоматизировать регрес-
сивное тестирование для фича, которые только что были выпу-
щены на машину для пользователей.
Один мой друг сравнивает фича с человеком: если это ребенок, то
он постоянно меняется; если же он взрослый, то изменений в нем
намного меньше и сами изменения менее радикальны — сравните
Исполнение тестирования. Стадия 2: регрессивное тестирование 281
того же ребенка, когда ему 6 и 12 лет; и теперь взрослого, когда
ему 42 и 48 лет. Идея, я думаю, понятна.
Чем меньше будет изменений в фича, тестирование которой ав-
томатизировано, тем меньше времени будет затрачено на под-
держку. Поддержка же порой превращается в кошмар
• с чередой красноглазых бессонных ночей перед монитором,
• с горьким пониманием того, что все было сделано непра-
вильно, и
• со сладостным искушением все бросить и поехать с Лелей
в Ялту.
КАК:
Это создание инфраструктуры, позволяющей с легкостью и про-
стотой
• поддерживать существующие автоскрипты;
• создавать новые автоскрипты.
Инфраструктура автоматизации регрессивного тестирования должна
• с одной стороны, быть образцом программистского мас-
терства;
• с другой — воплощать наиболее эффективные подходы
к автоматизации, возможные при данном ПО для автома-
тизации (например, силк-тесте);
• с третьей — учитывать нюансы технологий именно этой
интернет-компании.
В заключение нашего краткого разговора об автоматизации рег-
рессивного тестирования я хочу открыть вам одну истину:
Суровая правда жизни заключается в том, что 100%-я авто-
матизация регрессивного тестирования сколько-нибудь серь-
езного веб-проекта — это миф.
Интернет-компании выбрасывают сотни тысяч долларов, чтобы
убедиться, что это миф.
Если ваша компания решила заняться автоматизацией рег-
рессивного тестирования, нужно потратить столько времени,
сколько нужно, чтобы найти настоящего профессионала, а
найдя его, дать ему дышать и не ожидать, что 100% тест-ком-
плектов когда-либо будут автоматизированы.
Это все о решении основной проблемы регрессивного тестирования.
282 Тестирование Дот Ком. Часть 3
Хорошая идея — это предусмотреть окончание регрессивного
тестирования за 2—3 дня до релиза:
• с одной стороны, у нас будет в запасе 2—3 дня, которые мы
можем использовать для завершения регрессивного тести-
рования, если наша оценка того, сколько дней оно займет,
была неверна.
• с другой — эти 2—3 дня можно потратить на тест-сдачи,
распределив между тестировщиками части ПО.
А дальше идет релиз...
Краткое подведение итогов
1. Тест-смета необходима для приведения к одному знаменателю
потребностей компании и возможностей тестировщиков.
2. Каждый этап тестирования начинается/заканчивается при на-
ступлении условия начала/завершения.
3. Тест-план — это документ, обобщающий и координирующий
тестирование.
4. Приоритезация тест-комплектов и тест-кейсов имеет наиважней-
шее значение, так как в условиях постоянного дефицита ресурсов
у нас, как правило, есть время только на проверку главного.
5. Из всех способов решения проблемы асинхронизации ресурсов и
объема регрессивного тестирования наем новых людей самый
простой и недалекий.
6. Лучше хороший черноящичный тестировщик, чем один или боль-
ше плохих инженеров по автоматизации регрессивного тести-
рования.
Вопросы и задания для самопроверки
1. Какие факторы стоит принять в расчет при создании тест-сметы?
2. Приведите пример условия начала и условия завершения для
исполнения тестирования.
3. Каково концептуальное отличие тест-плана от тест-кейса и тест-
комплекта?
4. На основании чего мы выбираем тест-комплекты первой группы?
Почему?
5. На основании чего мы выбираем тест-комплекты второй группы?
Почему?
6. Что, на ваш взгляд, более приоритетно: тест-комплекты первой
или второй группы?
7. Какие последствия для компании влечет неграмотная автомати-
зация регрессивного тестирования?

ЧАСТЬ 4
• КАК УСТРОИТЬСЯ
НА ПЕРВУЮ РАБОТУ?

КАК УСТРОИТЬСЯ НА
ПЕРВУЮ РАБОТУ
• МЕНТАЛЬНЫЙ НАСТРОЙ
• ЭТАПЫ ПОИСКА ПЕРВОЙ РАБОТЫ ТЕСТИРОВЩИКОМ
СОСТАВЛЕНИЕ РЕЗЮМЕ
РАБОТА С АГЕНТСТВОМ ПО ТРУДОУСТРОЙСТВУ
КОМПАНИЯ ПО РЕКЛАМЕ СЕБЯ
ИНТЕРВЬЮ
• ИСТОРИЯ ОБ ОЛЕ И ДЖОРДЖЕ
очему устроиться на первую работу так сложно? Ответ прост —
интернет-компании нужен человек, который в минимальное
время включился бы в ситуацию и начал приносить плоды, т.е. баги.
Элементарная логика подсказывает, что все, кто работает в каче-
стве наемного работника, однажды все-таки устроились на свою
первую работу, а следовательно, это задача выполнимая.
Перед тем как описать стандартный букет, состоящий из писем рабо-
тодателю, резюме, интервью и прочего, я хочу рассказать о главном.
Ментальный настрой
Главным является ваше отношение к потенциальной первой
работе.
Итак, без прелюдий:
Вы должны искренне хотеть работать.
Вы должны быть готовы работать нелимитированные часы.
Вы должны быть готовы работать в выходные и праздники.
Вы должны быть готовы работать... бесплатно.
285
П
286 Тестирование             Дот Ком. Часть 4
Если вы сможете принять эти советы как истину, то я на 90% га-
рантирую, что в течение 3 месяцев вы найдете себе первую работу
в качестве тестировщика в любом месте Вселенной, где есть хотя
бы одна интернет-компания. 10% я оставил себе в качестве
аргумента для защиты от обвинений.
Отвлечемся от всего вышесказанного.
Допустим, вам нужен домашний работник, чтобы подметать,
готовить, стирать, гладить и выгуливать. Как бы вы отреаги-
ровали на предложение, чтобы все эти услуги предоставлялись
вам за ЛЮБУЮ сумму, которую вы сами назначите, работник
горел искренним желанием видеть ваш пол блестящим, как глаза
восточной красавицы, его можно было вызвать в любое время
дня и ночи, работа была бы сделана добросовестно, и все это за
то, чтобы дать ему... небольшой кредит на ошибку, так как он
хорошо знает, как исполнить все требуемое от него, но в
теории? Добавьте к этому, что вы сделаете доброе и
благородное дело, дав своему брату возможность получить
опыт работы, который сможет его кормить всю жизнь. Я
такого работника взял бы и даже научил готовить утку по-
пекински.
Далее.
Представьте себе, что он проработан у вас какое-то время,
всему научился и стал конкурентоспособен на жестоком рынке
услуг. Если вы им бесконечно довольны, станете ли вы полноцен-
но платить ему как профессионалу, чтобы оставить его у себя,
или же будете искать равноценного профессионала на стороне?
Я ничего не понимаю в домашнем хозяйстве, если кто-то смо-
жет всерьез утверждать, что лучше найти кого-то на стороне.
На худой конец, даже если бы моя ситуация изменилась и
начисто отпала потребность в услугах, то я дал бы этому
изумительно трудолюбивому и бескорыстному человеку лучшие
рекомендации.
Вы скажете, что так не бывает, чтобы кто-то на самом деле рабо-
тал на совесть и при этом не получал высокую заработную плату.
Могу вас заверить, что так же думают менеджеры, которые и на-
нимают нашего брата-тестировщика. Дело в том, что им, так же
как и вам, никто никогда не предлагал добросовестно и нели-
митированно работать почти исключительно за получение опыта.
Как устроиться на первую работу 287
И они, так же как и вы, откликнутся на то, чтобы помочь и вам, и
в первую очередь себе. Так возьмите и предложите им такой
вариант. Как это сделать, мы обсудим через минуту.
Этапы поиска первой работы
тестировщиком
Итак, теперь поговорим о поиске первой работы тестировщиком
поэтапно.
0. Настройте себя в соответствии с принципами, о которых мы
только что говорили. Люди, принимающие решения, почувствуют
ваш настрой, ваше желание и ваше отношение.
Основная задача данного этапа — настроиться на боевой лад.
1. Обзвоните своих знакомых и расскажите о своем желании
работать тестировщиком, желании работать сколько угодно,
когда угодно и на любых условиях по оплате. Может быть,
кто-то сможет помочь, хотя на знакомых рассчитывать не стоит, а
рассчитывать стоит только на себя, и поэтому мы идем дальше.
Основная задача данного этапа — забросить удочку.
2. Займитесь составлением резюме. Резюме — это реклама. Ре
ципиентами этой рекламы являются рекрутеры и работодатели. В
отличие от телерекламы, которой можно пичкать мозги беско
нечно и добиться потребительского зомбирования, у резюме есть
только один и он же последний шанс, чтобы заинтересовать и
заставить позвонить вам или прислать е-мейл с приглашением на
интервью. Если резюме не использует этот шанс, то в лучшем
случае оно оказывается в пачке своих собратьев, отложенных "до
лучших времен", а в худшем — в реальной или виртуальной кор
зине для мусора.
Резюме — это презентация ваших знаний и добродетелей. По-
нятие "презентация" играет здесь главную роль. Именно от эф-
фективности презентации в большей мере зависит, заинтересуют-
ся вами или нет.
Искусство эффективной презентации заключается в том, чтобы
представить нужную информацию в максимально выгодном
для себя свете и максимально понятной для реципиента форме.
288 Тестирование Дот Ком. Часть 4
Итак, у вас есть совокупность вещей, некоторые из них можно и
нужно презентовать в резюме.
Например, это опыт работы, который, как мы уже говорили,
является одним из источников ожидаемого результата.
Задача в том, чтобы повернуть вещи под углом, ярко демонстри-
рующим навыки, полезные именно для тестировщика.
Например, Алла М. работает инженером полиграфического обо-
рудования.
Вопрос: имеет ли значение ее опыт установки и отладки вер-
стальных машин фирмы Н. для ее резюме на должность тести-
ровщика? Ответ: почему бы и нет, если мы это дело грамотно
преподнесем.
Пример грамотной презентации
"Составила план по тестированию установки и отладки верстальных
машин фирмы Н. Обнаружила критические заводские дефекты до на-
чала эксплуатации и скоординировала их устранение с немецкой сто-
роной".
В общем думаю, что идея понятна. Учтите, что специальности
"тестировщик" не учат ни в одном университете мира. Про-
фессиональные тестировщики — это, как правило, профессионалы
из десятков других профессиональных областей.
Например
Прошлые специальности некоторых моих знакомых — блестящих тес-
тировщиков: архитектор, учитель, инженер, бухгалтер, биолог, метео-
ролог, юрист, программист.
Очень часто тестировщиками нанимают специалистов из той области,
в которой работает компания (например, компания, выпускающая ПО
для диагностики работы почки, естественно, предпочтет в качестве
тестировщика человека с дипломом врача).
Кстати, где бы вы ни работали, заведите себе маленький симпатичный
текстовый файлик, куда, отбросив ложную скромность, постоянно за-
писывайте каждую хорошую вещь, которую вы сделали.
Например, коллега из соседнего отдела попросил вас научить его поль-
зоваться неким тест-тулом, что вы и сделали. Знаете, как это называ-
ется? Не "Подсобил тут давеча Петровичу", а "Обучение персонала",
и вы вполне можете оперировать этой фразой в качестве, например,
аргумента для своего продвижения по службе. Помните, что все ваши
коллеги, особенно в западных компаниях, такой файлик ведут очень
исправно, так как их этим вещам начинают учить еще в средней школе.
Как устроиться на первую работу 289
Нужно ПОНЯТЬ, что вы делаете много полезных вещей для компании,
а они просто-напросто забываются и вами, и вашим менеджментом,
так что записывайте свои хорошие дела и используйте эти записи в ко-
рыстных целях.
В отношении образования. Конечно, институт или университет
выглядят на резюме лучше, чем 8 классов и курсы по вождению
автомобиля. Но в любом случае отличной приправой для любого
резюме будут свежепрослушанный курс по программированию,
тестированию и/или другим околоинтернетовским дисциплинам,
как, например, Project Management.
Пусть это прозвучит банально, но английский действительно яв-
ляется большим плюсом хотя бы потому, что на нем написана
почти вся профессиональная литература.
Покопайтесь в Интернете и найдите резюме тестировщиков, из
них можно почерпнуть много полезного в отношении содержания
и формата.
Поговорите со знакомыми, может, кто-то имеет опыт в составле-
нии резюме или даст полезный телефончик своего знакомого,
который может не остаться равнодушным.
Основные задачи данного этапа:
а) начать переосмысление своего опыта с точки зрения его
полезности для тестирования;
б) составить черновую версию резюме. Используйте мето
дику Черновик-чистовик с ее мозговым штурмом.
3. Найдите агентства по трудоустройству, которые работают
с интернет-компаниями. Как найти такое агентство? Например,
пути а и б:
а) многие крупные рекрутерские организации дают рекламу с
указанием имен своих именитых клиентов — компаний;
б) если интернет-компания нанимает через агентство, то на
объявлениях (в газетах, Интернете и на заборе) о вакансии
дается название и телефон не самой компании, а этого
агентства.
Обзвоните найденные вами агентства и договоритесь о встречах
с конкретными рекрутерами, которые занимаются поиском кан-
дидатов в софтверные компании. Встретьтесь с ними, честно
опишите свою ситуацию об отсутствии опыта в интернет-тес-
290 Тестирование Дот Ком. Часть 4
тировании и сделайте акцент на своем желании и настрое рабо-
тать сколько угодно, когда угодно и на любых условиях по
оплате.
Запомните, что это желание и этот настрой являются вашими
главными козырями при поиске первой работы тестировщиком.
Стоящий профессионал как минимум даст вам рекомендации по
стратегии и тактике поиска работы на местном рынке труда, а
максимум позвонит в компанию, с которой он работает, и дого-
ворится об интервью — вашем первом интервью в качестве тес-
тировщика. Не должно быть никакого стеснения в этих звонках и
просьбах о встрече — каждый встречающийся с вами рекрутер
справедливо надеется, что с его помощью вы оба заработаете
деньги, следовательно, рекрутеры — это ваши лучшие союз-
ники, и чем больше союзников вы найдете, тем выше шансы на
приглашение на интервью.
Попросите особо понравившегося рекрутера, чтобы он помог вам
довести до ума ваше резюме. Я знаю, что существуют профес-
сиональные составители резюме, о них ничего сказать не могу,
так как их услугами никогда не пользовался.
Обязательно включите в свое резюме три энергичные фразы:
"Готов работать нелимитированные часы. Готов
работать в выходные и праздники. Готов работать
на любых условиях по оплате".
Используйте для этих фраз жирный шрифт.
Основные задачи данного этапа:
а) получить максимум информации из первых рук о мест
ном рынке труда;
б) иметь на руках окончательную версию резюме.
4. Начните кампанию по распространению своего резюме. Ос-
новные каналы для передачи информации — это
а) размещение резюме на специализированных сайтах, напри
мер www.hotjobs.com (это сайт для поиска работы в США);
б) рассылка своего резюме и сопроводительных писем
потенциальным работодателям и
рекрутерам, нанятым потенциальными работодателями.
Как устроиться на первую работу 291
Резюме и сопроводительное письмо посылаются
в ответ на объявление об открытой позиции или же
просто как предложение своих услуг.
Сначала запускаем в действие пункт а. Пусть себе висят наши
резюмешки, как приманка, и ловят в свои коварные сети вни-
мание рекрутеров и работодателей. Пункт а — это пассивный
поиск, работающий на вас, когда вы спите, смотрите телевизор
или попиваете кальвадос. Пункт а — это также обезличенный
пассивный поиск, т.е. вы не обращаетесь ни к кому конкретно.
Для достижения гармонии нам нужен активно-целевой поиск, т.е.
пункт б. Он подразумевает постоянную рассылку резюме и со-
проводительных писем конкретным реципиентам.
Подробности:
а. Покопайтесь в Интернете и найдите несколько сайтов, на
которых можно выставить свое резюме. Я обычно пользу
юсь 3—5 сайтами, работающими с компаниями в районе
моего проживания. Создайте эккаунты на каждом из сай
тов и разместите на них свое резюме. Что делать дальше?
Начать жизнеутверждающую активность в соответствии с
пунктом б.
б. Интернет изобилует сайтами с вакансиями. Среди них, ес
тественно, есть вакансии тестировщиков. Что мы делаем?
Правильно: мы отправляем по контактным е-мейлам и фак
сам наши резюме и сопроводительные письма.
Теперь начинаются нюансы.
Резюме, которое у вас есть, — это всего лишь шаблон.
Иногда его можно послать в неизменном виде, иногда подогнать
(в хорошем смысле этого слова) под вакансию.
Например, если продукт компании — это сайт по онлайн-платежам, а
у вас есть финансовое образование и опыт работы в банке с ведущими
системами кредитных карт, то на такое образование и такой опыт ра-
боты стоит сделать особый упор, изменив свое резюме.
Я знаю нескольких тестировщиков, которые были взяты без
опыта тестирования и на высокую заработную плату исключи-
тельно из-за своего предшествующего релевантного опыта. Логи-
292 Тестирование Дот Ком. Часть 4
ка здесь проста — тестированию научиться легче, чем, скажем,
квантовой физике.
Теперь о сопроводительном письме.
Вакансия может быть размещена компанией напрямую или же
через агентство. В обоих случаях основная мысль вашего сопро-
водительного письма — это убедить реципиента в своем настрое
работать сколько угодно, когда угодно и на любых условиях
по оплате.
Для первого случая (вакансия идет напрямую от компании) мож-
но также написать, что вся ваша жизнь была лишь прелюдией и
томительным ожиданием работы именно в этой компании и
именно в этой должности.
Для второго случая можно написать о прелюдии и ожидании в
отношении только вакансии, так как имя компании, которой
можно было бы петь дифирамбы, хранится агентством в глубо-
кой тайне.
Логичным будет следующий вопрос: "в описании любой вакан-
сии будет указан минимальный стаж: (в годах) работы тести-
ровщиком, необходимый для успешного кандидата. Какой смысл
мне посылать свое резюме и сопроводительное письмо, если у
меня нет и дня стажа?"
Очень хороший вопрос. Я могу даже добавить, что это будет
минимум 3 года и что если бы первый раз в истории человече-
ства потребность в работе тестировщика появилась 1 марта,
то 2 марта того же года кто-нибудь обязательно догадался бы
обусловить в вакансии тестировщика тот же трехлетний
стаж:.
Шутки шутками, а реальность заключается в том, что требова-
ния подавляющего большинства вакансий завышены. Это
ситуация, в которой все всё понимают и просто играют свои
роли. Ваша роль — это роль человека, которому нужна пер-
вая работа, и вы должны сделать все возможное, чтобы уст-
роиться.
Так вот, считайте, что во "все возможное" входит и такая на пер-
вый взгляд безнадежная вещь, как направление резюме и сопро-
водительного письма в ответ на вакансию с требованием много-
летнего стажа.
Как устроиться на первую работу 293
Одним из контраргументов идеи о "безнадежности" может
послужить вероятность того, что в компании могут быть в
наличии либо могут планироваться вакансии тестировщиков с
другими навыками и/или другим опытом работы и/или другим
стажем. И вообще, если перефразировать слова Филиппа Филип-
повича "Безнадежность живет в головах, а не на рынке труда ",
тестировщики будут нужны всегда.
Другим контраргументом может послужить тот факт, что
та сакраментальная лягушка все-таки взбила молоко в масло, не
зная теории маслобойного процесса, а вы имеете преимущество,
зная, что в процессе трудоустройства одним из основных
принципов является неутомимая пальба из всех орудий по
всем
• видимым (активный поиск) и
• невидимым (пассивный поиск) мишеням.
Кроме специализированных рекрутерских сайтов практически
каждая интернет-компания имеет линк на список своих открытых
позиций. Найдите как можно больше компаний, имеющих офисы
в районе вашего географического обитания/интереса, и пошлите
им свое резюме и сопроводительное письмо с подгонкой и под-
халимажем, о которых мы уже говорили. Если даже в списке
работ нет позиций тестировщиков, то используйте контактные е-
мейл/факс, чтобы заявить о себе.
Еще раз. Ложная скромность и стеснительность в процессе по-
иска работы абсолютно неуместны. Вы ни у кого ничего не
просите. Это чистой воды бизнес для вас, для рекрутера и для
компании.
Когда вас возьмут на работу, то с вашей помощью будут зара-
батывать деньги и рекрутер (если он принимал участие), и ком-
пания. В это время вы, кстати, будете горбатиться за четве-
рых, не видя жены, детей, друзей и любимых попугаев. Так что
идите напролом и да сопутствует вам удача! Л стесняются
пусть те, кто получил свои должности не из-за знаний, тачанта
и умения "пахать", а из-за других, не связанных с работой дос-
тоинств.
Основываясь на личном опыте и опыте моих знакомых, могу ут-
верждать, что 300 резюме и 300 сопроводительных писем будет
достаточно, чтобы быть приглашенным на несколько интервью,
294 Тестирование Дот Ком. Часть 4
одно из которых закончится приглашением на работу. Поиск ра-
боты — это тоже работа, требующая времени, усилий, напряже-
ния и волнительного ожидания звонка или е-мейла.
5. Интервью — это сладкое и волнительное слово для любого
наемного работника. Будь это первое или тридцать первое интер-
вью — каждый раз это новый, уникальный и полезный опыт. Ин-
тервью на первую работу по новой специальности — это особая
песня, которая требует особых ритма, мелодии и слов.
Запомните, что если вы будете серьезно, не покладая рук ис-
кать работу, то с вами обязательно захотят встретиться. Мо-
гут пройти недели или даже месяцы, но однажды с вами свя-
жутся. Я это знаю. Я был там... Дальше все очень просто: вы
подъедете к зданию за 30 минут до назначенного времени, найде-
те нужный офис, выйдете на улицу, за 1 минуту до встречи вер-
нетесь к офису, сделаете глубокий вздох, откроете двери и, шаг-
нув как на плаху, улыбнетесь секретарше: "Добрый день, меня
зовут Иван Иванов, и у меня назначено интервью с Петром Алек-
сандровичем".
Итак, начинаем...
Стоп. Интервью начинается не в офисе потенциального работо-
дателя, а дома. Домашняя работа перед интервью включает:
• наведение справок о компании: вид бизнеса, партнеры, кон-
куренты, рынок, на котором работает компания.
Пример
Однажды я устраивался в одну известную финансовую компанию. Перед
интервью мною было прочитано множество статей в Интернете об этой
компании и было выяснено, что львиная доля доходов компании идет в виде
комиссии от транзакций после окончания онлайн-аукцио-нов. Я был очень
рад узнать об этом, так как являюсь экспертом в этих самых аукционах и
многолетним пользователем аукционных сайтов. Естественно, что на
интервью я переводил тему именно на аукционы — предмет, в котором я
себя чувствовал, как рыба в воде. На следующий день мне позвонили с
предложением о работе.
Пример
Один мой знакомый, назовем его Витя, был на интервью в компании N. на
пике ее популярности. Компания занималась разработкой сети Р2Р (peerto-
peer), по которой распространялись трЗ файлы. Тогда только
начинались разговоры о возможности ее закрытия по причине пару-
как устроиться на первую работу 295
шения авторских прав. Витя спросил, есть ли план на случай, если суд
перекроет кислород? Как выяснилось, никакого плана у компании не
было. Витя успешно прошел интервью, раскланялся и пошел на интер-
вью в другую компанию (в которой, кстати, до сих пор и работает). Что
случилось с компанией N. ? Звукозаписывающие фирмы подали в суд,
и через полгода компания была закрыта.
Таким образом, наведя справки, Витя избавил себя от необходимости
снова искать работу через полгода;
• поиск знакомых (или родственников) либо знакомых зна
комых, работающих в компании.
Одна моя московская подруга, устраиваясь на работу, за
день до интервью выяснила, что муж ее двоюродной сест-
ры является вице-президентом той самой компании. На
интервью идти не пришлось — и так взяли;
• если возможно, использование веб-сайта компании.
Например, купите самую дешевую вещь, продаваемую на
веб-сайте компании, прочуствуйте бизнес, пользуясь им.
Такие знания дорогого стоят во время интервью;
• глажку костюма, стрижку головы, бритье щетины, чистку
обуви и... хороший сон.
Эти, казалось бы, элементарные вещи постоянно забывают
те, кто приходит на интервью. Встречают по одежке (и по
виду), и, как известно, доброе начало полдела откачало.
Приходите на интервью опрятными, чистыми и свежими.
Не могу не рассказать об одном курьезном случае, когда некий
товарищ пришел на интервью в крупную западную компанию в 11
утра... пьяным. С ним, конечно, поговорили, при этом без дураков,
обнаружив превосходный интеллект и релевантный опыт
работы, но на работу брать не стачи. Если он явился пьяным на
интервью, когда каждый стремится показаться лучше, чем он
есть, то каким он будет, возьми мы его на работу?
Кстати, очень часто с вами сначала разговаривают по телефону
(phone interview/screening). Как правило, вам звонит сотрудник отдела
кадров и задает вопросы по списку, переданному ему менеджером
тестировщиков. Знайте, что эти господа из HR (Human Resources — от-
дел кадров), как правило, не знают ничего из того, о чем спрашивают
(имеются в виду чисто профессиональные знания тестировщика, на-
пример методология создания тест-кейсов), им это и не надо, так как
у каждого своя работа. После телефонного интервью листочек с во-
296 Тестирование Дот Ком. Часть 4
просами и вашими ответами передается обратно менеджеру, и если
тот считает, что имеет смысл встретиться, то раздается столь долго-
жданный для вас звонок и вы собираетесь на реальное интервью.
Итак, "Добрый день, меня зовут Иван Иванов, и у меня назначено
интервью с Петром Александровичем".
Нюансы живого интервью:
1. Приходите на интервью вовремя.
Пробки на дорогах, подруги детства, встретившиеся на пути,
борьба с последствиями некачественной яичницы, пропущенная
последняя электричка — ничто из этого не волнует того, кто
должен вас интервьюировать. Приезжайте раньше и походите
полчаса кругами вокруг здания или почитайте книжку о бизнесе
компании, но к Петру Александровичу должны позвонить, что вы
пришли ровно в назначенное время: ни до, ни после.
2. Жмите руку крепко и уверенно и смотрите собеседнику в
глаза.
Вам нечего скрывать или стесняться. Вы хотите, можете и, если
вам дадут возможность, будете работать добросовестно и про-
дуктивно. Интервьюирующий вас не Бог, не гений, а такой же
человек, может быть, даже сидевший на вашем кресле интер-
вьюируемого еще месяц назад.
3. Вот несколько общих советов для поведения на интервью:
• отвечайте на вопросы без груза лишних деталей (но да-
вайте понять, что стоит интервьюирующему попросить —
и детали будут даны).
Иллюстрацией может послужить пример ситуации при интервью,
которое провели родители одной девушки с соискателем ее руки
и сердца.
Соискатель (мой приятель) был приглашен в их квартиру, очень
мило посидели, поговорили о том о сем. Приятель расслабился, в
один момент в разговоре возникла пауза, и он, чтобы ее запол-
нить и заодно блеснуть эрудицией, спросил у мамы невесты: «Вы
знаете, я все время путаю Моне и Мане. Кто из них написач
"Подсолнухи "?» После этого вопроса даже магнитофон, интел-
лигентно проигрывающий сочинение маэстро Сальери, поста-
Как устроиться на первую работу 297
вил себя на паузу, предвкушая кровавую развязку. Наступила
.мертвая тишина. И в этой тишине полный презрения голос до-
чурки произнес: «"Подсолнухи" написач Ван Гог». После этого
разговор как-то сам собой свернулся. Авторитет был потерян, и
этот никчемный в общем-то вопрос стал началом конца и в
отношениях. И хотя семейка, включая доченьку, оказачась, как
впоследствии выяснилось, совершенно мерзопакостной, мой при-
ятель навсегда вынес урок об опасности лишних деталей во вре-
мя интервью.
Кстати, недавно, бродя по залам с работами импрессионистов в Мет-
рополитен-музее, я увидел картину с чудесными подсолнухами. По-
дойдя к картине, я прочел имя автора: Claude Monet...
• будьте вежливы и корректны. Не надо фамильярностей,
анекдотов о теще и баек из жизни вашего полка на постое
в городе Большие Щеглы. Быть профессионалом — это не
только иметь опыт и знания, но и знать, что, как, где и ко-
гда говорить. А вдруг интервьюирующий любит свою тещу,
как мать родную?
Вообще представьте себя в роли интервьюирующего: вы зани-
маетесь каким-то интересным делом, например, бродите по веб-
сайтам в поисках новых часов. К вам подходит ваш менеджер и
говорит: "Вот резюме, кандидат сидит в той комнате, пойди
поговори с ним без переводчика ". И вот вы неохотно заходите в
"ту комнату", на ходу просматривая резюме, придумывая умные
вопросы и прикидывая, сколько времени это дело займет, а то
есть хочется... за углом новую шашлычную открыли... И если
кандидат тактичен, вежлив и приветлив, то, конечно, приходит
понимание того, что бурчащий желудок, измученный капучино,
может подождать лишние 15 минут. Ничего не жачко для
такого вежливого и приятного человека, который так сильно
хочет работать;
• проявите искренний интерес к вещам, о которых интер-
вьюирующему говорить приятно. Дайте ему выговориться.
Например, на одном интервью я спросил, используют ли в компании
язык Python, в ответ на это интервьюирующий 20 минут рассказывал
мне о том, какие тупы он пишет и как много денег они сэкономили ком-
пании. Моя часть диалога заключалась в заполнении пауз словом "Bay".
Мы расстались лучшими друзьями, и на следующий день я был при-
глашен на работу.
298 Тестирование Дот Ком. Часть 4
Сплошной Карнеги, одним словом;
• никогда, никогда не говорите плохо о фирмах, в которых
вы когда-то работали! Это против правил.
Лучше сочините что-то, но ни в коем случае не ругайте фирму, в
которой вы работали прежде (даже если деятельность компании
была не в сфере Интернета и вы работали там не тестировщиком,
а бухгалтером).
Пусть даже ваша святая правда в том, что начальник был полным
дебилом и вы, светочи и душки, были окружены "сволочами,
склочниками, приспособленцами и подхалимами" и пришлось
уйти от этой шайки не по своей вине. О своем предыдущем
работодателе, как о покойнике, — либо хорошо, либо ничего.
Много хороших кандидатов погорело на интервью из-за своей
откровенности.
4. Еще раз: помните, что во время интервью анализируются
не только ваши знания, но и ваша личность. Ответьте, с
кем вам будет приятнее работать:
а) с превосходным специалистом, от которого независимо от
его профессиональных качеств постоянно несет луком и
пережаренной свининой, который всех считает тупицами,
потихоньку подсиживает своего начальника, и слывет сно
бом или
б) с начинающим специалистом, который самоотверженно
пытается дойти до сути, на которого всегда можно поло
жится, который искренне заинтересован в работе, друже
любен, открыт и честен?
Я, конечно, сгустил краски, но думаю, что идея понятна — лич-
ность играет не меньшую роль, чем профессионализм, так как
тот, кто вас интервьюирует, такой же наемный работник,
большая часть времени его бодрствования проходит в стенах
компании, и естественно, что для него очень важно, чтобы
рядом были приятные, надежные и искренние люди.
Лично для меня ответ очевиден. Выбираю вариант б: по крайней
мере, я сам ночей не досплю и ленчей не доем, но научу хорошего
человека тому, что знаю.
Как устроиться на первую работу 299
5. Искренность подкупает. Ложь и желание скрыть что-то
отталкивает. Вы не можете знать ответы на все вопросы, так
как
• интервьюирующий знает то, что не знаете вы (как и вы
знаете то, что не знает он),
• вы приходите в компанию как начинающий специалист.
Итак, когда вам задают вопрос, ответ на который вы на 100% не
знаете:
НЕ НАДО:
• морщить лоб;
• шевелить губами;
• направлять глаза в правый верхний угол (признак сочине-
ния чего-либо);
• всякими другими способами изображать усилия по расчи-
стке завалов в памяти.
Завалы-то, конечно, есть, но под ними ответа на вопрос нет.
НАДО:
Сказать сразу же две вещи:
"Я не знаю" (свидетельство искренности) и сразу же уверенно
вдогонку:
"Но если это будет нужно для работы, я обязательно узнаю
(научусь, прочитаю, выучу и т.д.)" (свидетельство желания учить-
ся и совершенствоваться).
Вещи из институтских баек о сдаче зачетов, когда абсолютно не
знающий студент получает пятерку путем шокирования препода-
вателя неожиданно оригинальным и абсурдным ответом, на ин-
тервью не проходят.
Желание учиться — одно из главных ваших достоинств, на
которое нужно делать акцент каждый раз, когда вы не знаете
ответа на вопрос.
6. Даже если интервью не идет или не прошло гладко, не от
чаивайтесь, не делайте никаких резких телодвижений, про
должайте быть дружелюбны и вежливы.
На одном из моих первых интервью я был так расстроен тем,
что не смог ответить на большинство вопросов, что, после того
300 Тестирование Дот Ком. Часть 4
как интервьюирующий пошел за колой для себя и для меня, был
на грани того, чтобы сбежать из комнаты, из здания, рвануть
куда глаза глядят, потом сидеть в квартире, зачивая с дружками
горе, жачея себя и обвиняя мир в несправедливости. Но я остался,
прошел интервью и через несколько дней вышел на работу. Кто
знает, говорил бы я с вами о тестировании, поддайся я тогда
своему малодушному порыву...
Запомните, что даже если вы на 100% уверены, что интервью
проваливается (или уже провалилось), или, наоборот, идет (окон-
чилось) прекрасно, ваша оценка не имеет никакого веса, так как
решение о вашем найме или не найме принимаете не вы. Поэтому
расслабьтесь и постарайтесь получить максимум удовольствия и
знаний.
Кстати, никогда не отказывайтесь от интервью. Каждое ин-
тервью — это
• уникачъный шанс узнать вопросы, ответы на которые вы
не знаете... пока не придете домой и не возьмете книжку,
не залезете в Интернет или не позвоните своим друзьям.
Естественно, в следующий раз на тех же вопросах вас
врасплох не поймают;
• уникальный опыт обмена информацией с коллегами-тес-
тировщиками;
• уникальная возможность шлифовки своих навыков об-
щения.
Ходите на все интервью.
Один мой знакомый, будучи уверен в том, что интервью в ком-
пании А. прошло чики-пики, позвонил и отменил запланированное
интервью в компании Б. Из компании А. никто не позвонил, а
когда знакомый опомнился, компания Б. уже нашла себе тес-
тировщика.
В общем самый лучший вариант — это когда вы прошли интер-
вью в две или больше компаний, сидите на кухоньке, разложив
перед собой предложения о работе, и выбираете, в какую компа-
нию лучше податься: "Так, сюда дачьше ехать на 20 минут, а
здесь мне менеджер не особо понравился, а здесь проект какой-
то лажовый". И дачьше в том же духе, т.е. уже не вас, а вы
выбираете. Сладкое чувство...
Как устроиться на первую работу 301
7. Помните о ваших главных аргументах:
"Готов работать нелимитированные часы. Готов
работать в выходные и праздники. Готов
работать на любых условиях по оплате".
Один из тех, кто впоследствии стал ведущим тестировщиком не-
кой западной компании, только недавно приехал из России и по-
этому говорил с очень сильным акцентом. Очень сильным. Таким
сильным, что, даже покупая гамбургер в "Макдоналдсе", всегда
должен был повторять номер заказа:
— Number 3, please.
— Excuse me?
— Can I have number three, please?
— Which number?
— Number three.
— Three?
— Yes, three.
— Got it. It was three, right?
Молодой человек отучился в колледже и на курсах тестировщи-
ков (ни колледж:, ни курсы акценту особо не помогли). В один из
дней его пригласили на интервью в ту самую западную компанию.
Он пришел и переговорил с менеджером отдела тестирования.
После менеджера его проинтервьюировал сотрудник отдела. На
следующий день молодой человек получил предложение о работе
и лишь через четыре года узнал все подробности, а подробности
таковы:
Выйдя из комнаты, менеджер понят, что из всего сказанного этим
русским он на сто процентов понят только одну фразу "Выл
ворк дэй энд найт" ("Will work day and night" — Буду работать
день и ночь).
Кроме того, этот молодой человек постоянно показывал на свой
мобильный телефон и часы, из чего можно было сделать вывод о
том, что его можно будет вызвать в офис в любое время. С не-
много ошарашенным видом менеджер подошел к сотруднику
отдела тестирования и сказал:
— Сдается мне, Джим, что этот парень не совсем хорошо гово
рит по-английски. Но зато какое отношение к работе!!! Пойди-
ка и поговори с ним на любую тему: о природе, ценах на нефть,
302 Тестирование Дот Ком. Часть 4
скучает ли он по России. Самое главное, что тебе нужно выяс-
нить: будешь ли ты в принципе понимать его.
Джим пошел и поговорил, потом пришел к менеджеру и сказан
— Конечно, акцент у него будь здоров, но дело в том, что я вырос
в среде русских в городе Чикаго и даже немного говорю по-рус-
ски. Так что надо брать. Этот будет работать за троих. Да и
на предложенную нами зарплату сразу согласился.
Нужно сказать, что ни менеджер, ни Джим ни разу не пожа-
лели о своем решении.
8. Вот краткий список вопросов на интервью с моими реко-
мендациями по ответам:
Почему вы решили стать тестировщиком?
Ответ:
Потому что работа тестировщика требует творческого подхода,
мне всегда нравилось анализировать ПО и искать баги в нем, я
всегда мечтал быть частью интересного интернет-проекта. Счи-
таю, что у меня есть качества, которые помогут мне стать эффек-
тивным профессионалом, например внимание к деталям, умение
работать в условиях стресса, навыки в общении с людьми.
Что больше всего вам нравится в тестировании?
Ответ:
С одной стороны, для меня важно, что тестирование — это и твор-
чество, и интуиция, и профессиональные прикладные навыки,
и каждый из этих трех компонентов важен и интересен для меня,
с другой — тестирование мне нравится тем, что своей работой
тестировщик приносит ощутимый и реальный результат, кото-
рым является нахождение багов до того, как их найдут наши поль-
зователи.
Какими достоинствами должен обладать эффективный тес-
тировщик?
Ответ:
1. Честность.
2. Искренний интерес к своей работе и гордость за свою работу.
3. Постоянное профессиональное совершенствование.
4. Способность быстро переключаться с одной задачи на другую.
5. Способность жертвовать личным временем в интересах работы.
6. Умение работать с людьми.
7. Умение сохранять эффективность в условиях стресса.
Как устроиться на первую работу 303
8. Возможность и желание работать нелимитированные часы, а
также в выходные и праздники.
Я думаю, что у меня есть все вышеперечисленные достоинства.
Расскажите о своих краткосрочных и долгосрочных планах
в карьере? Как работа тестировщика вписывается в них?
Ответ:
Я хочу стать экспертом в тестировании ПО. Краткосрочные планы —
это устроиться на работу и применить мои знания в живом деле. Долгосрочные планы — это постоянное профессиональное совер-
шенствование и, возможно, специализация по одному из направ-
лений тестирования, например автоматизация регрессивного тес-
тирования. Какими бы ни были мои планы в настоящее время,
главный приоритет, если я буду нанят, — это на 110% выполнять
требования, которые будет ко мне предъявлять работа в компании.
Можете ли вы в случае крайних обстоятельств приехать в
офис в любое время дня и ночи, если того потребует работа?
Ответ:
Да. Я готов приехать в офис 24 х 7 х 365 (самое главное в этом от-
вете — быстрота и уверенность, с которой он должен быть дан).
Сможете ли вы в случае крайних обстоятельств работать
в выходные дни и праздники?
Ответ:
Да. Работа прежде всего (самое главное в этом ответе — быстро-
та и уверенность, с которой он должен быть дан).
Сможете ли вы в случае крайних обстоятельств работать
больше 8 часов в день?
Ответ:
Да. Я знаю, что работа тестировщика предполагает нелимитиро-
ванные часы работы (самое главное в этом ответе — это быстрота
и уверенность, с которой он должен быть дан).
Можете ли вы работать одновременно с несколькими про-
ектами? Ответ:
Да. Я умею быстро переключать внимание и быстро концентриро-
ваться на новой задаче.
Как вы переносите давление времени? Менеджмента?
Ответ:
Я полностью осознаю, что работа в интернет-компании — это хотя
и интересный, но тяжелый труд, когда все работники, включая ме-
неджмент, находятся под давлением времени, акционеров, кон-
курентов и прочее. И я готов и могу работать в такой среде.
304 Тестирование Дот Ком. Часть 4
Опишите опыт работы и образование, релевантные к тести-
рованию.
Ответ:
(Ответ индивидуален. Акцентируйте вещи, имеющие отношение
к тестированию, компьютерам и анализу.)
Ваше самое большое профессиональное достижение (не-
обязательно в области тестирования).
Ответ:
(Будьте готовы к такому вопросу и с гордостью расскажите о своем
достижении.)
Почему вы ушли (уходите) из своей предыдущей компа-
нии? Ответ:
Я хочу попробовать новую для меня профессию тестировщика.
Мне нравилось (нравится) работать в моей компании. Я поль-
зуюсь уважением своих коллег и менеджмента, но мне хочется
применить свой опыт работы в новом для меня деле.
Опишите свои самые большие разочарования на ваших пре-
дыдущих работах.
Ответ:
У меня не было каких-либо больших разочарований. Мои приори-
теты — это усердная работа и профессиональное совершенст-
вование, и я считаю, что не место красит человека, а человек —
место.
Где бы вы предпочли работать: в большой устоявшейся ком-
пании или в стартапе? Почему?
Все ответы хороши, выбирай на вкус:
а) в большой компании, так как в большой компании, где уже по-
ставлены все процессы и уже есть штаттестировщиков, я смо-
гу быстрее научиться и быстрее стать продуктивным, чем ра-
ботая в маленьком стартапе;
б) в маленьком стартапе, так как есть шанс участвовать в созда-
нии процессов и становлении департамента качества с нуля,
чего нельзя сделать в большой компании.
Приведите пример сложной ситуации, с которой вы столкну-
лись в своей карьере, и какой выход из нее вы нашли?
Ответ:
(Будьте готовы к такому вопросу и с гордостью опишите такую си-
туацию.)
Как устроиться на первую работу 305
У каждого есть свои недостатки и достоинства. Приведите
пример двух недостатков и двух достоинств.
Ответ:
(Будьте готовы к такому вопросу и имейте в запасе два маленьких
недостатка и два больших достоинства. Пример маленького не-
достатка: люблю играть в покер. Пример большого достоинства —
готов работать нелимитированные часы, в выходные и праздники.)
Что бы вы пожелали усовершенствовать в себе? Что вы для
этого делаете?
Ответ:
(Будьте готовы к такому вопросу. Ну что можно усовершенство-
вать? Например, свои программистские навыки.)
Вы предпочитаете работать самостоятельно или в группе?
Почему?
Ответ:
(Зависит от ваших личных склонностей.)
Почему вы хотите работать именно в нашей компании?
Ответ:
(Вспомните, что вы узнали о компании, и расскажите о вещах,
которые вас искренне привлекают в этой компании.)
Что вы знаете о нашей компании? Пользуетесь ли вы нашим
продуктом?
Ответ:
(Вспомните, что вы узнали о компании, и о ваших впечатлениях от
пользования веб-сайтом компании — если, конечно, у вас была
такая возможность. НЕ КРИТИКУЙТЕ.)
Почему вы хотите устроиться именно на эту позицию?
Ответ:
(Вспомните, что вы узнали о позиции, и скажите, что вы идеаль-
ный кандидат, хотите работать и даже если чего-то не знаете, то
непременно выучите в кратчайшие сроки.)
Почему мы должны нанять вас в нашу компанию?
Ответ:
(Вспомните, что вы узнали о компании и позиции, и расскажите об
их идеальном сочетании с вашей кандидатурой. Я не шучу.)
Далее.
Как правило, интервьюирует вас больше чем один сотрудник ком-
пании. Иногда приходится приезжать в компанию несколько раз.
306 Тестирование Дот Ком. Часть 4
Как правило, после интервью интервьюирующие передают ме-
неджеру свои субъективные мнения о качествах интервьюируе-
мого, и менеджер на основе одного или более отзывов принимает
решение. С вашей стороны хорошим тоном будет послать после
интервью краткий е-мейл с благодарностью тому, кто вас интер-
вьюировал.
Запомните, что наем — это соединение двух потребностей:
• потребности работника в нахождении компании и
• потребности компании в нахождении работника.
Каждый из нас на своей шкуре знает о потребности в работода-
теле. Вот вам напоследок случай из жизни о потребности работо-
дателя в работнике.
История об Оле и Джордже
Одна моя знакомая (назовем ее Оля) была нанята следующим об-
разом.
Компании N. срочно нужен был человек для тестирования мно-
гомиллионного проекта. Время так прижимачо, что, как гово-
рится, человек должен был начать работать вчера.
Менеджер позвал одного из сотрудников (назовем его Жорж:),
дач адрес проходящей по соседству ярмарки тачантов, вручил
заполненный контракт с пустым полем "Имя" и сказал, чтобы
бедный Жорж: не возвращачся, пока в этом пустом поле не бу-
дет написано имя нового работника, а в том пустом месте не
будет его (нового работника) подписи.
Оля тогда работача тестировщицей в одном из стартапов, и ее
послали на ярмарку, чтобы она раздавала рекламные проспекты
своей компании. Ее энергичная, жизнеутверждающая
деятельность привлекла внимание понурого и разочарованного
Жоржа, тот подошел к ней, они познакомились, и он, к своей
преждевременной радости, узнал, что Оля разбирается в тес-
тировании.
Загвоздка была в том, что она ни в какую не хотела менять
место работы. Тогда Жорж:, которому было уже почти что
нечего терять, решил применить старый, как мир, прием...
спаивания и соблазнения и пригласил ее в хороший ресторан.
Как устроиться на первую работу 307
Там они непропорционачьно закуске выпили (причем в процессе
потребления Жорж: умело комбинировал комплименты Оле с ком-
плиментами своей компании), и между 6-м и 7-м "дринками " со
словами: "Не пожалеешь " (по-английски) — он шлепнул на стол
контракт, который и был немедленно подписан с восклицанием:
"А фигли " (по-русски).
Это все о поиске первой работы.
Краткое подведение итогов
Самое главное —
Вы должны искренне хотеть работать.
Вы должны быть готовы работать нелимитированные часы.
Вы должны быть готовы работать в выходные и праздники.
Вы должны быть готовы работать... бесплатно.
Вопросы для самопроверки
Не буду я вас больше мучить, а просто скажу:
Все получится. Удачи вам!!!
ПОСЛЕСЛОВИЕ
Друзья,
на прощание я хочу донести до вас некоторые идеи, которые сыг-
рали в моей судьбе важную роль и которые могут быть реально
позитивны для вас, хотите ли вы найти себе новую работу, встре-
тить свою половинку или заработать денег на постройку детской
больницы.
...Каждый из нас хочет лучшей жизни. Но вот в чем дело: "стрем-
ление к лучшей жизни" может быть
• либо создаваемой нами реальностью, насыщенной мысля-
ми о МЕЧТЕ и шагами к ее осуществлению;
• либо мешаниной из пустой болтовни, оправданий, поисков
виноватого и надежд на доброго царя, коммунизм или
джек-пот.
Каждый из нас:
• либо выбирает собственный осмысленный путь и изо дня
в день пробивает себе дорогу к своей цели,
• либо изо дня в день выбирает (даже не признаваясь себе в
этом выборе) адаптацию к обстоятельствам, созданным
другими, и следование решениям, принятым другими
(кстати, вопрос на засыпку: "Какова вероятность того, что
тех "других" волнует ваше благополучие?").
Все очень просто: одно либо другое. Третьего не дано, как бы ни
было это комфортно для мягкой теплой кошечки инертности и
лени, которая сидит в каждом из нас.
Вот, кстати, любимое мяу-мяу такой кошечки:
"У меня было тяжелое детство, жизнь ко мне несправедлива,
и вообще мне не везет".
308
Послесловие 309
Вот убедишь себя в таком, и все "хорошо" — мозги отключились,
виноватые найдены, "наливай, Леха".
А что, если попробовать признаться не кому-то, а себе, что, не-
смотря на тяжелое детство, несправедливость жизни и отсутствие
флаш-роялей каждые две минуты игры в покер, те проблемы и
радости, которые у нас есть, — это плод наших собственных дей-
ствий и мыслей и что, несмотря на то что у всех был разный
старт и разная среда формировала и формирует нас, мы могли и
можем изменить к лучшему наши судьбы?
Простая правда жизни заключается в том, что каждый из нас
МОЖЕТ, но не каждый из нас БУДЕТ. Спросите алкоголика,
почему он пьет, и он вам даст четко уложенное в его голове "ве-
сомое" оправдание, например: "Моя ранимая душа поэта только
так может забыться: ведь жизнь — это такой бардак". Кстати,
хорошим, хотя и небезопасным будет вопрос: "А что лично ты
сделал, чтобы бардака стало меньше? Купил бутылку и оскорбил
жену?" Не ищем ли мы себе таких же "весомых" оправданий,
лишь бы не менять то, что есть, даже если это "то, что есть" пре-
вращает дар жизни в прозябание, унижение и боль?
Далее.
Я прошел через тяжелый период жизни в чужой стране, положе-
ние было порой совершенно отчаянным, и казалось, что не смогу
здесь пробиться, нужно просто взять обратный билет и... начать
разговоры о тяжелом детстве, несправедливости жизни и невезе-
нии. НО у меня была МЕЧТА. И эта МЕЧТА давала мне силы,
чтобы
• спать по три часа в сутки, проводя ночи за компьютером и
книгами, после того как я возвращался в снимаемую на
двоих комнатку 2x3 метра со стройки (понедельник —
пятница) или из ресторана (где я, к сожалению, не пировал,
а работал официантом, порой обслуживающим стол на не-
сколько десятков человек, которые, хрустя квашеной капуст-
кой, одновременно ностальгировали по Советскому Союзу
и нередко имели в своих рядах представителей, которые,
не будучи людьми особо утонченными в трезвом состоя-
нии, превращались в законченную шушеру в состоянии не-
трезвом) (суббота, воскресенье);
• рассылать сотни резюме и пытаться скрыть немыслимое
волнение на редких собеседованиях, заканчивавшихся
310 Послесловие
"We will call you" ("Мы вам позвоним"), последующими
днями ожидания и отсутствием звонка; • полностью, без
выходных и праздников, отдаться проектам, на которые в
конце концов меня пригласили.
И сейчас я понимаю, что, хотя тот период был самым сложным в
моей жизни, все труды стоили того, потому что это была моя
МЕЧТА и я сделал все, что мог, для ее достижения, я не только
добился того, чего хотел тогда, но и создал для себя большие
возможности, чтобы помочь другим людям.
Например, знания, которые я получил на пути к достижению
МЕЧТЫ, позволили мне написать эту книгу, и я могу помочь вам
получить новые оплачиваемые знания и в то же время помочь
больным детишкам (по моему поручению издательство "Дело"
переведет все авторское вознаграждение за эту книгу на рас-
четный счет российской детской клинической больницы (РДКБ)
(http://deti.msk.ru)).
Далее.
Не позволяйте никому отвести вас от вашего стремления к
лучшей жизни.
Нам, русским, из-за исторически сложившейся перманентной по-
литической нестабильности и идейной неустроенности свойст-
венны иррациональность и надежда на авось, и хотя нет сомне-
ний в том, что в жизни всегда есть вероятность того, что можно
получить удар, когда не ждешь и откуда не ждешь, все-таки каж-
дый из нас (хотим мы того или нет) является хозяином собст-
венной жизни, и если однажды не решить изменить ее к лучше-
му, то не неудачники, которые промыли нам мозги своими сини-
цами в руке, а лично каждый из нас будет с сожалением вспоми-
нать об упущенных возможностях.
Помните, как у Пелевина: "До чего загадочна и непостижима
жизнь и какую крохотную часть того, чем она могла бы быть,
мы называем этим словом"? Я никому не посоветовал бы ска-
зать такое о своей жизни.
Даже если вы придете к другому, нежели первоначальная цель,
то это другое часто бывает гораздо лучше для вас, чем зара-
нее запланированное.
Послесловие 311
Каждый день человек принимает решения:
• когда он садится/не садится пьяным за руль — он прини-
мает решение (три ударения: ударение на "ОН", ударе-
ние на "ПРИНИМАЕТ", ударение на "РЕШЕНИЕ");
• когда он помогает/не помогает женщине, несущей от мет-
ро неподъемные сумки, — он принимает решение;
• когда он отвечает/не отвечает грубостью в ответ на то, что
ему случайно наступили на ногу, — он принимает
решение.
Когда он вдруг просыпается посреди ночи и понимает, что его
жизнь может и должна быть гораздо лучше, что он может при-
нести намного больше пользы себе и окружающим, когда он
чувствует кожей, что жизнь вполсилы — это не его путь, то он
МОЖЕТ принять решение, которое в корне изменит его жизнь и
будет началом благодарного пути человека, который сделал вы-
бор идти за МЕЧТОЙ.
Я желаю вам иметь МЕЧТУ и принимать мудрые решения, кото-
рые сделали бы этот мир счастливее, а после вашего ухода оста-
вили бы ростки благодеяний и добрую память.
Здоровья вам, успеха, любви, долгих чудесных лет и покоя на
сердце.
С уважением и верой в вас,
Роман Савин
Роман САВИН
ТЕСТИРОВАНИЕ ДОТ КОМ,
ИЛИ ПОСОБИЕ
ПО ЖЕСТОКОМУ ОБРАЩЕНИЮ
С БАГАМИ В ИНТЕРНЕТ-СТАРТАПАХ
Гл. редактор Ю.В. Луизо
Иллюстрации С.Н. Корсун
Сюжеты для иллюстраций Р. Савин; С.Н. Корсун
Внешнее оформление В.П. Коршунов
Компьютерная подготовка оригинал-макета Ю.С. Лобанов, Т.А. Лобанова
Корректор Ф.Н. Морозова
Подписано в печать 15.11.2006. Формат 60x90'/,6. Бумага офсетная. Гарнитура Тайме. Печать офсетная. Усл. печ. л. 19,5. Тираж 3000 экз. Заказ № 3075 Изд. № 639.
Издательство "Дело"
119571, Москва, пр-т Вернадского, 82
Коммерческий отдел — тел.: 433-2510, 433-2502
E-mail: com@delokniga.ru
Интернет-магазин: www.delokniga.ru
ОАО «Типография "Новости"» 105005,
Москва, ул. Фридриха Энгельса, 46
ISBN 5-7749-0460-I

Роман Савин сумел в увлекательной форме передать
наиважнейшие вещи, которые понадобятся тестировщику ПО.
Его подход к преподаванию является сугубо практическим,
лишенным показной академичности и основанным на
успешной карьере самого автора.
Anna Gardiner,
Senior QA Engineer, PayPal, Inc.
Книга позволяет! потратив минимум временит получить
не только обьемное представление о деятельности
тестировщика, но и реальный практический инструмент
обретения новой профессии.
Вадим Перекрестовт
канд. тех. н а у к ,
директор Программы «IT-Менеджер: менеджер проектов,
бизнес-аналитик», Школа IT-Пенеджмента, Ак

Информация на заметку
Интернет магазин шарфов Шарфы Харьков 

Комментариев нет:

Отправить комментарий