Low-level testing of computerized systems (CS) corresponds to the Operational Qualification (OQ) in conventional validation (equipment qualification) and follows the Installation Qualification (IQ) of CS.
The objectives of low-level testing of CS (OQ) are as follows:
Before starting low-level testing of CS, test data sets are prepared, and automated testing tools are developed if necessary.
Testing refers to the examination of a computerized system or its components in operation to detect and correct errors. From the perspective of GMP/GAMP5, testing involves turning the system on and running code components, corresponding to the traditional OQ and PQ stages of validation.
Testing is performed according to an approved protocol by providing the program/component with data from a pre-developed test data set and recording the program/component's results in a report. Testing can be manual or automated. In traditional software development practices, manual testing also includes code inspections (code walkthroughs, desk checks), which, in the GMP/GAMP-based validation process, correspond to Stage 4: Design Review/Design Qualification (DR/DQ).
In traditional software development practices, testing is divided into low-level and high-level testing.
Low-level testing includes:
In turn, high-level testing (see corresponding section) includes:
Module Testing
Module testing is the process of testing individual blocks, subroutines, classes, or procedures that make up the program for discrepancies with module interface specifications and to detect/eliminate errors.
Module testing is conducted before the module is integrated into the program. Typically, a tested module cannot function independently and requires a specific environment for its operation. For module testing, the following are needed:
In manual testing, the module is executed, interfaces are simulated, the data set is provided, and the results are recorded manually.
In automated testing, all operations are conducted automatically using specially developed auxiliary test modules or within a specialized test environment (such as xUnit). Automated testing tools used must in turn be tested and deemed suitable for module testing (in other words, validated).
Integration Testing
Integration testing is the process of testing the interaction between blocks, subroutines, classes, or procedures that make up the program for discrepancies with specifications and to detect/eliminate errors.
Integration testing is performed after individual tested modules are combined within the program or after new modules are added to an existing group. Various approaches to integration testing exist depending on the order of adding/combining modules in the program. Integration testing can be manual or automated. The procedure/principles of integration testing are identical to module testing, with the difference being that the test object is a group of modules rather than a single module.
Using an incremental testing approach, integration testing may not be separated into a distinct stage and can be considered part of module testing.
Functional Testing
Functional testing is the process of testing individual functions/user interface elements for discrepancies with the external (functional) specification from the user’s perspective and to detect/eliminate errors.
During functional testing, the operation of individual user-facing functions of the system and user interface elements are verified. Functional testing is conducted after all modules have been successfully integrated into the system, meaning that module/integration testing is assumed to have been completed successfully. Functional testing can be manual or automated. Automated testing tools used must also be tested and validated.
The specialists at Tarqvara Pharma Technologies have years of experience in conducting qualification, validation, and acceptance tests within the pharmaceutical industry, in full compliance with international, European, and national GMP/GxP regulations and standards.
See also:
Qualification / Validation / Commissioning
Computerized Systems Validation (CSV)
Acceptance Tests (FAT/SAT)
Risk-Oriented Approach