Авторы полагают, что тестирование должно сводиться к проверке того, насколько комплекс ПО или его компоненты обеспечивают выполнение требований, предъявляемых заказчиком к бизнес-процессам. Авторы подходят к тестированию как к отдельной деятельности, имеющей целью оценить качество программного обеспечения на стадии его разработки и при приемке заказчиком.
В книге дан обзор общих способов тестирования, применяемых в компании HP на основе ее собственных инструментальных средств. Среди них авторы выделяют методы «белого» и «черного» ящиков. К первому авторы относят: тестирование синтаксиса, определяемого формальной моделью входных данных для компонента ПО; тестирование операторов программы; тестирование ветвлений и решений в исходном коде; тестирование потока данных; тестирование условий ветвлений; тестирование сочетаний условий ветвлений; тестирование изменяемых условий; статистический анализ исходного кода, при котором отслеживается обращение к переменным. Ко второму отнесены: смоук-тестирование – беглое тестирование на подмножестве теста «черного ящика» с целью проверки всех основных компонентов ПО на работоспособность и обычно проводимое после очередной сборки ПО; разбиение на подмножества эквивалентных значений, когда проверки проводятся на модели компонента ПО, в которой вход и выход разбиваются на проверяемые эквивалентные подмножества, одинаково обрабатываемые компонентом; анализ граничных значений, при котором входные и выходные значения разбиваются на упорядоченные подмножества с определенными граничными значениями, выводимыми из спецификации компонента; проверка вводимых пользователем данных для подтверждения ожидаемого результата; динамический анализ, при котором специальная программа «атакует» приложение с помощью известных моделей уязвимостей, имитируя проникновение в систему, а также тестирование на массиве случайных входных данных; гибридный анализ для повышения надежности результатов тестирования, состоящий в использовании нескольких методов и проведении динамического анализа исходного кода.
Материал книги представляет пошаговое изложение предлагаемой методологии. Тестирование начинается с проверки выполнения бизнес-требований на основе документа, в котором запротоколированы отдельные бизнес-функции, а проверяемые требования увязаны со структурой бизнеса.
Оптимизация тестирования путем достижения баланса между риском и объемом необходимых работ проводится на основе оценки: рисков, возникающих для бизнеса в случае пропуска ошибки; функциональной сложности; объема работ по тестированию.
Важная составляющая тестирования – проверка безопасности приложений. Здесь, по мнению авторов, следует учитывать не только технический аспект, но и особенности жизненного цикла ПО и бизнес-приложения, поэтому выбор способа проведения тестирования должен производиться с учетом стратегии и политик обеспечения информационной безопасности предприятия.
Две главы книги посвящены проблеме аутсорсинга сервиса тестирования и подходу к тестированию на основе применения ключевых показателей эффективности. В них разбирается, как все это организовать без потери эффективности и повышения затрат.
Заключительная глава книги называется: «Начало работы: сложим все вместе». В ней авторы указывают уровни процесса тестирования: агностика, осознание, постижение и экспертиза.
Особую трудность, как правило, представляет проверка качества работы приложений, поэтому читателю следует обратить внимание на Приложение Б, в котором описаны конкретные решения, позволяющие провести оценку программ. Среди них HP Quality Center – Web-комплекс, предназначенный для контроля качества работы ПО в различных средах, содержащий приложения для поддержки и автоматизации критически важных процессов, таких как обработка требований, управление ходом тестирования и его результатами и др.
Решение HP QuickTest Professional служит для построения и автоматизации функциональных и регрессионных тестов на базе технологии Active Screen, упрощающей создание тестов и сопровождение процесса тестирования. Еще одним компонентом комплекса является пакет HP Business Process Testing, позволяющий привлечь к процессу повышения качества приложения специалистов и экспертов, не обладающих высокой квалификацией в области тестирования и программирования. Пакет позволяет специалистам в конкретных предметных областях собирать бизнес-процессы из готовых компонентов и строить множество пользовательских сценариев, проверяя их и оптимизируя протекание бизнес-процесса.
А. Гольц (Andreas Golze), М. Сарбевски (Mark Sarbiewski), А. Зам (Alain Zahm). Оптимизация качества для достижения высоких бизнес-результатов. Практический подход к тестированию программного обеспечения. – Wiley Publishing, 2008, ISBN: 978-0-470-43864-0.