Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

testirovanie_dot-com

.pdf
Скачиваний:
85
Добавлен:
29.03.2015
Размер:
5.51 Mб
Скачать

Моим любимым Маме и Марине посвящается,

чьи любовь и вера самое драгоценное,

что я получил от жизни...

ВВЕДЕНИЕ

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

Народнаямудрость

Дорогие друзья,

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

нет-компании в качестве тестировщика.

Я также уверен, что тихие вечера, проведенные за чтением моего скромного труда, откроют много полезного любому человеку, имею-

щему отношение к процессу создания программного обеспече-

ния (ПО),таккаккачество, как тишина в кинозале, —делообщее.

Отдельной группой благодарных читателей, несомненно, выступят

профессиональные рекрутеры, нанимающие народ для удар-

ного труда в интернет-компаниях.

Кроме того, я надеюсь, что материал будет просто интересен всем, кто пользуется Интернетом и желает узнать, как работают интер- нет-компании.

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

Моя цель не показать, что я знаю материал (как это делает-

ся при защите диплома), а помочь ВАМ узнать материал, и ил-

люстрации (текстовые и графические) это лучшее вспомогательное средство, для того чтобы

легче понять и усвоить смысл сказанного и

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

Идем дальше.

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

10

Введение

11

 

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

Пример

Безработная девушка Маша П. захотела стать бухгалтером. Она приходит на соответствующие курсы, но вместо прикладных, оплачиваемых знаний по назначению счетов и инструкций МНС ей преподают теорию макроэкономики и историю бухгалтерии. Маша думает, что она не сможет осилить бухгалтерию, и бросает курсы. В итоге Родина теряет потенциально блестящего бухгалтера и обретает реально радикального члена компартии.

Я преклоняюсь перед предметом "история". О пользе Теории (с большой буквы "Т") и говорить не приходится, но, как я убедился на своем многолетнем опыте работы и преподавания, наиболее

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

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

Кроме того, есть

политические нюансы работы;

распространенные ошибки менеджмента;

продюсеры, программисты и релиз-инженеры, работу которых нужно понимать изнутри, — .

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

Будучи человеком честным и в некоторой степени благородным, признаюсь, что позаимствую классическое начало книг о тестировании, заключающееся в трусливом: "Не используйте знания из этойкниги, если речьидет отестированиикритического ПО".

Итак,

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

ятакже свидетельствую, что все, о чем я расскажу, в силу объективных причин не может на 100 процентов гарантировать ПО от наличия проблем.

12

Введение

 

Поэтому сразу предупреждаю: эта книга не предназначена для

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

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

Два важных момента:

1. В отличие от деятельности юридической деятельность тести-

ровочная (для коммерческих проектов) не регулируется нор мативными актами или другими формальными источниками.

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

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

В цехе тестировщиков ничто не является догмой (nothing is set in stone) и построение добротной системы поиска и превентиро-

вания ошибок в ПО полностью отдается на откуп профессионализму, добросовестности и творчеству тех, кто работает в конкретной интернет-компании.

Поэтому

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

с одной стороны, имеют огромное количество вариаций в существующих интернет-компаниях и,

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

2."То, что русскомухорошо, — для немца смерть". По аналогии:

подходы к тестированию,

степень формализации процессов и

используемые документы,

Введение

13

 

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

Исходя из того что подавляющее большинство интернет-ком-

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

Идем дальше.

Вопрос дня: Что самое главное в нашем деле?

Ответ дня: РЕЗУЛЬТАТ!

Человек может быть прекрасным семьянином, увлекаться фотографией и превосходно петь арию "Libiamo Amor" из "Травиаты", но единственная и неповторимая прелесть его как тестиров-щика

— это РЕЗУЛЬТАТ.

К вопросу о постановке мозгов и попугаях:

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

"У вас есть хобби, друзья и работа. У вашего попугая есть только вы ".

Так вот поаналогии:

Вы можете быть наделены множеством самых прекрасных и вечных добродетелей. Но в вашей работе тестировщика есть единственный смысл РЕЗУЛЬТАТ.

Каков же этот РЕЗУЛЬТАТ (пишу "РЕЗУЛЬТАТ" заглавными буквами в последний раз)?

Спрашиваете — отвечаем:

результатом работы тестировщика является счастье конеч-

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

14

Введение

 

Например,

