Система Orphus

Тестирование программного обеспечения

Фундаментальные концепции менеджмента бизнес-приложений

Авторы: Сэм Канер
Джек Фолк
Енг Кек Нгуен
Издательство: "DiaSoft", 2001
544 страницы
ISBN: 966-7393-87-9

Материал предоставил: Алексей Кирдин
Найти в магазинах

Аннотация

Оглавление
Комментарии

Аннотация

Книга именитых специалистов в области разработки программного обеспечения посвящена одному из наиболее важных и нетривиальных аспектов в рамках процесса создания сложных программных систем. Книгу отличает, прежде всего, привязка к условиям реального мира на примерах известных компаний-разработчиков, находящихся в Силиконовой долине. Подробно рассматривается широкий спектр вопросов: от организации процесса тестирования до собственно тестирования проекта, кода, документации и т.д.

Оглавление

Часть 1. Основы

Глава 1. Пример серии тестов

Первый цикл тестирования
Второй цикл тестирования
Что дальше?

Глава 2. Желаемое и действительное в жизни тестировщика

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

Глава 3. Типы тестов и их роль в процессе разработки программного обеспечения

Обзор стадии разработки
Стадии планирования
Тестирование на этапе планирования
Стадии проектирования
Тестирование на этапе проектирования
Тестирование «стеклянного ящика» на стадии кодирования
Регрессионное тестирование
Тестирование «черного ящика»
Сопровождение

Глава 4. Программные ошибки

Качество
Что такое программная ошибка?
Категории программных ошибок

Глава 5. Документирование и анализ ошибок

Отчет следует составлять немедленно
Структура отчета о проблеме
Каким должен быть отчет о проблеме
Анализ воспроизводимой ошибки
Методика анализа воспроизводимой ошибки

Часть 2. Приемы и технологии тестирования

Глава 6. Системы отслеживания проблем

Основное назначение системы отслеживания проблем
Задачи системы
Процесс отслеживания проблем
Пользователи системы отслеживания проблем
Реализация базовых функций системы отслеживания проблем
Дополнительные замечания о документировании проблем
Терминология

Глава 7. Разработка тестов

Характеристики хорошего теста
Классы эквивалентности и граничные условия
Тестирование переходов между состояниями
Условия гонок и другие временные зависимости
Нагрузочные испытания
Прогнозирование ошибок
Тестирование функциональной эквивалентности: автоматизация, анализ чувствительности и случайный ввод
Регрессивное тестирование: успешно ли исправлена ошибка
Регрессивное тестирование: стандартная серия тестов
Выполнение тестов

Глава 8: Тестирование принтеров и других устройств

Общие вопросы конфигурационного тестирования
Тестирование печати

Глава 9. Адаптационное тестирование

Изменен ли исходный код?
Привлекайте к работе специалистов, свободно владеющих языком
Встроен ли текст в программный код?
Перевод длиннее исходного текста
Наборы символов
Клавиатура
Фильтрация ввода
Загрузка, сохранение, импорт и экспорт символов и расширенного набора ASCII
Язык и операционная система
Клавиши ввода
Сборные сообщения
Идентификаторы сообщений об ошибках
Правила переноса
Правописание
Порядок сортировки
Преобразование текста к верхнему и нижнему регистру
Правила подчеркивания
Принтеры
Размеры бумаги
Процессоры и видео
Форматы данных и опции настройки
Единицы измерения
Изображения, связанные с конкретной культурой
Выходные данные, связанные с конкретной культурой
Совместимость с местными продуктами
Не будьте наивными
Автоматизированное тестирование

Глава 10. Тестирование документации

Хорошая документация
Цели тестировщика документации
Как тестирование документации повышает надежность программного продукта
Назначьте технического редактора
Работа с руководством в процессе его разработки
Интерактивная справка

Глава 11. Инструментальные средства тестировщика

Базовые инструменты тестировщика
Автоматизация приемочного и регрессионного тестирования
Стандарты
Тестирование «стеклянного ящика»

Глава 12. Планирование документации

Общее назначение тестового плана: продукт или инструмент?
Цели, преследуемые при планировании тестов и разработке документации
Тесты каких типов следует фиксировать в плановых документах
Стратегия разработки компонентов тестового плана
Компоненты плана тестирования
Документирование тестовых материалов
Заключение

Часть 3. Управление проектами и группами

Глава 13. Объединяющая

Чем приходится поступаться разработчикам программного обеспечения
Модели разработки программного обеспечения
Затраты на качество
Последовательность этапов проекта
Проектирование продукта
Реализация базовых функций
Почти альфа
Альфа
Пре-бета
Бета
Замораживание пользовательского интерфейса
Подготовка к финальному тестированию
Последствия проверки целостности
Выпуск
После выпуска

Глава 14. Управление группой тестирования

Роль группы тестирования
Группа тестирования – не избавление программистов
Альтернатива: независимые тестовые агентства
Советы по планированию
Персонал

Приложение. Распространенные программные ошибки

Ошибки пользовательского интерфейса
Обработка ошибок
Ошибки, связанные с граничными условиями
Ошибки вычислений
Начальное и последующее состояния
Ошибки управления потоком
Ошибки обработки или интерпретации данных
Ситуации гонок
Повышенные нагрузки
Аппаратное обеспечение
Контроль версий и идентификаторов
Ошибка выявлена и забыта

Комментарии

Алексей Кирдин:

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

Особое внимание уделяется процессу и методикам тестирования так называемого «черного ящика», т.е. тестирования, выполняемого над программой без доступа (или с весьма ограниченным доступом) к исходному коду. Также, достаточно ярко и развернуто освещены возможные политические проблемы, возникающие в процессе разработки ПО и «работы над ошибками» между руководством, разработчиками и группой тестирования проекта. В приложении содержит каталог распространенных ошибок.

«Эта книга – о тестировании в условиях, когда те, с кем вы работаете, не следуют, не хотят и не должны следовать правилам».

Узнаете ситуацию в своей команде? Нет? Значит, вам безумно повезло, и вы живете на другой стороне Луны :-).

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