
03.11.13_1 / 2_roman_savin_testirovanie
.pdf
Роман Савин
teстирование COM
или Пособие по жестокому
обращению с багами
в интернет-стартапах

РоманСавин
Одна из причин, побудивших автора написать эту книгу, — «осознание собственного бессилия в поисках сиюминутного практического смысла при чтении классических сочинений по теории тестирования...», в особенности когда ты в поисках работы и время дорого. «Наиболее эффективный подход для тренинга тестировщиков — дать им практический инструментарий, поставить внужную сторонумозги— ив бой...»
Эта книга и есть тот самый практический инструментарий. Здесь вы найдете проработанную структуру, профессиональное изложение темы, множество примеров и советов, а также «...легион того, о чем вам напрямую ненапишут инескажут, ночтоможет быть не менее важно для выживания в софтверной компании, чем профессиональныезнания».
Но это не все. Особенность книги в том, как излагается материал. Роман Савин отказался от традиционных канонов написания учебных пособий и превратил книгу в живую непринужденную беседу, насыщенную шуткой и иронией, не чуждую отступлений и даже воспоминаний, которые тем не менее встроены в контекст и работают на предмет какиллюстрационныйматериал.
Читать книгу интересно и весело. Убедитесь в этом сами.

Роман Савин
tестирование сом
или Пособие по жестокому
обращению с багами
в интернет-стартапах
ИЗДАТЕЛЬСТВО «ДЕЛО» • МОСКВА•2007
УДК 004.415.53 ББК 32.973.2-018.2я7 С13
Савин Р.
С13 Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах. — М.: Дело, 2007. — 312 с.
ISBN 978-5-7749-0460-0
Этот курс лекций создан для тех, кто хочет обучиться тестированию, получить работу тестировщика в российской или западной интернет-ком- пании, понять, как вести себя в корпоративном окружении, и добиться профессионального и личностного роста. Он будет интересен и участникам процесса разработки программного обеспечения, рекрутерам, людям, связанным с интернетом или пишущим о нем, и просто всем желающим понять кухню интернет-стартапов.
Книга целиком базируется на личном опыте освоения — с нуля — профессии тестировщика и многолетней работы автора в этом качестве в интернет-компаниях США.
|
УДК 004.415.53 ББК |
|
32.973.2-018.2я7 |
ISBN 978-5-7749-0460-0 |
О Савин Р., 2007 |
|
© Корсун С.Н., иллюстрации, 2007 |
|
© Оформление. Издательство |
|
"Дело", 2007 |
СОДЕРЖАНИЕ
Введение........................................................................................ |
10 |
Ч ас ть 1 |
|
ЧТО ТАКОЕ БАГ ................................................................................... |
17 |
ОПРЕДЕЛЕНИЕ БАГА............................................................................................. |
18 |
ТРИ УСЛОВИЯ ЖИЗНИ И ПРОЦВЕТАНИЯ БАГА................................................ |
18 |
ЧТОТАКОЕТЕСТИРОВАНИЕ................................................................................ |
19 |
ИСТОЧНИКИ ОЖИДАЕМОГО РЕЗУЛЬТАТА........................................................ |
20 |
ФУНКЦИОНАЛЬНЫЕ БАГИ И БАГИ СПЕКА......................................................... |
21 |
ЦЕЛЬ ТЕСТИРОВАНИЯ DECODED .................................................... |
25 |
ЦЕЛЬ ТЕСТИРОВАНИЯ.......................................................................................... |
25 |
ЧЕРНАЯ МАГИЯ И ЕЕ НЕМЕДЛЕННОЕ РАЗОБЛАЧЕНИЕ................................... |
25 |
Разоблачение концепции о 100%-м тестировании ПО |
|
Разоблачение концепции о количестве багов, |
|
найденных до релиза |
|
ИДЕЯ О СТАТИСТИКЕ ДЛЯ ПОСТРЕЛИЗНЫХ БАГОВ....................................... |
29 |
ТЕСТИРОВАНИЕ ИОЛ (Quality Assurance)......................................................... |
32 |
ИСКУССТВО СОЗДАНИЯ ТЕСТ-КЕЙСОВ......................................... |
35 |
ЧТО ТАКОЕ ТЕСТ-КЕЙС......................................................................................... |
35 |
СТРУКТУРА ТЕСТ-КЕЙСА..................................................................................... |
37 |
ИСХОД ИСПОЛНЕНИЯ ТЕСТ-КЕЙСА (test case result).................................... |
39 |
ПОЛЕЗНЫЕ АТРИБУТЫ ТЕСТ-КЕЙСА ................................................................. |
39 |
ТЕСТ-КЕЙСЫ, УПРАВЛЯЕМЫЕ ДАННЫМИ......................................................... |
43 |
ПОДДЕРЖИВАЕМОСТЬ ТЕСТ-КЕЙСА................................................................. |
44 |
СКОЛЬКО ОЖИДАЕМЫХ РЕЗУЛЬТАТОВ МОЖЕТ БЫТЬ |
|
В ОДНОМ ТЕСТ-КЕЙСЕ?....................................................................................... |
47 |
3
|
Содержание |
ПРОБЛЕМНЫЕ ТЕСТ-КЕЙСЫ................................................................................ |
50 |
ТЕСТ-КОМПЛЕКТЫ ................................................................................................ |
55 |
СОСТОЯНИЯ ТЕСТ-КЕЙСА.................................................................................... |
62 |
А НАПОСЛЕДОК Я СКАЖУ..................................................................................... |
63 |
ЦИКЛ РАЗРАБОТКИ ПО.................................................................... |
67 |
ИДЕЯ......................................................................................................................... |
69 |
Действующие лица |
|
Документ о требованиях маркетинга (MRD) |
|
РАЗРАБОТКА ДИЗАЙНА ПРОДУКТА И СОЗДАНИЕ СПЕКА.............................. |
71 |
Разница между идеей и дизайном |
|
Действующие лица |
|
Спеки |
|
Болезни спеков |
|
Статусы спека |
|
"Черновик" |
|
"Ожиданиеутверждения" |
|
"Утверждено" |
|
Борьба с неверными толкованиями спека |
|
Макеты |
|
Блок-схемы |
|
Примеры |
|
КОДИРОВАНИЕ...................................................................................................... |
86 |
Действующие лица |
|
Документ о внутреннем дизайне кода |
|
Личная версия сайта программиста |
|
Причины появление багов кода |
|
Меры по оздоровлению кода и превентированию багов |
|
Юнит-тестирование |
|
Концепциястоимостибага |
|
Три основных занятия программиста |
|
Необходимость замораживания кода |
|
Виды багов кода Хранение |
|
документации в CVS Обсуждение тест- |
|
кейсов |
|
ИСПОЛНЕНИЕТЕСТИРОВАНИЯИ РЕМОНТ БАГОВ......................................... |
104 |
РЕЛИЗ.................................................................................................................... |
105 |
Определение, виды и версии релизов Действующие лица Создаем www.testshop.rs
Содержание |
5 |
Архитектура www.testshop.rs |
|
CVS |
|
Что такое билд |
|
Первый релиз www.testshop.rs |
|
Бранчи CVS |
|
Бета-тестирование |
|
БОЛЬШАЯ КАРТИНА ЦИКЛА РАЗРАБОТКИ ПО............................................... |
122 |
Час ть 2 |
|
ЦИКЛ ТЕСТИРОВАНИЯ ПО............................................................ |
131 |
ИЗУЧЕНИЕ И АНАЛИЗ ПРЕДМЕТА ТЕСТИРОВАНИЯ...................................... |
133 |
Что такое функциональность Источники |
|
знания о функциональностиЭксплоринг |
|
ПЛАНИРОВАНИЕТЕСТИРОВАНИЯ.................................................................... |
135 |
ИСПОЛНЕНИЕТЕСТИРОВАНИЯ........................................................................ |
136 |
КЛАССИФИКАЦИЯ ВИДОВ ТЕСТИРОВАНИЯ........................... |
139 |
ПО ЗНАНИЮ ВНУТРЕННОСТЕЙ СИСТЕМЫ..................................................... |
142 |
Черный ящик (black box testing) |
|
Белый ящик (white box testing) |
|
Серый ящик (grey box testing) |
|
ПО ОБЪЕКТУ ТЕСТИРОВАНИЯ.......................................................................... |
151 |
Функциональное тестирование (functional testing) |
|
Тестирование интерфейса пользователя (UI testing) |
|
Тестирование локализации (localization testing) |
|
Тестирование скорости и надежности |
|
(load/stress/performance testing) Тестирование |
|
безопасности (security testing) Тестирование опыта |
|
пользователя (usability testing) Тестирование |
|
совместимости (compatibility testing) |
|
ПО СУБЪЕКТУ ТЕСТИРОВАНИЯ........................................................................ |
157 |
Альфа-тестировщик (alpha tester) |
|
Бета-тестировщик (beta tester) |
|
ПО ВРЕМЕНИ ПРОВЕДЕНИЯТЕСТИРОВАНИЯ................................................ |
157 |
До передачи пользователю — альфа-тестирование |
|
(alpha testing) |
|
Тестприемки(smoke test, sanity testилиconfidence test)
6 |
Содержание |
Тестированиеновыхфунщиональностей |
|
(new feature testing) Регрессивное |
|
тестирование(regressiontesting)Тестсдачи |
|
(acceptance of certificationtest) |
|
После передачи пользователю — бета-тестирование |
|
(beta testing) |
|
ПО КРИТЕРИЮ"ПОЗИТИВНОСТИ" СЦЕНАРИЕВ............................................. |
158 |
Позитивное тестирование (positive testing) |
|
Негативное тестирование (negative testing) |
|
ПО СТЕПЕНИ ИЗОЛИРОВАННОСТИ ТЕСТИРУЕМЫХ |
|
КОМПОНЕНТОВ................................................................................................... |
160 |
Компонентное тестирование (component testing) |
|
Интеграционное тестирование (integration testing) |
|
Системное (или энд-ту-энд) тестирование (system or |
|
end-to-end testing) |
|
ПО СТЕПЕНИ АВТОМАТИЗИРОВАННОСТИ ТЕСТИРОВАНИЯ........................ |
166 |
Ручное тестирование (manual testing) |
|
Автоматизированное тестирование (automated testing) |
|
Смешанное/полуавтоматизированное тестирование |
|
(semi automated testing) |
|
ПО СТЕПЕНИ ПОДГОТОВКИ К ТЕСТИРОВАНИЮ............................................. |
169 |
Тестирование по документации (formal/documented |
|
testing) Эд Хок тестирование (Ad |
|
hoc testing) |
|
Час ть 3
ПОДГОТОВКА К ТЕСТИРОВАНИЮ
НИГИЛИСТИЧЕСКИЙ НАСТРОЙ И ПРАКТИЧЕСКАЯ |
|
МЕТОДОЛОГИЯ................................................................................. |
173 |
МЕНТАЛЬНЫЙ НАСТРОЙ ТЕСТИРОВЩИКА..................................................... |
174 |
МЕТОДЫ ГЕНЕРИРОВАНИЯ ТЕСТОВ.......: ...................................................... |
178 |
Черновик—Чистовик (dirty list — white list) |
|
Матричная раскладка (matrices) Блок-схемы |
|
(flowchart) |
|
МЕТОДЫ ОТБОРА ТЕСТОВ................................................................................ |
188 |
Оценка риска (risk estimate) Эквивалентные классы (equivalent classes) Пограничные значения (boundary values)
Содержание |
7 |
ИСПОЛНЕНИЕ ТЕСТИРОВАНИЯ |
|
ЖИЗНЬ ЗАМЕЧАТЕЛЬНЫХ БАГОВ.................................................. |
205 |
ЧТО ТАКОЕ СИСТЕМА ТРЭКИНГА БАГОВ........................................................ |
205 |
АТРИБУТЫ БАГА .................................................................................................. |
209 |
Bug number (номер бага) Summary |
|
(краткое описание) Description and |
|
steps to reproduce |
|
(описание и шаги для воспроизведения проблемы) |
|
Элементывеб-страницы |
|
Текст (text) Линк (link)
Картинка (image)
Слинкованная картинка (linked image) Однострочное текстовое поле (textbox) Многострочное текстовое поле (text entry area)
Поле пароля (password field)
Ниспадающее меню (pull down menu)
Радио кнопка (radio button) Чекбокс (checkbox) Кнопка (button)
Attachment (приложение) Submitted by (автор бага)
Date submitted (дата и время рождения бага) Assigned to (держатель бага)
Assigned by (имя передавшего баг)
Verifier (имя того, кто должен проверить ремонт)
Component (компонент)
Found on (где был найден баг)
Version found (версия, в которой был найден баг) Build found (билд, в котором был найден баг) Version fixed (версия с починенным кодом) Build fixed (билд с починенным кодом) Comments (комментарии)
Severity (серьезность бага) Priority (приоритет бага)
Notify list (список для оповещения) Change history (история изменений) Туре (тип бага)
Status (статус) Resolution (резолюция)
Not assigned(неприписан) Assigned(приписан)
Fix inprogress(баг ремонтируется) Fixed(баг отремонтирован)
Buildinprogress (билд на тестмашину впроцессе) Verify(проведирегрессивное тестирование)
8 |
Содержание |
Fixisverified(ремонтбыл успешен) |
|
Verificationfailed(ремонтбыл неуспешен) |
|
Can'treproduce(не могу воспроизвести) |
|
Duplicate(дубликат) |
|
Not a bug(не баг) |
|
3rd partybug(не наш баг) |
|
Nolonger applicable (поезд ушел) |
|
ПРОЦЕСС ТРЭКИНГА БАГОВ............................................................................. |
245 |
Концептуальное рассмотрение процесса |
|
Процесс и атрибуты Конкретный пример |
|
ИСПОЛНЕНИЕ ТЕСТИРОВАНИЯ. СТАДИЯ 1: |
|
ТЕСТИРОВАНИЕ НОВЫХ ФИЧА (new feature testing).................. |
257 |
ТЕСТ-СМЕТА (test estimation)............................................................................. |
259 |
КРИТЕРИЙ НАЧАЛА/ЗАВЕРШЕНИЯ (entry/exit criteria) .................................. |
265 |
ТЕСТ-ПЛАН (test plan) ......................................................................................... |
266 |
ИСПОЛНЕНИЕ ТЕСТИРОВАНИЯ. СТАДИЯ 2: |
|
РЕГРЕССИВНОЕ ТЕСТИРОВАНИЕ (regression testing)................ |
271 |
ВЫБОР ТЕСТ-КОМПЛЕКТОВ ДЛЯ РЕГРЕССИВНОГО |
|
ТЕСТИРОВАНИЯ................................................................................................... |
273 |
РЕШЕНИЕ ПРОБЛЕМЫ ПРОТИВОРЕЧИЯ ........................................................ |
277 |
Приоретизация тест-комплектов и тест-кейсов |
|
Оптимизация тест-комплектов Найм новых |
|
тестировщиков Автоматизация регрессивного |
|
тестирования |
|
Часть 4
КАК УСТРОИТЬСЯ НА ПЕРВУЮ РАБОТУ................................... |
285 |
МЕНТАЛЬНЫЙ НАСТРОЙ ................................................................................... |
285 |
ЭТАПЫ ПОИСКА ПЕРВОЙ РАБОТЫ ТЕСТИРОВЩИКОМ................................ |
287 |
Составление резюме Работа с агентством по трудоустройству Компания по рекламе себя Интервью
Нюансыживогоинтервью Список типичных вопросовиправильных ответов
ИСТОРИЯ ОБ ОЛЕ И ДЖОРДЖЕ........................................................................ |
306 |
Послесловие ................................................................................ |
308 |