некто ВикторБуянов бродитпо Интернету в поисках диска с московскимконцертомБиллиДжоела. Вотон наконецнаходитто,чтоискал, заполняетвсенеобходимыеформыинажимаеткнопку "Купить". Если

на следующей странице будет написано: "Дорогой Виктор, мы получили ваш заказ, ждите посылку" и

черезнеделюпочтальонпринесетсамдиск,

точестьихвалавамкактестировщикам.

Еслиже

на следующей странице красуется "500 — Internal Server Error" (внутренняяошибка сервераномер 500)... и тишина,

топишитеобъяснительные.

Идем дальше.

Я дам вам знания, с которыми можно пройти интервью, получить интересную работу и начать новую жизнь, но кроме прикладных моментов следует твердо знать, что тестировщикам большую часть заработной платы платят за честность, так как именно нашему брату оказано доверие сказать "Поехали". И даже абсолютно далекий от тестирования господин Буянов косвенно подтвердил своим выбором мои слова (дальше поются строчки из припева песни Билли Джоела "Честность" ("Honesty")):

Honesty is hardly ever heard. And mostly what I need from you.

(Честность — это 50% + 1 единица того, что я жду от тебя.)

Перевожу тему.

Будет дано множество примеров того, что мы работаем на некий онлайн-стартап www.testshop.rs (rs — это не глобальный домен, как com или ru, а мои инициалы).

Многие термины будут написаны по-английски с немедленным русским переводом и наоборот. Знание родной терминологии поможет работе в инофирме.

Пользуясь случаем, хочу поблагодарить (в алфавитном порядке):

Алекса Хатилова (Yahoo!) за превосходные лекции, многочасовые консультации по телефону и демонстрацию силы аналогий и примеров из жизни и

Никиту Тулинова (Sun Microsystems), который принял меня, как брата, и наставил на путь истинный.

Итак, в путь. Если что, пишите на qatest@gmail.com.

ЧАСТЬ1

ЧТОТАКОЕБАГ

ЦЕЛЬ ТЕСТИРОВАНИЯDECODED

ИСКУССТВО СОЗДАНИЯ ТЕСТ-КЕЙСОВ

ЦИКЛ РАЗРАБОТКИ ПО

ЧТОТАКОЕБАГ

ОПРЕДЕЛЕНИЕ БАГА

ТРИ УСЛОВИЯ ЖИЗНИ И ПРОЦВЕТАНИЯ БАГА

ЧТО ТАКОЕ ТЕСТИРОВАНИЕ

ИСТОЧНИКИ ОЖИДАЕМОГО РЕЗУЛЬТАТА

ФУНКЦИОНАЛЬНЫЕ БАГИ И БАГИ СПЕКА

Логический закон исключенного третьего гласит, что любая вещь — это либо а, либо не-а. Третьего не дано, т.е. если у вас есть часы "Брегет" за номером 5, то любая вещь в этом мире будет либо вашими часами "Брегет" за номером 5, либо чем-то

другим.

Представим себе конвейер, в конце которого стоим мы. Лента конвейера движется, и перед нами по очереди появляется по одному предмету. Задача проста — ожидать появления ваших часов "Брегет" за номером 5 и говорить "баг" при появлении любого предмета, отличного от них.

Нетрудно догадаться, что такие предметы, как

пакет кефира;

будильник "Слава";

буклет с предвыборными обещаниями кандидата в президенты Н.,

будут для нас багами.

Далее. Рассмотрим, что объединяет следующие ситуации.

17

18

Тестирование Дот Ком. Часть 1

 

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

2.Вы купили книгу по интернет-тестированию, а в ней рассказывается о приготовлении яичницы.

3.Девушка из пункта 1 прочитала книгу из пункта 2, но яичница пересолена.

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

даемого.

Разбор ситуаций.

1.Ожидаемый результат-— девушка умеет готовить.

Фактический результат — утро без завтрака.

2.Ожидаемый результат — знания по тестированию.

Фактический результат — знания по кулинарии.

3.Ожидаемый результат — яичница будет приготовлена. Фактический результат — еще одно утро без завтрака.

Определение бага

Итак,

баг (bug) это отклонение фактического результата (actual result) от ожидаемого результата (expected result).

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

Триусловия жизни и процветания бага

Конкретный баг живет и процветает лишь при одновременном выполнении всех трех условий:

1.Известен фактический результат;

2.Известен ожидаемый результат;

3.Известно, что результат из пункта 1 не равен результату из пункта 2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]