Гибкое тестированиеПрактическое руководство для тестировщиков ПО и гибких команд.

Криспин Лайза, Грегори Джанет. » Гибкое тестирование» Вильямс, 2010 год, 464 стр., ISBN 978-5-8459-1625-9 (рус.) (59,6 мб. djvu)

Тестирование является одним из главных ключевых компонентов в разработке программного обеспечения. Во время тестирования выявляются уровень качества программ, а это: функциональность, производительность, надежность, удобство, совместимость и др. параметры. Из книги вы узнаете о традиционных подходах, а также о концепции и принципах гибкого тестирования и работе тестировщиков при разработке ПО.

Авторы делятся собственным опытом работы в командах гибкой разработки и приводят десятки историй рассказанных реально практикующими тестировщиками. Если ваша работа в команде разработчиков связана с тестированием программных продуктов, то читая книгу вы сможете научиться качественно, на профессиональном уровне использовать гибкую методологию разработки и демонстрировать заказчикам, что программа соответствует всем предъявленным требованиям. Для профессиональных ИТ специалистов.

Оглавление книги

Содержание.

Часть I. Введение

Глава 1. Что такое гибкое тестирование?
Значение понятия «гибкий»
Что понимается под «гибким тестированием»?
Маленький контекст ролей и действий в гибкой команде
Команда заказчика
Команда разработчиков
Взаимодействие между командами заказчика и разработчиков
В чем отличие гибкого тестирования?
Работа в традиционных командах
Работа в гибких командах
Сравнение традиционного и гибкого тестирования
Полнокомандный подход
Резюме

Глава 2. Десять принципов гибкого тестирования
Что собой представляет гибкий тестировщик?
Образ мышления, ориентированный на гибкое тестирование
Применение принципов и ценностей гибкости
Обеспечение постоянной обратной связи
Принесение пользы заказчику Готовность к личным контактам
Смелость
Простота
Постоянное совершенствование практики
Реакция на изменения
Самоорганизация
Ориентация на людей
Удовольствие
Добавленная ценность
Резюме

Часть II. Организационные проблемы

Глава 3. Сложности, связанные с культурой
Организационная культура
Философия качества
Размеренное движение
Отношения с заказчиком
Размер организации
Усиливайте команду
Препятствия в отношении адаптации команд тестировщиков и обеспечения качества к гибкой методике
Утеря идентичности
Дополнительные роли
Недостаток тренировки
Непонимание концепций гибкости
Прошлый опыт и отношение
Культурные различия между ролями
Внесение изменений
Говорите о страхах
Предоставляйте команде право собственности
Отмечайте успех
Ожидания менеджмента
Культурные изменения для менеджеров
Говорите на языке менеджеров
Перемены не даются легко
Будьте терпеливы
Дайте им почувствовать боль
Выстраивайте доверие
Работайте над собственным профессиональным ростом
Остерегайтесь образа мыслей «полиции качества»
Выражайте свое недовольство «голосованием ногами»
Резюме

Глава 4. Логистика команды
Структура команды
Независимые команды QA
Интеграция тестировщиков в гибкий проект
Команды гибких проектов
Физическая логистика
Ресурсы
Соотношение тестировщиков и разработчиков
Наем гибкого тестировщика
Формирование команды
Самоорганизующаяся команда
Вовлечение других команд
Каждый член команды одинаково ценен
Производительность и поощрения
Что вы можете сделать?
Резюме

Глава 5. Перенос типичных процессов
Поиск легковесных процессов
Метрики
Минимальные показатели
Зачем нужны метрики
Чего не стоит делать с метриками
Передача метрик
Метрики для возврата инвестиций
Отслеживание дефектов
Почему нужно использовать систему отслеживания ошибок?
Почему не следует использовать систему отслеживания ошибок?
Инструменты отслеживания дефектов
Сконцентрируйтесь на цели
Планирование тестов
Сравнение стратегии тестирования и планов тестирования
Трассируемость
Существующие процессы и модели
Аудиты
Каркасы, модели и стандарты
Резюме

Часть III. Квадранты гибкого тестирования

Глава 6. Назначение тестирования
Что такое квадранты гибкого тестирования
Тесты, поддерживающие команду
Тесты, критикующие продукт
Знание того, когда история завершена
Коллективная ответственность
Управление техническим долгом
Тестирование в контексте
Резюме

Глава 7. Технологически-ориентированные тесты для поддержки команды
Основание гибкого тестирования
Назначение тестов первого квадранта
Инфраструктура поддержки
Зачем писать и прогонять тесты?
Как нам двигаться быстрее и делать больше
Облегчение работы тестировщиков
Проектирование с учетом тестирования
Своевременная обратная связь
Где кончаются технологически-ориентированные тесты?
Что если команда не выполняет тесты?
Что могут сделать тестировщики?
Что могут сделать менеджеры?
Это проблема команды
Инструментарий
Управление исходным кодом
Интегрированные среды разработки
Инструменты сборки
Инструменты автоматизации сборки
Инструменты модульного тестирования
Резюме

