Высокоуровневое тестирование (PQ)
Высокоуровневое тестирование компьютеризированных систем (КС) соответствует Квалификации производительности (PQ) в обыкновенной валидации (квалификации оборудования) и следует за Низкоуровневым тестированием КС (OQ).
Задачей высокоуровневого тестирования КС (PQ) является:
- Сопоставить результат реализации КС с первоначально заданными для нее целями
- Определить, все ли поставленные цели реализуются
- Выявить и устранить несоответствия
Перед началом высокоуровневого тестирования КС также подготавливаются наборы данных для тестирования, и, при необходимости, разрабатываются инструменты автоматизированного тестирования.
Под тестированием понимается испытание компьютеризированной системы или ее компонентов в работе с целью обнаружения и устранения ошибок. С точки зрения GMP/GAMP5 тестирование предполагает включение системы / запуск компонентов программного кода, и соответствует этапам традиционной валидации OQ и PQ.
Тестирование выполняется по утвержденному протоколу путём передачи программе/компоненту данных из предварительно разработанного набора данных и фиксации результатов работы программы/компонента в отчете. Тестирование может быть ручным или автоматизированным. В традиционной практике разработки ПО к ручному тестированию также относят проверки программного кода (инспекция кода, сквозной просмотр, просмотр за столом), что в схеме этапов валидации компьютеризированных систем, основанной на GMP/GAMP, соответствует Этапу 4: Проверка (Обзор) проекта (DR/DQ).
В отличие от мероприятий низкоуровневого тестирования, в ходе которых проводится по возможности исчерпывающее и детальное тестирование индивидуальных компонентов и функций системы, высокоуровневое тестирование предполагает общую проверку её соответствия заявленным характеристикам и возможности применения в соответствии с поставленными целями.
В то время как низкоуровневое тестирование предполагает тестирование всех отдельных элементов подряд, высокоуровневое тестирование предполагает определенную выборочность и субъективность тестов. Высокоуровневое тестирование соответствует PQ в традиционной валидации, однако некоторые тесты можно отнести и к OQ.
В связи с высокоуровневым тестированием используется несколько терминов: системное тестирование, пользовательское тестирование и приемочное тестирование. При этом, существует определенная неоднозначность в терминологии: системное, пользовательское и приемочное тестирование не описывают альтернативные методы тестирования, а только характеризуют различные аспекты тестирования, которые могут пересекаться.
Системное тестирование в наибольшей мере соответствует понятию высокоуровневого тестирования и наиболее пригодно для его описания, как этапа или уровня валидационных мероприятий. В системном тестировании набор тестов основан на определенных параметрах системы, которые должны проверяться.
Пользовательское тестирование является частным случаем низкоуровневого или высокоуровневого тестирования (как правило, функционального и/или системного), когда тестирование осуществляется Заказчиком системы, и/или когда тестирование проводится после установки системы в конечной пользовательской среде.
Приемочное тестирование – это также частный случай тестирования (как правило, функционального и/или системного), когда тестирование осуществляется в рамках формальной приемки системы Заказчиком на предмет соответствия спецификации в контракте. Фокус в этом тестировании в большей степени смещен в сторону коммерческих аспектов, и оно соотносится с системным тестированием примерно так же, как Приёмка на объекте (SAT) соотносится с валидацией.
Категории системных тестов
Системные тесты можно разделить на следующие 15 категорий:
- Возможности (Facility)
- [Предельные] объемы (Volume)
- Нагрузка (Stress)
- Удобство использования (Usability)
- Безопасность (Security)
- Производительность (Performance)
- Хранение данных (Storage)
- Конфигурация (Configuration)
- Совместимость (Compatibility)
- Установка (Installation)
- Надежность (Reliability)
- Восстанавливаемость (Recovery)
- Обслуживаемость (Serviceability)
- Документированность (Documentation)
- Процедуры (Procedures)
Каждая из категорий представляет собой набор тестов, связанных с определенным параметров / аспектом функционирования системы.
Категория: Возможности (Facility)
- Тестирование возможностей предполагает проверку выполнения системой конкретных задач, сформулированных в спецификации целей.
- Эта категория тестирования похожа на функциональное тестирование, но отличается тем, что тестируются не индивидуальные элементарные функции системы, а более сложные задачи, требующие правильной совместной работы целого ряда элементарных функций.
- Примером может быть проверка наличия и работы Журнала Аудита (Audit Trail).
- В зависимости от системы, тесты данной категории могут часто выполняться и в рамках функционального тестирования!
Категория: [Предельные] объемы (Volume)
- Тестирование на предельных объемах предполагает проверку работы системы с немыслимо большим объемом данных.
- Цель такого теста – продемонстрировать, что программа не в состоянии справиться с обработкой максимальных объемов данных, указанных в спецификации целей.
- Примером может быть импорт, экспорт или пакетная обработка огромного количества данных или документов, например, данные климатических параметров всего завода за несколько лет в системе GMP-мониторинга.
Категория: Нагрузка (Stress)
- При нагрузочном тестировании систему заставляют работать в режиме интенсивной нагрузки. В отличие от тестирования с предельными объемами данных, нагрузочное тестирование предполагает обработку пикового объема данных или выполнение пикового количества операций в течение короткого промежутка времени.
- Нагрузочное тестирование применимо только к системам с переменной загрузкой, где присутствует фактор времени. Примером может быть сервер, одновременно обслуживающий предельное количество запросов пользователей.
Категория: Удобство использования (Usability)
- Тестирование удобства использования подразумевает испытание пользовательского интерфейса. Этот вид тестирования всегда проводится вручную. Помимо прочего, проверяется, насколько понятен интерфейс для пользователя и проста ли система в использовании.
- Примером может быть Система управления лабораторными данными (LIMS), в которой проверяется, насколько наглядно представляется структура данных в системе, насколько легко регистрировать новые образцы и результаты испытаний, насколько просто осуществлять поиск в системе по различным параметрам и т.д.
- Иногда такое тестирование называют пользовательским тестированием (user testing).
Категория: Безопасность (Security)
- Тестирование безопасности – это процесс создания/проверки условий, которые способны преодолеть программные средства защиты.
- Изучение публикуемых уязвимостей в защите существующих аналогичных систем позволяет разработать тесты для определения, присущи ли аналогичные проблемы тестируемой системе.
- Примером может быть любая система с удаленным доступом, проверяемая на предмет возможности несанкционированного доступа (взлома).
Категория: Производительность (Performance)
- В формулировке целей для производительности (или эффективности) системы часто присутствуют такие целевые параметры, как время отклика, пропускная способность и т.п. В ходе тестирования производительности проверяется соответствие системы этим целевым параметрам.
- Примером может быть проверка времени отклика / определение временной задержки в системе управления и сбора данных промышленного процесса (SCADA).
Категория: Хранение данных (Storage)
- Системы во время своей работы могут использовать оперативную память (RAM), дисковое пространство, флеш-память и прочие накопители.
- Так как на одной и той же аппаратной платформе могут одновременно работать различные процессы и/или различные слои программного обеспечения, они могут оказывать друг на друга косвенное влияние путем расходования / блокировки общих системных ресурсов. В отдельных случаях, ресурсов может не хватить даже одному процессу.
- Целью тестирования хранения данных является определение потребляемых объемов различных системных ресурсов.
- Примером может быть проверка объема оперативной памяти и дискового пространства, расходуемых системой мониторинга климатических параметров (EMS). В этом случае тест также позволит определить, на какой срок хватит физического пространства на локальных накопителях.
Категория: Конфигурация (Configuration)
- Большинство систем имеет возможность настройки определенных параметров или конфигурирования. Часто системы также позволяют сохранять и загружать пользовательские конфигурации из отдельных файлов.
- С помощью теста конфигурации проверяется корректность работы самого процесса настройки параметров / конфигурирования и влияние изменений конфигурации на работу системы.
- Примером может служить проверка настройки параметров в рецептурах системы управления приготовления растворов на фармпредприятии.
Категория: Совместимость (Compatibility)
- Понятие совместимость обозначает корректную работу системы в различных ситуациях:
- Перенос программы на другую аппаратную платформу
- Перенос программы на другую программную платформу (например, другая версия ОС или ПО виртуализации)
- Обновление программы
- Использование программой файлов данных от более старой или более новой версии программы или от других программ
- Обмен данными / перенос данных в другие системы
- Необходимо проверить совместимость системы для всех ситуаций, которые могут возникать в ходе её эксплуатации.
- Примером тестирования совместимости может служить проверка передачи данных из Системы управления лабораторными данными (LIMS) в систему управления ресурсами (ERP, например, SAP).
Категория: Установка (Installation)
- Установка программного обеспечения, помимо копирования исполняемых файлов, может включать в себя целый ряд сложных операций, таких как:
- анализ аппаратной и программной конфигурации системы и адаптация собственной конфигурации
- создание дерева каталогов и настройка их атрибутов
- регистрация программы в системном реестре
- регистрация учетных записей, ключей шифрования, служб
- настройка разрешений, параметров запуска системы и т.д.
- Даже валидированная система может требовать, в наихудшем случае, полной переустановки ПО, поэтому процесс установки должен быть протестирован.
- Тестирование установки в особенности актуально, если предполагается самостоятельная установка ПО владельцами или пользователями системы.
Категория: Надежность (Reliability)
- Основным критерием надежности компьютеризированной системы является время, в течение которого система работает без сбоев. Одним из формализованных критериев надежности является среднее время наработки на отказ (mean time between failures, MTBF).
- Применительно к компьютеризированным системам в фармотрасли, проверка этого критерия, как правило, затруднительна, и надежность обеспечивается дизайном.
- Для подтверждения надежности следует использовать критерии, определяемые технологическим процессом и системой качества. Надежность может быть определена на основании анализа статистики отказов в течение длительного промежутка времени.
Категория: Восстанавливаемость (Recovery)
- В процессе эксплуатации системы возможен целый ряд системных сбоев, таких как: сбой электропитания, аппаратный отказ, ошибка ввода-вывода, потеря связи и т.д. Дизайн системы должен позволять корректное восстановление работы, без потери целостности данных и внесения нарушений в технологический процесс.
- В ходе тестирования Восстанавливаемости намеренно имитируются системные сбои и проверяется способность корректного восстановления системы.
- Типичным примером испытания восстанавливаемости является тест сбоя подачи электропитания, который также является неотъемлемой частью Квалификации функционирования (OQ) в традиционной валидации (квалификации оборудования). Применительно к информационным системам, типичным тестом является испытание восстановления данных из резервной копии (Backup Data Recovery Test).
Категория: Обслуживаемость (Serviceability)
- Обслуживание систем только с помощью их основных функциональных возможностей, как правило невозможно. Поэтому часто системы снабжены дополнительными функциональными возможностями и инструментами, специально предназначенными для техобслуживания системы, такими как: инструменты диагностики, журналы сбоев, средства визуализации значений переменных, конвертеры файлов данных и т.д.
- В ходе теста обслуживаемости проверяется корректная работа и удобство инструментов и средств обслуживания. Например, проводится тестирование средств эмуляции значений измерительных каналов в системе GMP-мониторинга.
Категория: Документированность (Documentation)
- В ходе тестирования документированности проверяется комплектность, подробность, точность и ясность изложения материала в пользовательской документации.
- Речь идет не только о бумажной документации: сюда также относятся встроенные в программу разделы справки (помощи), всплывающие подсказки, объяснения в диалоговых окнах и т.д.
Категория: Процедуры (Procedures)
- Некоторые операции, связанные с эксплуатацией или техобслуживанием КС, осуществляются вручную в соответствии с утвержденной процедурой (СОП), как например: архивирование данных, регистрация учетных записей новых пользователей, перезапуск системы после сбоя и т.д.
- Высокоуровневое тестирование ПО также должно включать в себя проверку таких процедур как на предмет возможности их корректного выполнения, так и на комплектность, детальность и ясность изложения материала.
- Проверку процедур должен проводить сотрудник, не связанный с их разработкой или с администрированием системы.
Специалисты Tarqvara Pharma Technologies имеют многолетний опыт проведения квалификационных, валидационных и приёмочных мероприятий в фармацевтической индустрии в соответствии с международными, европейскими и национальными нормативными требованиями и стандартами GMP/GxP.
см. также:
Квалификация / валидация / приёмка
Валидация компьютеризированных систем (CSV)
Приёмка (FAT/SAT)
Риск-ориентированный подход