Measuring processes - About the (protocol) conformance tests

Content:

Conformance test serves for, whether an equipment, or a certain part of that equipment ( e.g. an interface) (IUT - Implementation Under Test) conforms for the related standards, or not. Conformance test follows developer tests in the testing hierarchy, namely it is executed, when the prototype of the product is ready.

In order to build operative networks from the product of firms producting different network elements, it is necessary to have standard protocols (communication rule systems). That is why most of the conformance tests are protocol tests. Immediately after that a claim occurs for that we could control, whether a product is able to realize a given protocol perfectly.
Unfortunately the fact, that two equipments successfully passed the conformance test (namely it is a proper realization) does not necessarily mean, that they are able to cooperate perfectly, although the chance for this will be definitely better.
In most of the cases the problem is given from that standards may contain details, that are not clear, because most of them is written in a natural language (usually in English). This case becomes more difficult, because sometimes solutions of several manufacturers are raised to be a standard, that cannot agree with each other, and these staandard are not compatible with each other. Interoperabilitiy test examines the cooperation of two or more equipments.

Conformance test is an instrumental (dynamic) test, which can be executed by the developer of the product in his own laboratory - according to the operative European conformance evaluation rules - or in an (accredited) test laboratory, prepared for these tests (e.g TVL).

The most important characteristics are the following: on the one hand,it builds up to the OSI layer model, and on the other hand, it considers the indvidual realizations to "black boxes", namely does not deal with their inner build-up, but just with their behaviour towards the outer world.

Conformance test process of equipments built according to the ISO OSI model serving for connecting the open systems with each other, and their interfaces is fixed in the ISO 9646 standard, namely the test according to the standard is standardized, too.

The ISO 9646 standard:

PICS and PIXIT documents

PICS - (Protocol Implementation Conformance Statement).
In this document the maker of the prototype declares, what was realized from the related standard.

The PICS proforma is an integrated part of the up-to-date equipment and interface standards. Example: ATM: ATM UNI 3.1 PICS

ISO 9646 classifies requirements into the following classes:

PICS informs the tester about that maker of the prototype which requirements realizes from the standard, so this document is a kind of list of the realized options and capabilities. Data of PICS are used in numerous phases of the test.

A PIXIT (Protocol Implementation Extra Information for Testing)
document contains data and test controls, that are necessary for the execution of a dynamic test.

The PIXIT proforma is an integrated part of the up-to-date equipment and interface standards. Example: ATM: ATM UNI 3.1 PIXIT (Annex A)

Abstract (ATS) and executable (ETS) test suites

Abstract test suites (ATS) are also integrated parts of the up-to-date equipment and interface standards.
Example: ATM: ATM UNI 3.1 ATS

Word "abstract" means in this case, that realization of this set is independent, namely it contains only abstract instructions, e.g. "sending of a data packet to a given port".

A concrete example from the ATM UNI 3.1 ATS. The row describing test step

PCO_A!CELL_NR

in TTCN format describes sending of a CELL_NR ATM cell to the PCO_A port of the tester (! is the sign of the sending). Here we will not tell, what type is this cell, and where the port is located.

Test suite was built up hierachically, as it can be seen on the following figure:

Test Suite:

Every test suite has an independent aim: to check the correct operation of a determined protocol-function. For sake of a more simple traceability, they are structured into test groups with an optional stratification level number. We can distinguish test cases within a test suite. These are the basic elements of the test operation, involving the sending of one protocol element, or its reception. Test cases can be modularized in the format of test steps to any kind of depth.

Beyond the above mentioned issues, ATS contains further information in many cases, primarily to make implementation easier. These are, for example, relation of statements in PICS and PIXIT with the selection mechanisms appropriate for the aims, and we can also classify the individual timing viewpoints to here.

Standard description language of ATS is TTCN. ATS itself cannot be executed, so it is necessary to convert ATS to a format, which can be run by the tester. This format is called executable test suite (ETS). Steps of the ATS->ETS conversion:

If we have a TTCN translater to the given tester, then, if we have enough time, we will not really want to test, or, if we want to turn our hairs gray, we can do the translation by ourselves.
We will reach our aim much quicker, if we buy the test suite translated by the maker, to that the producer gives even menus for the selection of tests and parametering. This kind of integrated test program allows besides issues mentioned above monitoring and it makes even the test records at the end of the test.