Глава 8. Бизнес-ориентированные тесты для поддержки команды
Управление разработкой с помощью бизнес-ориентированных тестов
Затруднения с требованиями
Общий язык
Извлечение требований
Предварительная ясность
Критерии приемлемости
Побочные эффекты
Тонкие срезы, маленькие кусочки
Как узнать, когда все готово?
Тесты смягчают риск
Тестируемость и автоматизация
Резюме

Глава 9. Инструментарий для бизнес-ориентированных тестов, поддерживающих команду
Стратегия инструментов бизнес-ориентированных тестов
Инструменты для извлечения примеров и требований
Списки с пометками
Интеллектуальные карты
Электронные таблицы
Имитации
Потоковые диаграммы
Программные инструменты
Инструменты для автоматизации тестов на основе примеров
Инструменты для тестирования ниже уровней графического интерфейса пользователя и АРI-интерфейса
Инструменты для тестирования через графический интерфейс пользователя
Стратегии написания тестов
Последовательное построение тестов
Сохраняйте тесты проходимыми
Используйте соответствующие шаблоны проектирования тестов
Тестирование, управляемое ключевыми словами и данными
Тестируемость
Проект кода и проект теста
Сравнение автоматизированных и ручных тестов из второго квадранта
Управление тестами
Резюме

Глава 10. Бизнес-ориентированные тесты, критикующие продукт
Введение в третий квадрант
Демонстрации
Тестирование сценария
Исследовательское тестирование
Тестирование на основе сеансов
Автоматизация и исследовательское тестирование
Тестировщик-исследователь
Тестирование удобства использования
Нужды пользователя и тестирование «персонажами»
Навигация
Проверяйте конкурентоспособность
Позади графического интерфейса пользователя
Тестирование АРI-интерфейса
Веб-службы
Тестирование документов и документации
Документация пользователя
Отчеты
Инструменты, помогающие в исследовательском тестировании
Установка теста
Генерация тестовых данных
Инструменты мониторинга
Симуляторы
Эмуляторы
Резюме

Глава 11. Критика продукта с использованием технологически-ориентированных тестов
Введение в четвертый квадрант
Кто это делает?
Когда это делать?
Тестирование «возможности»
Безопасность
Сопровождаемость
Способность к взаимодействию
Совместимость
Надежность
Инсталлируемость
Резюме о «возможностях»
Тестирование производительности, загрузки, масштабируемости и стрессовое тестирование
Масштабируемость
Тестирование производительности и загрузки
Инструменты тестирования производительности и загрузки
Базовая линия
Тестовая среда
Управление памятью
Резюме

Глава 12. Резюме по квадрантам тестирования
Еще раз о квадрантах тестирования
Пример системы тестов
Приложение
Команда и процесс
Разработка, управляемая тестами
Модульные тесты
Приемочные тесты
Автоматизация
Автоматизированная структура функционального тестирования
Веб-службы
Встроенное тестирование
Критика продукта бизнес-ориентированными тестами
Исследовательское тестирование
Источники тестовых данных
Сквозное тестирование
Приемочное тестирование пользователя
Надежность
Документация
Документирование кода тестов
Отчеты о результатах прогона тестов
Использование квадрантов гибкого тестирования
Резюме

Часть IV. Автоматизация

Глава 13. Причины и препятствия к внедрению автоматизации тестов
Зачем выполнять автоматизацию?
Ручное тестирование требует длительного времени
Ручной процесс подвержен ошибкам
Автоматизация освобождает людей для выполнения лучшей работы
Автоматизированные регрессивные тесты предоставляют «страховочную сетку»
Автоматизированные тесты обеспечивают ранний и частый отклик
Тесты и примеры, управляющие кодированием, дают больше
Тесты означают замечательную документацию
Возврат инвестиций и окупаемость
Барьеры на пути автоматизации
Список Брета
Список препятствий
Позиция программистов: «Зачем автоматизировать?»
Горб боли (кривая обучения)
Начальные инвестиции Текучесть кода Унаследованный код Страх
Старые привычки Можно ли преодолеть эти барьеры?
Резюме

Глава 14. Стратегия автоматизации тестирования
Гибкий подход к автоматизации тестов
Категории автоматизации тестов
Пирамида автоматизации тестов
Что можно автоматизировать?
Непрерывная интеграция, сборка и развертывание
Модульные и компонентные тесты
Тестирование АРI-интерфейса или веб-служб
Тестирование позади графического интерфейса пользователя
Тестирование графического интерфейса пользователя
Тесты загрузки
Сравнения
Повторяющиеся задачи
Создание или установка данных
Что не следует автоматизировать
Тестирование удобства
Исследовательское тестирование
Тесты, которые никогда не дают сбоя
Одноразовые тесты
Что может быть трудно автоматизировать?
Выработка стратегии автоматизации: с чего начинать?
Где болит сильнее всего?
Многоуровневый подход
Думайте о проектировании и сопровождении тестов
Выбор правильных инструментов
Применение гибких принципов к автоматизации тестов
Сохраняйте простоту
Полнокомандный подход
Найдите время для правильного решения
Обучение в процессе
Применяйте приемы гибкого кодирования к тестам
Подготовка данных для тестов
Инструменты генерации данных
Избегайте обращения к базе данных
Когда обращения к базе данных не избежать
Поймите свои потребности
Идентификация требований к инструменту автоматизации
По одному инструменту за раз
Выбор инструментов
Инструменты, дружественные к гибкой методике
Реализация автоматизации
Управление автоматизированными тестами
Организация тестов
Организация результатов прогона тестов
Приступайте!
Резюме

