Высокоуровневое тестирование (PQ)

Высокоуровневое тестирование компьютеризированных систем (КС) соответствует Квалификации производительности (PQ) в обыкновенной валидации (квалификации оборудования) и следует за Низкоуровневым тестированием КС (OQ).

Задачей высокоуровневого тестирования КС (PQ) является:

  1. Сопоставить результат реализации КС с первоначально заданными для нее целями
  2. Определить, все ли поставленные цели реализуются
  3. Выявить и устранить несоответствия

Перед началом высокоуровневого тестирования КС также подготавливаются наборы данных для тестирования, и, при необходимости, разрабатываются инструменты автоматизированного тестирования.

Под тестированием понимается испытание компьютеризированной системы или ее компонентов в работе с целью обнаружения и устранения ошибок. С точки зрения 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)
Риск-ориентированный подход