The following results could be generated in case of running of a test case:

Shorthly about TTCN

One of the possible languages of the abstract test suites is the TTCN (Tree and Tabular Combined Notation) processed by the SO 9646 standard. In this language there are test cases of a test suite written, and the declaration part belonging to it, arranged into tables. Then tables are arranged into a test tree. Test can be executed going through the branches of the tree, while running the test.

Processing of the language happened with considering the following viewpoints:

  • System independence of the test suites.
  • Procession of a language, that is applicable for processing of the test suites of any protocols.
  • Facilitation of development of testing tools, providing a possibility for a larger and larger automatization of designing and developing tests. It results at the same time cost saving both for the tests, and for the producers of equipments.
  • Facilitation of interoperability of protocols with the standardization of conformance tests. Conformance of a protocol itself is not an assurance for the correct operation, but it can enhance the possibility for it, and solving the incidental cooperational problems would be easier with the help of the information, that can be found in recordings (PCTR, SCTR).
  • The easy readability is not a despicable aspect, either, considering especially designers and executives of tests.

TTCN has two kinds of formats:
  • a graphic (table) format (TTCN.GR - GRaphical), which is primarily for human reading
  • and another version, that can be processed by a machine (TTCN.MP - Machine Processible), namely it can be given to the TTCN translator.

A standard test suite written in TTCN is distributed into four well separated parts (table classes):

They are presented in details at the Appendix.

An example for describing a test case in TTCN:

Test Case Dynamic Behaviour

Test Case Name: VER_VP

Group: General/

Purpose: Verify, that the IUT supports point-to-point VP connectivity.

Default:

Comments: Requires a VP connection. Ref. 3.1, 1.5/PICS 3.3.1

Nr

Label

Behaviour Description

Constraints Ref

Verdict

Comments

1

2

3

4

5

6

7

 

 

LB1

PCO_A!CELL_NR

   START T_Test

      PCO_B?CELL_NR

      PCO_B?CELL

         GOTO LB1

      ?TIMEOUT T_Test

      PCO_B?OTHERWISE

CELL_SQ(...)

 

CELL_SQ(...)

CELL_UNASSIGN.

 

 

P

 

 

F

F

 

Detailed Comments : Selection Ref: VP_SERV

This example [1] is from the fourth, "dynamic" part of the TTCN descripiton. It is worth to begin studying of the language here, because it bears the most of the information. Let us see, what is seen from the above part:

This latter must be interpreted on the following way:

  1. Sending out data element described in part "Constraints" to the PCO marked with "A".
  2. Starting of a timer named T_Test. (Note: tabulating means a sequence in time!)
  3. Several things could happen here:
    1. A CELL_NR has arrived to the PCO marked with "B". In this case the verdict is "Pass" (P)
    2. A CELL_UNASSIGN has arrived to the PCO marked with "B" In this case we go to the row number 5, and jump back to the label marked with LB1 (it is in Point 3. in this description).
    3. T_Test timer is expired. Then the verdict is "Fail" (F)
    4. Another data element, that wasn't mentioned yet, has arrived to the PCO marked with "B" The verdict is also "Fail" in this case.

Appendix A: TTCN in details

Abstract testing methods

Implementations of different protocol standard could be embedded into the whole system differently, so they require different testing methods. That is why the ISO 9646-2 standard defines a set of the testing methods, which involves separatedly a test configuration, PCO-types (Point of Control and Observation), and test coordination possibilities.

This set covers the possible protocol implementation/tested system (SUT System Under Test) pairs - the task is to select the righ method from them. Abstract Test Method (ATM) is determined by the following aspects:

Conformance test conceptions standardized by the OSI are based on the well-known seven-layered reference model. Different abstract testing methods are distinguished from each other that at what point of IUT can they be controlled, or tested, namely where can PCO(s) be located. .According to the standard, PCOs can be considered as two holding rows. One of them is the row of events to be sent, another one is the row of newly received events. This controller, and combination of testing events will determine the operation of IUT perceived by the tester. Standard draws basically the scheme of two testing environments:

As a consequence of characteristic of measurement (usage of one switch at once) we use the previous scheme. We will learn about the three possible methods of this shortly, and a fourth one, used during field-work, in details henceforward. For this, first we should define the necessary concepts shortly:

PDU : Protocol Data Unit