Часть V. Итерация в жизни тестировщика

Глава 15. Действия тестировщика при планировании выпуска или темы
Назначение планирования выпуска
Определение размеров
Как определять размеры историй
Роль тестировщика в оценке размеров историй
Пример оценки размеров историй
Назначение приоритетов
Зачем назначать приоритеты историй?
Учет соображений тестирования при выборе приоритетов
Что попадает в контекст?
Сроки и графики
Сосредоточение на пользе
Влияние на всю систему
Участие третьей стороны
Планирование тестов
С чего начать
Зачем писать план тестирования?
Типы тестов Инфраструктура
Среды тестирования
Тестовые данные
Результаты тестов
Альтернативы планам тестирования
Легковесные планы тестирования
Использование матрицы тестирования
Подготовка визуальных средств
Задачи слежения за тестами и их состоянием
Электронная таблица тестирования
Классная доска
Список автоматизированных тестов
Передача результатов тестирования
Показатели выпуска
Резюме

Глава 16. Сдвиг с мертвой точки
Будьте активны
Преимущества Действительно ли это надо?
Потенциальные недостатки предварительной подготовки
Повышенная ясность
Единодушие заказчиков
Размер истории
Географически распределенные команды
Примеры
Стратегии тестирования
Назначение приоритетов дефектам
Ресурсы
Резюме

Глава 17. Запуск итерации
Планирование итерации
Изучение деталей
Учет всех точек зрения
Написание карточек задач
Распределение рабочей нагрузки
Тестируемые истории
Сотрудничество с заказчиками
Высокоуровневые тесты и примеры
Пересмотр вместе с заказчиками
Пересмотр вместе с программистами
Тестовые сценарии в качестве документации
Резюме

Глава 18. Кодирование и тестирование
Управление разработкой
Простой старт
Добавление сложности
Оценка риска
Совместный прогресс тестирования и кодирования
Идентификация вариаций
Правило «силы трех»
Сосредоточение на одной истории
Тесты, критикующие продукт
Сотрудничество с программистами
Парное тестирование «Покажите мне»
Разговор с заказчиком
Покажите заказчикам
Понимание бизнеса
Завершение задач тестирования
Как справиться с ошибками
Дефект или особенность?
Технический долг
Принцип нулевой терпимости к ошибкам
Все является вопросом выбора
Решите, какие ошибки протоколировать
Когда ошибки должны исправляться?
Выбор носителя для протоколирования ошибок
Альтернативы и рекомендации по работе с ошибками
Простой старт
Облегчайте общение
Тестировщики стимулируют общение
Распределенные команды
Регрессивные тесты
Сохранение сборки «зеленой»
Сохранение сборки быстрой
Построение регрессивного комплекта
Проверка «общей картины»
Ресурсы
Показатели итерации
Измерение прогресса
Показатели дефектов
Резюме

Глава 19. Завершение итерации
Демонстрация итерации
Ретроспективы
Старт, стоп, продолжение
Идеи по совершенствованию
Празднование успеха
Резюме

Глава 20. Успешная поставка
Что составляет продукт?
Планируйте достаточно времени на тестирование
Конец игры
Тестирование выпуска-кандидата
Тестирование в установочной среде
Финальное нефункциональное тестирование
Интеграция с внешними приложениями
Преобразование данных и обновления базы данных
Тестирование инсталляции
Общение
Что если выпуск не готов
Тестирование заказчика
Пользовательское приемочное тестирование
Альфа- и бета-тестирование
Цикл тестирования после разработки
Поставки
Выпуск продукта
Критерии приемки выпуска
Управление выпусками
Пакетирование
Ожидания заказчика
Поддержка продукта
Влияние на бизнес
Резюме

Часть VI. Итоги

Глава 21. Ключевые факторы успеха
Фактор успеха 1: используйте полнокомандный подход
Фактор успеха 2: примите образ мышления, ориентированный на гибкое тестирование
Фактор успеха 3: автоматизируйте регрессивное тестирование
Фактор успеха 4: обеспечьте получение отклика
Фактор успеха 5: стройте фундамент для базовых гибких приемов
Непрерывная интеграция
Тестовые среды
Управление техническим долгом
Инкрементный подход к работе
Кодирование и тестирование — части одного процесса
Совместное применение приемов
Фактор успеха 6: сотрудничайте с заказчиками
Фактор успеха 7: смотрите на общую картину
Резюме
Глоссарий Книги, статьи, журналы и записи в блогах
Предметный указатель

 

Скачать техническую литературу бесплатно59,6 мб. djvu

Похожая литература