ISO/IEC 24709-3:2011
(Main)Information technology — Conformance testing for the biometric application programming interface (BioAPI) — Part 3: Test assertions for BioAPI frameworks
Information technology — Conformance testing for the biometric application programming interface (BioAPI) — Part 3: Test assertions for BioAPI frameworks
ISO/IEC 24709-3:2011 defines a number of test assertions written in the assertion language specified in ISO/IEC 24709-1:2007. These assertions enable a user of ISO/IEC 24709-3:2011 (such as a testing laboratory) to test the conformance to ISO/IEC 19784-1 (BioAPI 2.0) of any BioAPI Framework that claims to be a conforming implementation of ISO/IEC 19784-1. Each test assertion specified in ISO/IEC 24709-3:2011 exercises one or more features of an implementation under test.
Technologies de l'information — Essai de conformité pour l'interface de programmation d'applications biométriques (BioAPI) — Partie 3: Déclarations d'essai pour cadres BioAPI
General Information
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 24709-3
First edition
2011-01-15
Information technology — Conformance
testing for the biometric application
programming interface (BioAPI) —
Part 3:
Test assertions for BioAPI frameworks
Technologies de l'information — Essai de conformité pour l'interface de
programmation d'applications biométriques (BioAPI) —
Partie 3: Déclarations d'essai pour cadres BioAPI
Reference number
ISO/IEC 24709-3:2011(E)
©
ISO/IEC 2011
---------------------- Page: 1 ----------------------
ISO/IEC 24709-3:2011(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2011
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2011 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 24709-3:2011(E)
Contents Page
Foreword .v
Introduction.vi
1 Scope.1
2 Conformance.1
3 Normative references.1
4 Terms and definitions .1
5 Abbreviated terms.2
6 General principles .2
7 Testing the conformance of BioAPI frameworks .3
7.1 General .3
7.2 Configuration of test assertions .3
7.3 Test flow .6
7.4 Initialisation and termination .6
7.5 List of test assertions .7
7.6 BioAPI conformity statement .10
8 Test assertions .11
8.1 Descriptions of Test Tables .11
8.2 Descriptions of XML text .15
8.3 Common activities.16
8.4 Assertion 1.1 – BioAPI_Init.28
8.5 Assertion 1.2 – BioAPI_Terminate.30
8.6 Assertion 1.3 – BioAPI_GetFrameworkInfo .33
8.7 Assertion 1.4 – BioAPI_EnumBSPs.35
8.8 Assertion 1.5 – BioAPI_BSPLoad_And_BioSPI_BSPLoad .40
8.9 Assertion 1.6 – BioAPI_BSPUnload_And_BioSPI_BSPUnload.44
8.10 Assertion 1.7 – BioAPI_BSPAttach_And_BioSPI_BSPAttach.47
8.11 Assertion 1.8 – BioAPI_BSPDetach_And_BioSPI_BSPDetach .51
8.12 Assertion 1.9 – BioAPI_QueryUnits_And_BioSPI_QueryUnits .53
8.13 Assertion 1.10 – BioAPI_EnumBFPs.58
8.14 Assertion 1.11 – BioAPI_QueryBFPs_And_BioSPI_QueryBFPs.60
8.15 Assertion 1.12 – BioAPI_ControlUnit_And_BioSPI_ControlUnit .63
8.16 Assertion 2.1 – BioAPI_FreeBIRHandle_And_BioSPI_FreeBIRHandle .67
8.17 Assertion 2.2 – BioAPI_GetBIRFromHandle_And_BioSPI_GetBIRFromHandle.69
8.18 Assertion 2.3 – BioAPI_GetHeaderFromHandle_And_BioSPI_GetHeaderFromHandle .73
8.19 Assertion 3.1 – BioAPI_EnableEvents_And_BioSPI_EnableEvents.76
8.20 Assertion 3.2 – BioAPI_SetGUICallbacks_And_BioSPI_SetGUICallbacks .79
8.21 Assertion 4.1 – BioAPI_Capture_And_BioSPI_Capture.82
8.22 Assertion 4.2 – BioAPI_CreateTemplate_And_BioSPI_CreateTemplate.87
8.23 Assertion 4.3 – BioAPI_Process_And_BioSPI_Process .92
8.24 Assertion 4.4 – BioAPI_ProcessWithAuxBIR_And_BioSPI_ProcessWithAuxBIR .95
8.25 Assertion 4.5 – BioAPI_VerifyMatch_And_BioSPI_VerifyMatch .100
8.26 Assertion 4.6 – BioAPI_IdentifyMatch_And_BioSPI_IdentifyMatch.105
8.27 Assertion 4.7 – BioAPI_Enroll_And_BioSPI_Enroll.111
8.28 Assertion 4.8 – BioAPI_Verify_And_BioSPI_Verify .117
8.29 Assertion 4.9 – BioAPI_Identify_And_BioSPI_Identify.125
8.30 Assertion 4.10 – BioAPI_Import_And_BioSPI_Import.133
8.31 Assertion 4.11 – BioAPI_PresetIdentifyPopulation_And_BioSPI_PresetIdentifyPopulation.137
8.32 Assertion 5.1 – BioAPI_DbOpen_And_BioSPI_DbOpen .140
© ISO/IEC 2011 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 24709-3:2011(E)
8.33 Assertion 5.2 – BioAPI_DbClose_And_BioSPI_DbClose . 143
8.34 Assertion 5.3 – BioAPI_DbCreate_And_BioSPI_DbCreate . 146
8.35 Assertion 5.4 – BioAPI_DbDelete_And_BioSPI_DbDelete . 150
8.36 Assertion 5.5 – BioAPI_DbSetMarker_And_BioSPI_DbSetMarker. 153
8.37 Assertion 5.6 – BioAPI_DbFreeMarker_And_BioSPI_DbFreeMarker. 156
8.38 Assertion 5.7 – BioAPI_DbStoreBIR_And_BioSPI_DbStoreBIR . 159
8.39 Assertion 5.8 – BioAPI_DbGetBIR_And_BioSPI_DbGetBIR . 162
8.40 Assertion 5.9 – BioAPI_DbGetNextBIR_And_BioSPI_DbGetNextBIR. 166
8.41 Assertion 5.10 – BioAPI_DbDeleteBIR_And_BioSPI_DbDeleteBIR. 169
8.42 Assertion 6.1 – BioAPI_SetPowerMode_And_BioSPI_SetPowerMode. 172
8.43 Assertion 6.2 – BioAPI_SetIndicatorStatus_And_BioSPI_SetIndicatorStatus. 175
8.44 Assertion 6.3 – BioAPI_GetIndicatorStatus_And_BioSPI_GetIndicatorStatus. 178
8.45 Assertion 6.4 – BioAPI_CalibrateSensor_And_BioSPI_CalibrateSensor . 181
8.46 Assertion 7.1 – BioAPI_Cancel_And_BioSPI_Cancel. 183
8.47 Assertion 7.2 – BioAPI_Free_And_BioSPI_Free . 186
8.48 Assertion 8.1 – BioAPI_Util_InstallBSP. 188
8.49 Assertion 8.2 – BioAPI_Util_InstallBFP. 192
Annex A (informative) Test procedures for the multiple-component support. 196
A.1 General. 196
A.1.1 Principles. 196
A.2 Test procedures. 197
A.2.1 Role of API/SPI routing for the applications and the BSPs. 197
Bibliography. 200
iv © ISO/IEC 2011 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 24709-3:2011(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 24709-3 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 37, Biometrics.
ISO/IEC 24709 consists of the following parts, under the general title Information technology — Conformance
testing for the biometric application programming interface (BioAPI):
⎯ Part 1: Methods and procedures
⎯ Part 2: Test assertions for biometric service providers
⎯ Part 3: Test assertions for BioAPI frameworks
The following part is under preparation:
⎯ Part 4: Test assertions for BioAPI applications
© ISO/IEC 2011 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 24709-3:2011(E)
Introduction
The test assertions specified in this part of ISO/IEC 24709 enable a user of this part of ISO/IEC 24709 (such
as a testing laboratory) to test the conformance to ISO/IEC 19784-1 (BioAPI2.0) of any BioAPI framework that
claims to be a conforming implementation of that International Standard.
The organization of the test assertions in this part of ISO/IEC 24709 reflects the structure of Annex A of
ISO/IEC 19784-1:2006, which specifies conformance to BioAPI for various types of implementations (BSPs,
frameworks, and applications) and for BSPs belonging to several conformance subclasses.
This part of ISO/IEC 24709 contains test assertions for testing conformance of BioAPI frameworks to claim
compliance to the BioAPI specification defined by ISO/IEC 19784-1:2006. The assertions are further
organized according to conformance subclass (if any) and claimed support of optional features.
Each test assertion exercises one or more (possibly elementary) features of an implementation under test.
Assertions are placed into packages (one or more assertions per package) as required by the assertion
language.
Clause 6 specifies general principles.
Clause 7 specifies the principles and the testing mechanism for the conformance testing for BioAPI
frameworks in addition to listing up the test assertions to be used in this conformance testing model.
Clause 8 specifies the assertions to be used in the conformance testing model for BioAPI frameworks.
vi © ISO/IEC 2011 – All rights reserved
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISO/IEC 24709-3:2011(E)
Information technology — Conformance testing for the
biometric application programming interface (BioAPI) —
Part 3:
Test assertions for BioAPI frameworks
1 Scope
This part of ISO/IEC 24709 defines a number of test assertions written in the assertion language specified in
ISO/IEC 24709-1:2007.
This part of ISO/IEC 24709 specifies all the test assertions that are to be executed for conformance testing of
BioAPI frameworks claiming conformance to ISO/IEC 19784-1 (BioAPI 2.0).
Test assertions specified in this part of ISO/IEC 24709 are not claimed to be exhaustive (see also
ISO/IEC 24709-1:2007, Clause 6). Implementations of BioAPI 2.0 that are tested according to the
methodology specified in ISO/IEC 24709-1:2007 and with test assertions specified in this part of
ISO/IEC 24709 can (only) claim conformance to those aspects of ISO/IEC 19784-1 that are covered by these
test assertions.
2 Conformance
Implementations (BioAPI conformance test suites) claiming conformance to this part of ISO/IEC 24709 shall
be able to process all the test assertions specified in Clause 8 according to the methodology specified in
ISO/IEC 24709-1:2007 and the general principles and provisions specified in Clauses 6 and 7.
3 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 19784-1:2006, Information technology — Biometric application programming interface — Part 1:
BioAPI specification
ISO/IEC 24709-1:2007, Information technology — Conformance testing for the biometric application
programming interface (BioAPI) — Part 1: Methods and procedures
4 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 19784-1:2006,
ISO/IEC 24709-1:2007 and the following apply.
© ISO/IEC 2011 – All rights reserved 1
---------------------- Page: 7 ----------------------
ISO/IEC 24709-3:2011(E)
4.1
API/SPI routing
feature provided by the BioAPI Framework to handle multiple applications and/or multiple biometric service
providers (BSPs), with which a BioAPI call from an application is correctly given to the BSP specified by the
application, and with which a BioSPI return from a BSP is correctly given to the application that specified
the BSP
5 Abbreviated terms
For the purposes of this document, the following abbreviated terms apply.
API application programming interface
BIR biometric information record
BSP biometric service provider
CBEFF common biometric exchange format framework
FMR false match rate
FPI function provider interface
GUI graphic user interface
ID identity/identification/identifier
SPI service provider interface
UUID universally unique identifier
BCS BioAPI conformity statement
CTS BioAPI conformance test suite
IUT implementation under test
6 General principles
6.1 The test assertions listed in Clause 7 and specified in Clause 8 are based on the conformance testing
methodology specified in ISO/IEC 24709-1:2007, and can only be used in the context of that methodology.
The assertions are written in the assertion language specified in ISO/IEC 24709-1:2007, which is part of that
methodology.
6.2 An important concept of the conformance testing methodology specified in ISO/IEC 24709-1:2007 is the
existence of three conformance testing models (see ISO/IEC 24709-1:2007, Clause 6).
a) the conformance testing model for BioAPI applications
b) the conformance testing model for BioAPI frameworks
c) the conformance testing model for BioAPI BSPs
6.3 Each testing model is concerned with testing one of the three standard components of the BioAPI
architecture (see ISO/IEC 24709-1:2007, Clause 6). Clause 8 of this part of ISO/IEC 24709 specifies a
number of test assertions for the conformance testing model for BioAPI frameworks. This part of
ISO/IEC 24709 is not concerned with the conformance testing models for BioAPI applications, BSPs and
corresponding test assertions.
6.4 In the conformance testing model for BioAPI frameworks, a special testing component (called the
"framework-testing application") shall replace the normal application, and another special testing
component( called the "framework-testing BSP") shall replace the normal BSP. (See 6.2.5.2 of
ISO/IEC 24709-1:2007).
2 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 24709-3:2011(E)
7 Testing the conformance of BioAPI frameworks
7.1 General
7.1.1 This subclause describes the principles of the test conditions of the conformance test for BioAPI
frameworks and the principles to create pass/fail results.
7.1.2 The principles of the test conditions of the BioAPI frameworks under test are as follows:
- All the BioAPI functions and all the related BioSPI functions shall be tested.
- All the parameters defined in each function shall be tested.
- All the values that are able to be specified in each of the parameters shall be tested.
- All the capabilities in the BSP schema of the testing BSP that are related to the test case shall be
tested.
7.1.3 The principles to create pass/fails results of the test cases of the BioAPI frameworks are as follows:
- The return value shall be checked. If ISO/IEC 19784-1:2006 does not specify an error value for a
specific BioAPI function, the test shall pass if one of the possible error values has been returned.
- As for the output parameters, they shall be checked if ISO/IEC 19784-1:2006 declares that the
BioAPI framework sets the values to the output parameters.
- As for the parameters that are transferred from the BioAPI function to the BioSPI function by the
BioAPI framework, the test assertions shall check if all the parameters are correctly transferred.
NOTE 1 In this edition of ISO/IEC 24709-3, the test assertions do not contain (i) the test cases with combinations of
various parameters, (ii) the test cases with various sequences of BioAPI functions, (iii) the test cases with the callback
functions, (iv) the test cases related to asynchronous behaviors, (v) error cases derived from the incorrect implementation
of the testing BSP and (vi) the test cases that are only relevant to optional features of the testing BSP. The excluded test
cases will be considered in the next edition of this part of ISO/IEC 24709. The excluded test cases will be considered in
the next edition of this part of ISO/IEC 24709.
NOTE 2 A test case for the multiple component support of the BioAPI Framework is described in Annex A as a
recommendation for the Conformance Test Suite to implement the test for the API/SPI routing feature of the BioAPI
Framework.
NOTE 3 As for the error handling of invalid parameters, ISO/IEC 19784-1:2006 makes allowance for the freedom of
implementation for BioAPI frameworks and BSPs. This text shall take into account the following cases to create the test
assertions conformant to ISO/IEC 19784-1:2006:
(a) In the specification of ISO/IEC 19784-1:2006, it does not necessarily specify one error value to be
returned from the BioAPI function if there is an incorrect value specified in one of the parameters in the
BioAPI function. In such cases, the test assertions only check if one of the possible error values is
returned and do not define in the test assertion that a specific error value shall be returned.
(b) There is no specific description in ISO/IEC 19784-1:2006 whether the BioAPI framework shall do the
parameter check or the testing BSP shall do it. Therefore in this text, the test assertions do not care
about which component (BioAPI framework or BSP) has found the errors when it checked the
parameters. Therefore, the test assertions do not care about the error codes which includes the highest
8 bits that is allowed to be set by the BioAPI framework or by the testing BSP. It also do not care about
whether the BioAPI framework calls the corresponding BioSPI function even after there is an error in
the parameters in the BioAPI functions. The followings are the examples of the error cases that the
BioAPI framework can positively handle the error without calling the corresponding BioSPI function.
1. The value in the parameter is irrelevant; the value not relevant to the enrollment purpose such as
BioAPI_PURPOSE_AUDIT is set to the Purpose parameter in the BioAPI_Enroll function.
2. The value is not supported by the BSP; even though the BSP does not support the feature to specify
Subtype, the value for the Subtype parameter such as BioAPI_BIR_RIGHT is given.
7.2 Configuration of test assertions
7.2.1 A test assertion consists of the three tables that exist per BioAPI function under test, and the XML
text that exists per BioAPI function or BioSPI function.
© ISO/IEC 2011 – All rights reserved 3
---------------------- Page: 9 ----------------------
ISO/IEC 24709-3:2011(E)
7.2.2 The three tables that comprise a part of the test assertions are (i) Default Input Table, which
assembles the default values for all the input parameters of the BioAPI function under test, (ii) Test Condition
Table, which assembles all the conditions given during the BioAPI framework is tested, and (iii) Expected
Result Table, which is used to create pass/fail results by comparing the expected test results in the table with
the values given from the BioAPI framework. In Test Condition Table, each row shows a test case and each
column shows (i) the values given to the parameters of the BioAPI function, (ii) the BSP Schema information
related to the test case and (iii) the return value from the BSP via the BioSPI function. In Expected Result
Table, each row shows a test case same as Test Condition Table and each column shows the information that
is used to make a pass/fail decision by referring to it. To make a decision, the return value and the output
parameters related to the test case are used.
NOTE In the test assertions in each subclause in Chapter 8, it simply uses the words Test Condition Table and
Expected Result Table without putting the suffixes such as the BioAPI and/or BioSPI function names to avoid redundancy.
7.2.3 Before calling a BioAPI function to be tested, the testing application shall read the values described in
the Default Input Table first then read one of test conditions described in the Test Condition Table by picking
up one of the rows in the table, which means that all the input parameters are set by the testing application by
referring to the Default Input Table but one of the parameters is overwritten by the value described in the Test
Condition Table. The testing application shall repeat reading the two tables every time it executes a test case.
7.2.4 In Default Input Table, the input parameter names and the input parameter values for the BioAPI
function under test are described. The sequence of the parameters are the same as the one described in
ISO/IEC 24709-1.
7.2.5 In Test Condition Table, the following information is described.
(a) Input parameter name and input parameter value: Describes the parameters given to the BioAPI function
to be tested.
(b) Supported options in BSP Schema: Chooses the options in BioAPI_OPERATIONS_MASK and
BioAPI_OPTIONS_MASK in the BSP Schema that are related to the test case to show these options are
supported or not in the test case. The detail of Test Condition Table is described in 7.3 and Clause 8.
(c) Return value (from BioSPI): Shows a value to be returned from the testing BSP after the BioSPI function is
invoked by the BioAPI framework. One return value that is thought to be adequate is selected from the
possible return values and described in the table.
7.2.6 In Expected Result Table, each row includes the return value and one of the names of the
parameters and its value to make a decision of the pass/fail results. The detail of Expected Result Table is
shown in 7.3 and Clause 8.
7.2.7 In the XML texts, it sets up the parameters from Default Input Table described in 7.2.4 and Test
Condition Table described in 7.2.5 using the element before calling the BioAPI function to be tested,
then makes a pass/fail decision by obtaining the expected results from Expected Result Table described in
7.2.6 using the element after the BioAPI function returns to the testing application. Each test case has
the above mentioned logic in common for one BioAPI function or one BioSPI function, so in principle, there is
only one XML text for one BioAPI function or one BioSPI function without having any exception that is to be
applied to a particular test case.
7.2.8 The structure of CTS for BioAPI frameworks is depicted in Figure 1.
7.2.8.1 CTS consists of the testing application, the testing BSP, XML text, the two test tables and the
BioAPI framework under test. Both the testing application and the testing BSP read the XML text and the test
tables and run the script after translating it to the binaries executable on a computer. In addition, the testing
application and the testing BSP check the behavior of the BioAPI framework through the information given by
the BioAPI framework and make a pass/fail decision.
NOTE Setting the values given in the Test Condition Table to the variables defined in the XML text is responsible for
CTS and it is not in the scope of this part of ISO/IEC 24709.
4 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC 24709-3:2011(E)
: Logic flow
Testing application
: Data flow
Pass/fail
4
Test Start
Input
report
parameters
3
(1. Selects a test) 2
Notifies Gets
Gets Test tables
Package xxx Test No. Test Script
-- INPUT PARAMS-- XML text Test tables
input inpara1 var_i1
Function A Function A
input inpara2 var_i2
… package aaa
Package Z Default Test Expected
Test Test Expected
….
Input Condition Result
….
Framework
ConditionCondition Result
invoke
-- FUNCTION CALL -- BioAPIPa_ckage Zxxxxx….
under test
BioAPI_aaa
….
invoke BioAPI_xxx
…. Function Z
BioAPI_zzz
….
-- OUTPUT PARAMS--
Default Test Expected
input return var_ret
Input Condition Result
input outpara1 var_o1
Function Z
Input outpara2 var_o2
Gets Test tables
-- CHECK OUTCOME – Gets Test Script
check return val_ret
check outpara1 var_o1
Output
…
parameters
Testing BSP
Figure 1 — Structure of CTS for BioAPI framework
7.2.8.2 In accordance with the descriptions in Test Condition Table, the testing BSP shall have a
capability to change the members of BioAPI
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.