Введение
Часть 1Что такое баг
Определение
Три условия жизни и процветания бага
Что такое тестирование
Источники ожидаемого результата
Функциональные баги и баги спека
Цель тестирования (Decoded)
Цель тестирования
Черная магия и ее немедленное разоблачение
Разоблачение концепции о 100%-м тестировании ПО
Разоблачение концепции о количестве багов, найденных до релиза
Идея о статистике для пострелизных багов
Тестирование иол (Quality Assurance)
Искусство создания тест-кейсов
Что такое тест-кейс
Структура тест-кейса
Исход исполнения тест-кейса (test case result)
Полезные атрибуты тест-кейса
Тест-кейсы, управляемые данными
Поддерживаемость тест-кейса
Сколько ожидаемых результатов может быть в одном тест-кейсе?
Проблемные тест-кейсы
Тест-комплекты
Состояния тест-кейса
«А напоследок я скажу»
Цикл разработки по
Идея
• Действующие лица
• Документ о требованиях маркетинга (MRD)
Разработка дизайна продукта и создание спека
• Разница между идеей и дизайном
• Действующие лица
• Спеки
• Болезни спеков
• Статусы спека
• "Черновик"
• "Ожидание утверждения"
• "Утверждено"
• Борьба с неверными толкованиями спека
• Макеты
• Блок-схемы
• Примеры
Кодирование
• Действующие лица
• Документ о внутреннем дизайне кода
• Личная версия сайта программиста
• Причины появление багов кода
• Меры по оздоровлению кода и превентированию багов
• Юнит-тестирование
• Концепция стоимости бага
• Три основных занятия программиста
• Необходимость замораживания кода
• Виды багов кода Хранение документации в CVS Обсуждение тесткейсов
Исполнение тестирования и ремонт багов
Релиз
• Определение, виды и версии релизов
• Действующие лица Создаем
•
www.testshop.rs• Содержание
• Архитектура
www.testshop.rs• CVS
• Что такое билд
• Первый релиз
www.testshop.rs• Бранчи CVS
• Бета-тестирование
Большая картина цикла разработки ПО
Часть 2Цикл тестирования ПО
Изучение и анализ предмета тестирования
• Что такое функциональность Источники знания о функциональности Эксплоринг
Планирование тестирования
Исполнение тестирования
Классификация видов тестирования
По знанию внутренностей системы
• Черный ящик (black box testing)
• Белый ящик (white box testing)
• Серый ящик (grey box testing)
По объекту тестирования
• Функциональное тестирование (functional testing)
• Тестирование интерфейса пользователя (UI testing)
• Тестирование локализации (localization testing)
• Тестирование скорости и надежности (load/stress/performance testing)
• Тестирование безопасности (security testing)
• Тестирование опыта пользователя (usability testing)
• Тестирование совместимости (compatibility testing)
По субъекту тестирования
• Альфа-тестировщик (alpha tester)
• Бета-тестировщик (beta tester)
По времени проведения тестирования
• До передачи пользователю — альфа-тестирование (alpha testing)
• Тест приемки (smoke test, sanity test или confidence test)
• Тестирование новых фунщиональностей (new feature testing)
• Регрессивное тестирование (regression testing)
• Тест сдачи (acceptance of certification test)
• После передачи пользователю — бета-тестирование (beta testing)
По критерию "позитивности" сценариев
• Позитивное тестирование (positive testing)
• Негативное тестирование (negative testing)
• По степени изолированности тестируемых компонентов
• Компонентное тестирование (component testing)
• Интеграционное тестирование (integration testing)
• Системное (или энд-ту-энд) тестирование (system or end-to-end testing)
По степени автоматизированности тестирования
• Ручное тестирование (manual testing)
• Автоматизированное тестирование (automated testing)
• Смешанное/полуавтоматизированное тестирование (semi automated testing)
По степени подготовки к тестированию
• Тестирование по документации (formal/documented testing)
• Эд Хок тестирование (Ad hoc testing)
Часть 3Подготовка к тестированию
Нигилистический настрой и практическая методология
Ментальный настрой тестировщика
Методы генерирования тестов:
• Черновик—Чистовик (dirty list — white list)
• Матричная раскладка (matrices)
• Блок-схемы (flowchart)
Методы отбора тестов
• Оценка риска (risk estimate)
• Эквивалентные классы (equivalent classes)
• Пограничные значения (boundary values)
• Исполнение тестирования
Жизнь замечательных багов
Что такое система трэкинга багов
Атрибуты бага
• 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 in progress (баг ремонтируется)
• Fixed (баг отремонтирован)
• Build in progress (билд на тест машину в процессе)
• Verify (проведи регрессивное тестирование) 8 Содержание
• Fix is verified (ремонт был успешен)
• Verification failed (ремонт был неуспешен)
• Can't reproduce (не могу воспроизвести)
• Duplicate (дубликат)
• Not a bug (не баг)
• 3rd party bug (не наш баг)
• No longer applicable (поезд ушел)
Процесс трэкинга багов
• Концептуальное рассмотрение процесса
• Процесс и атрибуты Конкретный пример Исполнение тестирования.
Стадия 1: Тестирование новых фича (new feature testing)
Тест-смета (test estimation)
Критерий начала/завершения (entry/exit criteria)
Тест-План (test plan)
Исполнение тестирования. Стадия 2: Регрессивное тестирование (regression testing)
Выбор тест-комплектов для регрессивного тестирования
Решение проблемы противоречия
• Приоретизация тест-комплектов и тест-кейсов
• Оптимизация тест-комплектов
• Найм новых тестировщиков
• Автоматизация регрессивного тестирования
Часть 4Как устроиться на первую работу
Ментальный настрой
Этапы поиска первой работы тестировщиком
• Составление резюме
• Работа с агентством по трудоустройству
• Компания по рекламе себя
• Интервью
• Нюансы живого интервью
• Список типичных вопросов и правильных ответов
История об Оле и Джордже
Послесловие