Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд
Лайза Криспин, Джанет Грегори
Тестирование является ключевым компонентом гибкой разработки. Широкое внедрение гибких методов привело к необходимости помещения в центр внимания приемов эффективного тестирования, а гибкие проекты существенно трансформировали роль тестировщиков ПО. Тем не менее, большинство функций тестировщика остается в значительной степени недопонятыми. В чем же состоит истинная роль тестировщика? Нужны ли гибким командам члены, разбирающиеся в вопросах контроля качества? Что на самом деле означает должность «гибкий тестировщик»?
Двое из наиболее опытных в области гибкого тестирования практиков и консультантов, Лайза Криспин и Джанет Грегори, объединились в команду, чтобы предоставить окончательные ответы на эти и многие другие вопросы. В настоящей книге они дают определение гибкого тестирования и показывают роль тестировщиков в реальных гибких командах. Вы узнаете, как использовать квадранты гибкого тестирования для идентификации потребностей в тестировании, требований к тестировщикам и набору инструментальных средств, который поможет проводить тестирование наиболее эффективно. В книге описана итерация гибкой разработки программного обеспечения с точки зрения тестировщика, а также объясняются семь ключевых факторов успеха гибкого тестирования.
В этой книге описаны следующие темы.
- Как вовлечь тестировщиков в процесс гибкой разработки ПО;
- Какое место в гибкой команде занимают тестировщики и менеджеры по контролю качества;
- Как определить нужный момент для найма гибкого тестировщика;
- Как совершить переход от традиционной циклической к гибкой разработке;
- Как обеспечить полное выполнение всех действий по тестированию в течение коротких итераций;
- Как использовать тесты для успешного управления процессом разработки.
Эта книга предназначена для гибких тестировщиков, гибких команд, их менеджеров и заказчиков.
Издательство: Вильямс, 2010 г.
ISBN 978-5-8459-1625-9, 978-0-321-53446-0
Количество страниц: 464.
Содержание книги «Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд»:
- 17 Об авторах
- 18 Благодарности
- 22 Предисловие
- 25 Введение
- 26 Почему мы написали эту книгу
- 26 Как мы писали эту книгу
- 27 Наша аудитория
- 29 Как использовать эту книгу
- 29 Часть I. Введение
- 30 Часть II. Организационные проблемы
- 30 Часть III. Квадранты гибкого тестирования
- 31 Часть IV. Автоматизация
- 31 Часть V. Итерация в жизни тестировщика
- 32 Часть VI. Итоги
- 32 Другие элементы
- 32 Просто начните — прямо сегодня!
- 32 От издательства
- 33 Часть I. Введение
- 34 Глава 1. Что такое гибкое тестирование?
- 35 Значение понятия «гибкий»
- 36 Что понимается под «гибким тестированием»?
- 38 Маленький контекст ролей и действий в гибкой команде
- 38 Команда заказчика
- 38 Команда разработчиков
- 39 Взаимодействие между командами заказчика и разработчиков
- 39 В чем отличие гибкого тестирования?
- 40 Работа в традиционных командах
- 40 Работа в гибких командах
- 42 Сравнение традиционного и гибкого тестирования
- 45 Полнокомандный подход
- 46 Резюме
- 47 Глава 2. Десять принципов гибкого тестирования
- 48 Что собой представляет гибкий тестировщик?
- 48 Образ мышления, ориентированный на гибкое тестирование
- 49 Применение принципов и ценностей гибкости
- 50 Обеспечение постоянной обратной связи
- 50 Принесение пользы заказчику
- 51 Готовность к личным контактам
- 52 Смелость
- 53 Простота
- 54 Постоянное совершенствование практики
- 55 Реакция на изменения
- 56 Самоорганизация
- 57 Ориентация на людей
- 58 Удовольствие
- 58 Добавленная ценность
- 60 Резюме
- 61 Часть II. Организационные проблемы
- 62 Глава 3. Сложности, связанные с культурой
- 63 Организационная культура
- 63 Философия качества
- 65 Размеренное движение
- 66 Отношения с заказчиком
- 66 Размер организации
- 68 Усиливайте команду
- 68 Препятствия в отношении адаптации команд тестировщиков и обеспечения качества к гибкой методике
- 69 Утеря идентичности
- 69 Дополнительные роли
- 69 Недостаток тренировки
- 70 Непонимание концепций гибкости
- 72 Прошлый опыт и отношение
- 72 Культурные различия между ролями
- 73 Внесение изменений
- 73 Говорите о страхах
- 74 Предоставляйте команде право собственности
- 74 Отмечайте успех
- 75 Ожидания менеджмента
- 75 Культурные изменения для менеджеров
- 77 Говорите на языке менеджеров
- 79 Перемены не даются легко
- 79 Будьте терпеливы
- 79 Дайте им почувствовать боль
- 79 Выстраивайте доверие
- 79 Работайте над собственным профессиональным ростом
- 80 Остерегайтесь образа мыслей «полиции качества»
- 80 Выражайте свое недовольство «голосованием ногами»
- 80 Резюме
- 63 Организационная культура
- 82 Глава 4. Логистика команды
- 83 Структура команды
- 83 Независимые команды QA
- 84 Интеграция тестировщиков в гибкий проект
- 86 Команды гибких проектов
- 87 Физическая логистика
- 88 Ресурсы
- 89 Соотношение тестировщиков и разработчиков
- 90 Наем гибкого тестировщика
- 91 Формирование команды
- 91 Самоорганизующаяся команда
- 91 Вовлечение других команд
- 92 Каждый член команды одинаково ценен
- 92 Производительность и поощрения
- 93 Что вы можете сделать?
- 93 Резюме
- 83 Структура команды
- 94 Глава 5. Перенос типичных процессов
- 95 Поиск легковесных процессов
- 95 Метрики
- 95 Минимальные показатели
- 96 Зачем нужны метрики
- 97 Чего не стоит делать с метриками
- 98 Передача метрик
- 99 Метрики для возврата инвестиций
- 100 Отслеживание дефектов
- 100 Почему нужно использовать систему отслеживания ошибок?
- 102 Почему не следует использовать систему отслеживания ошибок?
- 103 Инструменты отслеживания дефектов
- 105 Сконцентрируйтесь на цели
- 106 Планирование тестов
- 106 Сравнение стратегии тестирования и планов тестирования
- 107 Трассируемость
- 108 Существующие процессы и модели
- 108 Аудиты
- 109 Каркасы, модели и стандарты
- 112 Резюме
- 113 Часть III. Квадранты гибкого тестирования
- 114 Глава 6. Назначение тестирования
- 115 Что такое квадранты гибкого тестирования
- 115 Тесты, поддерживающие команду
- 118 Тесты, критикующие продукт
- 121 Знание того, когда история завершена
- 121 Коллективная ответственность
- 122 Управление техническим долгом
- 122 Тестирование в контексте
- 124 Резюме
- 115 Что такое квадранты гибкого тестирования
- 125 Глава 7. Технологически-ориентированные тесты для поддержки команды
- 126 Основание гибкого тестирования
- 127 Назначение тестов первого квадранта
- 127 Инфраструктура поддержки
- 128 Зачем писать и прогонять тесты?
- 128 Как нам двигаться быстрее и делать больше
- 129 Облегчение работы тестировщиков
- 130 Проектирование с учетом тестирования
- 133 Своевременная обратная связь
- 135 Где кончаются технологически-ориентированные тесты?
- 136 Что если команда не выполняет тесты?
- 136 Что могут сделать тестировщики?
- 137 Что могут сделать менеджеры?
- 138 Это проблема команды
- 138 Инструментарий
- 138 Управление исходным кодом
- 139 Интегрированные среды разработки
- 140 Инструменты сборки
- 141 Инструменты автоматизации сборки
- 141 Инструменты модульного тестирования
- 142 Резюме
- 126 Основание гибкого тестирования
- 143 Глава 8. Бизнес-ориентированные тесты для поддержки команды
- 144 Управление разработкой с помощью бизнес-ориентированных тестов
- 146 Затруднения с требованиями
- 147 Общий язык
- 149 Извлечение требований
- 153 Предварительная ясность
- 154 Критерии приемлемости
- 155 Побочные эффекты
- 156 Тонкие срезы, маленькие кусочки
- 159 Как узнать, когда все готово?
- 159 Тесты смягчают риск
- 161 Тестируемость и автоматизация
- 162 Резюме
- 163 Глава 9. Инструментарий для бизнес-ориентированных тестов, поддерживающих команду
- 164 Стратегия инструментов бизнес-ориентированных тестов
- 165 Инструменты для извлечения примеров и требований
- 166 Списки с пометками
- 166 Интеллектуальные карты
- 169 Электронные таблицы
- 169 Имитации
- 171 Потоковые диаграммы
- 171 Программные инструменты
- 174 Инструменты для автоматизации тестов на основе примеров
- 174 Инструменты для тестирования ниже уровней графического интерфейса пользователя и API-интерфейса
- 179 Инструменты для тестирования через графический интерфейс пользователя
- 185 Стратегии написания тестов
- 186 Последовательное построение тестов
- 186 Сохраняйте тесты проходимыми
- 187 Используйте соответствующие шаблоны проектирования тестов
- 189 Тестирование, управляемое ключевыми словами и данными
- 191 Тестируемость
- 191 Проект кода и проект теста
- 192 Сравнение автоматизированных и ручных тестов из второго квадранта
- 192 Управление тестами
- 193 Резюме
- 194 Глава 10. Бизнес-ориентированные тесты, критикующие продукт
- 195 Введение в третий квадрант
- 195 Демонстрации
- 197 Тестирование сценария
- 199 Исследовательское тестирование
- 204 Тестирование на основе сеансов
- 204 Автоматизация и исследовательское тестирование
- 205 Тестировщик-исследователь
- 205 Тестирование удобства использования
- 205 Нужды пользователя и тестирование «персонажами»
- 207 Навигация
- 207 Проверяйте конкурентоспособность
- 207 Позади графического интерфейса пользователя
- 208 Тестирование API-интерфейса
- 209 Веб-службы
- 210 Тестирование документов и документации
- 210 Документация пользователя
- 211 Отчеты
- 213 Инструменты, помогающие в исследовательском тестировании
- 213 Установка теста
- 214 Генерация тестовых данных
- 214 Инструменты мониторинга
- 215 Симуляторы
- 215 Эмуляторы
- 216 Резюме
- 217 Глава 11. Критика продукта с использованием технологически-ориентированных тестов
- 218 Введение в четвертый квадрант
- 219 Кто это делает?
- 221 Когда это делать?
- 223 Тестирование «возможности»
- 223 Безопасность
- 226 Сопровождаемость
- 227 Способность к взаимодействию
- 228 Совместимость
- 228 Надежность
- 230 Инсталлируемость
- 230 Резюме о «возможностях»
- 231 Тестирование производительности, загрузки, масштабируемости и стрессовое тестирование
- 231 Масштабируемость
- 231 Тестирование производительности и загрузки
- 232 Инструменты тестирования производительности и загрузки
- 233 Базовая линия
- 234 Тестовая среда
- 235 Управление памятью
- 236 Резюме
- 237 Глава 12. Резюме по квадрантам тестирования
- 238 Еще раз о квадрантах тестирования
- 238 Пример системы тестов
- 238 Приложение
- 239 Команда и процесс
- 240 Разработка, управляемая тестами
- 240 Модульные тесты
- 241 Приемочные тесты
- 241 Автоматизация
- 241 Автоматизированная структура функционального тестирования
- 242 Веб-службы
- 243 Встроенное тестирование
- 244 Критика продукта бизнес-ориентированными тестами
- 244 Исследовательское тестирование
- 244 Источники тестовых данных
- 244 Сквозное тестирование
- 245 Приемочное тестирование пользователя
- 245 Надежность
- 246 Документация
- 246 Документирование кода тестов
- 246 Отчеты о результатах прогона тестов
- 246 Использование квадрантов гибкого тестирования
- 248 Резюме
- 249 Часть IV. Автоматизация
- 250 Глава 13. Причины и препятствия к внедрению автоматизации тестов
- 251 Зачем выполнять автоматизацию?
- 251 Ручное тестирование требует длительного времени
- 252 Ручной процесс подвержен ошибкам
- 252 Автоматизация освобождает людей для выполнения лучшей работы
- 253 Автоматизированные регрессивные тесты предоставляют «страховочную сетку»
- 254 Автоматизированные тесты обеспечивают ранний и частый отклик
- 255 Тесты и примеры, управляющие кодированием, дают больше
- 256 Тесты означают замечательную документацию
- 256 Возврат инвестиций и окупаемость
- 256 Барьеры на пути автоматизации
- 257 Список Брета
- 257 Список препятствий
- 257 Позиция программистов: «Зачем автоматизировать?»
- 258 Горб боли (кривая обучения)
- 259 Начальные инвестиции
- 260 Текучесть кода
- 261 Унаследованный код
- 261 Страх
- 261 Старые привычки
- 262 Можно ли преодолеть эти барьеры?
- 262 Резюме
- 251 Зачем выполнять автоматизацию?
- 263 Глава 14. Стратегия автоматизации тестирования
- 264 Гибкий подход к автоматизации тестов
- 264 Категории автоматизации тестов
- 266 Пирамида автоматизации тестов
- 269 Что можно автоматизировать?
- 270 Непрерывная интеграция, сборка и развертывание
- 271 Модульные и компонентные тесты
- 271 Тестирование API-интерфейса или веб-служб
- 272 Тестирование позади графического интерфейса пользователя
- 272 Тестирование графического интерфейса пользователя
- 272 Тесты загрузки
- 273 Сравнения
- 273 Повторяющиеся задачи
- 273 Создание или установка данных
- 274 Что не следует автоматизировать
- 274 Тестирование удобства
- 275 Исследовательское тестирование
- 275 Тесты, которые никогда не дают сбоя
- 276 Одноразовые тесты
- 277 Что может быть трудно автоматизировать?
- 277 Выработка стратегии автоматизации: с чего начинать?
- 278 Где болит сильнее всего?
- 279 Многоуровневый подход
- 281 Думайте о проектировании и сопровождении тестов
- 282 Выбор правильных инструментов
- 286 Применение гибких принципов к автоматизации тестов
- 286 Сохраняйте простоту
- 287 Итеративный отклик
- 288 Полнокомандный подход
- 290 Найдите время для правильного решения
- 291 Обучение в процессе
- 292 Применяйте приемы гибкого кодирования к тестам
- 292 Подготовка данных для тестов
- 292 Инструменты генерации данных
- 293 Избегайте обращения к базе данных
- 295 Когда обращения к базе данных не избежать
- 298 Поймите свои потребности
- 298 Идентификация требований к инструменту автоматизации
- 299 По одному инструменту за раз
- 300 Выбор инструментов
- 302 Инструменты, дружественные к гибкой методике
- 303 Реализация автоматизации
- 305 Управление автоматизированными тестами
- 306 Организация тестов
- 308 Организация результатов прогона тестов
- 309 Приступайте!
- 310 Резюме
- 264 Гибкий подход к автоматизации тестов
- 311 Часть V. Итерация в жизни тестировщика
- 312 Глава 15. Действия тестировщика при планировании выпуска или темы
- 313 Назначение планирования выпуска
- 314 Определение размеров
- 315 Как определять размеры историй
- 316 Роль тестировщика в оценке размеров историй
- 317 Пример оценки размеров историй
- 319 Назначение приоритетов
- 320 Зачем назначать приоритеты историй?
- 320 Учет соображений тестирования при выборе приоритетов
- 321 Что попадает в контекст?
- 322 Сроки и графики
- 323 Сосредоточение на пользе
- 323 Влияние на всю систему
- 324 Участие третьей стороны
- 326 Планирование тестов
- 326 С чего начать
- 326 Зачем писать план тестирования?
- 327 Типы тестов
- 327 Инфраструктура
- 328 Среды тестирования
- 329 Тестовые данные
- 330 Результаты тестов
- 331 Альтернативы планам тестирования
- 331 Легковесные планы тестирования
- 331 Использование матрицы тестирования
- 334 Подготовка визуальных средств
- 334 Задачи слежения за тестами и их состоянием
- 335 Электронная таблица тестирования
- 335 Классная доска
- 335 Список автоматизированных тестов
- 338 Передача результатов тестирования
- 338 Показатели выпуска
- 346 Резюме
- 347 Глава 16. Сдвиг с мертвой точки
- 348 Будьте активны
- 348 Преимущества
- 350 Действительно ли это надо?
- 350 Потенциальные недостатки предварительной подготовки
- 351 Повышенная ясность
- 351 Единодушие заказчиков
- 352 Размер истории
- 354 Географически распределенные команды
- 355 Примеры
- 357 Стратегии тестирования
- 358 Назначение приоритетов дефектам
- 358 Ресурсы
- 358 Резюме
- 348 Будьте активны
- 360 Глава 17. Запуск итерации
- 361 Планирование итерации
- 361 Изучение деталей
- 362 Учет всех точек зрения
- 365 Написание карточек задач
- 369 Распределение рабочей нагрузки
- 369 Тестируемые истории
- 372 Сотрудничество с заказчиками
- 372 Высокоуровневые тесты и примеры
- 375 Пересмотр вместе с заказчиками
- 375 Пересмотр вместе с программистами
- 376 Тестовые сценарии в качестве документации
- 377 Резюме
- 361 Планирование итерации
- 379 Глава 18. Кодирование и тестирование
- 380 Управление разработкой
- 380 Простой старт
- 380 Добавление сложности
- 381 Оценка риска
- 382 Совместный прогресс тестирования и кодирования
- 383 Идентификация вариаций
- 384 Правило «силы трех»
- 384 Сосредоточение на одной истории
- 385 Тесты, критикующие продукт
- 386 Сотрудничество с программистами
- 386 Парное тестирование
- 386 «Покажите мне»
- 387 Разговор с заказчиком
- 387 Покажите заказчикам
- 387 Понимание бизнеса
- 388 Завершение задач тестирования
- 389 Как справиться с ошибками
- 389 Дефект или особенность?
- 390 Технический долг
- 390 Принцип нулевой терпимости к ошибкам
- 391 Все является вопросом выбора
- 391 Решите, какие ошибки протоколировать
- 393 Когда ошибки должны исправляться?
- 395 Выбор носителя для протоколирования ошибок
- 396 Альтернативы и рекомендации по работе с ошибками
- 399 Простой старт
- 399 Облегчайте общение
- 400 Тестировщики стимулируют общение
- 401 Распределенные команды
- 402 Регрессивные тесты
- 403 Сохранение сборки «зеленой»
- 403 Сохранение сборки быстрой
- 404 Построение регрессивного комплекта
- 404 Проверка «общей картины»
- 404 Ресурсы
- 404 Показатели итерации
- 405 Измерение прогресса
- 405 Показатели дефектов
- 409 Резюме
- 380 Управление разработкой
- 410 Глава 19. Завершение итерации
- 411 Демонстрация итерации
- 412 Ретроспективы
- 412 Старт, стоп, продолжение
- 414 Идеи по совершенствованию
- 416 Празднование успеха
- 417 Резюме
- 418 Глава 20. Успешная поставка
- 419 Что составляет продукт?
- 420 Планируйте достаточно времени на тестирование
- 420 Конец игры
- 422 Тестирование выпуска-кандидата
- 422 Тестирование в установочной среде
- 422 Финальное нефункциональное тестирование
- 423 Интеграция с внешними приложениями
- 423 Преобразование данных и обновления базы данных
- 425 Тестирование инсталляции
- 426 Общение
- 426 Что если выпуск не готов
- 428 Тестирование заказчика
- 428 Пользовательское приемочное тестирование
- 429 Альфа- и бета-тестирование
- 430 Цикл тестирования после разработки
- 431 Поставки
- 433 Выпуск продукта
- 433 Критерии приемки выпуска
- 435 Управление выпусками
- 436 Пакетирование
- 436 Ожидания заказчика
- 436 Поддержка продукта
- 437 Влияние на бизнес
- 438 Резюме
- 439 Часть VI. Итоги
- 440 Глава 21. Ключевые факторы успеха
- 441 Фактор успеха 1: используйте полнокомандный подход
- 441 Фактор успеха 2: примите образ мышления, ориентированный на гибкое тестирование
- 442 Фактор успеха 3: автоматизируйте регрессивное тестирование
- 443 Фактор успеха 4: обеспечьте получение отклика
- 445 Фактор успеха 5: стройте фундамент для базовых гибких приемов
- 445 Непрерывная интеграция
- 445 Тестовые среды
- 445 Управление техническим долгом
- 446 Инкрементный подход к работе
- 446 Кодирование и тестирование — части одного процесса
- 447 Совместное применение приемов
- 447 Фактор успеха 6: сотрудничайте с заказчиками
- 448 Фактор успеха 7: смотрите на общую картину
- 449 Резюме
- 450 Глоссарий
- 456 Книги, статьи, журналы и записи в блогах
- 460 Предметный указатель
Инструкция как скачать книгу Лайза Криспин, Джанет Грегори: Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.