ASP: Abstract Service Primitiv, used on PCOs.

UT: Upper Tester, which approaches services provided by the IUT from the upper protocol layer boundary

LT: Lower Tester, which controls the the behaviour of IUT towards the lower layers.

TCP: Test Coordination Procedure, which provides the aligned testing.

TMP: Test Management Protocol, which is actually a standardized TCP.

So we will talk about firsst three testing methods shortly, that are not in use presently:

Local testing methods: here is the best possibility for the direct observation of IUT, but laboratory conditions are necessary for this, and their realization is quite difficult in practice. In this case we can observe PCOs both at upper and lower service boundaries. UT is realized in the tested system, TCPs are realized as a whole in the tester.

Distributed testing method: this method is very similar to the previous one, the essential differences are the following: UT is placed to the SUT, which requires also application of coordination processes (TCP). Realization of UT can be executed by human cooperation, or from a software. Disadvantage of this method, that a direct interference to the tested system (SUT) is also necessary.

Coordinated testing method: this method provides a solution in case, if we cannot access the upper service layer of IUT. Coordination methods are realized in a standardized form (TMP), and UT is a concrete implementation of the TMP then, within the given SUT. That is why ATS must be completed with test suites, that control, whether the UT is an appropriate implementation of TMP specification, or not.

Remote testing method:

Model of this method is demonstrated on the following figure:

In case of the remote testing method there is a lack of UT, and its tasks can be taken over by the system under testing (SUT). In the abstract test suite describing conformance requirements only the required effect of coordination methods of test is recorded, dotted lines around UT and TCP are relate to it. Lower tester (LT) has to try prefereably to execute TCP processes according to the information written in PIXIT, but the possibilities for this are quite limited because of the lack of UT. In the test suite there must be recorded ASPs perceiveable by the lower tester, and in form of PDUs the required operation of the system under testing (SUT).

This method has a smaller error recognition capability, but in this case it is the only one, that can be realized, because there is no possibility for a direct interference to the system. It is true in most of the cases, thus it is the most spread abstract testing method.

Process of the execution of conformance test

Process of the execution of conformance test is summarized by the following.

Test reports (SCTR, PCTR)

Deciding the conformance of a given system, last step will be the summary of results of the test laboratory in the conformance test report of the system (SCTR - System Conformance Test Report), and one or more protocol conformance test report (PCTR - Protocol Conformance Test Report). PCTR contains results of the individual test suites, with reference to the conformance test documents (PICS, PIXIT). This type of report is prepared for all the protocols implemented and tested in IUT. SCTR is the summary of verdicts brought during testing (pass, fail or inconclusive), which evaluate conformance of the given SUT.

Structure of test reports is also specified by a standard (ISO/IEC 9646). A proper test report is structured, and consists of several parts (volumes):

Name Note Description
System Conformance Test Report SCTR Overwieving, summarizing report of tests.
SCTR contains information about the SCTR itself, about the testing laboratory, the client, the SUT. In addition, it reposes additional constraints, and constraints, that are important from the aspects of mechanical content, and judiciary obligations. Second part of the document contains summary of the test and its results, the latter is just as a short summary.

There are two parts of SCTR: CTPI, PCTR

Client Test Preparation Information CTPI Report of data, information by the procurer to the test. CTPI has three appendixes

Name Note Description
Conformance declaration related to the equipment SCS SCS contains data of the customer and the equipment under test.
Protocol Implementation Conformance Statement PICS
Protocol Implementation Extra Information for Testing PIXIT

Protocol Conformance Test Report PCTR Record of the executed tests by OSI layers. It is filled out by the tester, according to the tests executed with the selected test suites.
PCTR has three appendixes:

Name Note Description
Test summary OVERVIEW Summary report of results
Illustration from a report of a terminal using ISDN PRA.
Test overview table TEST_CAMPAIGN_REPORT Summary table of tests executed with the selected test suites, which contains also the uncertanity information.
This table is an alloy of PICS and the applied ATS, which is the most important part of PCTR. We can learn form it, whether the give test suite of ATS had been selected, run, or not, and if yes, what the result had been. Illustration from a report of a terminal using ISDN PRI.
Measurement results TESTLOG This appendix contains files generated by the measuring equipment. Because of its size it attached commonly in electronic format to the report.
Illustration from the report of an ISDN PRI terminal.