Низкоуровневое тестирование (OQ)

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

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

  1. Обнаружить и устранить ошибки в работе отдельных модулей/компонентов системы (модульное тестирование)
  2. Обнаружить и устранить ошибки в совместной работе модулей/компонентов системы (интеграционное тестирование)
  3. Обнаружить и устранить ошибки в работе индивидуальных функций / элементов пользовательского интерфейса (функциональное тестирование)

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

Под тестированием понимается испытание компьютеризированной системы или ее компонентов в работе с целью обнаружения и устранения ошибок. С точки зрения GMP/GAMP5 тестирование предполагает включение системы / запуск компонентов программного кода, и соответствует этапам традиционной валидации OQ и PQ.

Тестирование выполняется по утвержденному протоколу путём передачи программе/компоненту данных из предварительно разработанного набора данных и фиксации результатов работы программы/компонента в отчете. Тестирование может быть ручным или автоматизированным. В традиционной практике разработки ПО к ручному тестированию также относят проверки программного кода (инспекция кода, сквозной просмотр, просмотр за столом), что в схеме этапов валидации компьютеризированных систем, основанной на GMP/GAMP, соответствует Этапу 4: Проверка (Обзор) проекта (DR/DQ).

Также в традиционной практике разработки ПО тестирование делится на низкоуровневое и высокоуровневое тестирование.

Низкоуровневое тестирование включает в себя:

  • Модульное (компонентное) тестирование:
    Процесс тестирования отдельных блоков, подпрограмм, классов или процедур, составляющих программу.
  • Интеграционное тестирование:
    Процесс тестирования совместной работы блоков, подпрограмм, классов или процедур, составляющих программу.
  • Функциональное тестирование:
    Процесс тестирования индивидуальных функций / элементов интерфейса системы на предмет расхождений с внешней (функциональной) спецификацией с точки зрения пользователя.

В свою очередь, высокоуровневое тестирование (см. соответствующий раздел) включает в себя:

  • Системное тестирование
  • Пользовательское тестирование

Модульное тестирование

Модульное тестирование – это процесс тестирования отдельных блоков, подпрограмм, классов или процедур, составляющих программу, на предмет расхождений со спецификациями интерфейсов модулей и с целью обнаружения/устранения ошибок.

Модульное тестирование проводится до интеграции модуля в программу. Как правило, тестируемый модуль не может полноценно работать самостоятельно и требует для своей работы определенной среды. Для тестирования модуля, необходимы:

  • Модуль-драйвер (driver module), который будет вызывать (запускать) тестируемый модуль.
  • Один или несколько модулей-заглушек (stub modules), которые имитируют интерфейс с отсутствующими модулями программы.
  • Набор данных, передаваемых модулю с помощью модуля-драйвера, предоставляемых для доступа через модули-заглушки или элементы пользовательского интерфейса.
  • Интерфейс, организующий отображение/регистрацию результатов работы модуля.

В случае ручного тестирования запуск модуля, имитация интерфейса, передача набора данных и регистрация результатов осуществляется вручную.

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


Интеграционное тестирование

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

Интеграционное тестирование проводится после объединения отдельных протестированных модулей в программе или после добавления новых модулей к существующей группе модулей. Существуют различные подходы для проведения интеграционного тестирования, в зависимости от того, в каком порядке происходит добавление/объединение модулей программы. Интеграционное тестирование может проводиться вручную или с помощью инструментов автоматизированного тестирования. Процедура/принципы интеграционного тестирования идентичны модульному тестированию с той разницей, что объектом тестирования является не отдельный модуль, а группа модулей.

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


Функциональное тестирование

Функциональное тестирование – это процесс тестирования индивидуальных функций / элементов интерфейса системы на предмет расхождений с внешней (функциональной) спецификацией с точки зрения пользователя, и с целью обнаружения/устранения ошибок.

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


Специалисты Tarqvara Pharma Technologies имеют многолетний опыт проведения квалификационных, валидационных и приёмочных мероприятий в фармацевтической индустрии в соответствии с международными, европейскими и национальными нормативными требованиями и стандартами GMP/GxP.

см. также:
Квалификация / валидация / приёмка
Валидация компьютеризированных систем (CSV)
Приёмка (FAT/SAT)
Риск-ориентированный подход