Contents |
Introduction
This document is the Software Requirement Specification for the GO4IT Package2 TTCN-3 test platform.
GO4IT test platform consists of two sets of tools for IPv6 testing:
- Package1 tools: freely downladable and ready to use test suites for IPv6 protocols, based on:
- ETSI test suites for IPv6: TTCN-3 source code (Abstract Test System) and documentation publicly available on ETSI Internet Protocol Testing web site for download.
- Free test tools, based on Java/Testing Tech technology, dedicated to ETSI Test suite execution, and available for download on GO4IT web site, with associated documentation and online service.
- Package1 is based on the results of ETSI STF276 project (see ETSI portal for up to date information on this project). This project produced in phase 1 (available since december 2005) a test methodology, a test test requirement catalog, and validated conformance and interoperability test suites for IPv6 core protocols.
- Package2 tools: TTCN-3 test environment (IPv6 test repository, edition environment, compiling tools, and execution environment), developed by Go4IT project partners, open to collaborative work, and available under open source licence on Go4IT web site.
- Package2 roadmap is structured into 3 steps:
- Go4IT Project Test Platform (short term, project Duration): This is the platform concept upon which the Go4IT project partners will develop Package2 deliverables. It supports relatively simple IPv6 protocol ATSs using only a subset of TTCN-3 functionality. The checked items in the corresponding column of the table below indicate this subset. It is derived, in part, from the INRIA RIPng ATS. However, additional considerations have also been included.
- Optimum Go4IT Test Platform: This is the platform concept that the Go4IT project would have built if we had received full funding. It supports all IPv6 protocol ATSs. Again, it is a subset of TTCN-3 functions but has more functionality than the Project Test Platform. This concept is derived in part from the ETSI STF 276 IPv6 Protocol ATSs for Core, IPSec, Mobility, and Transition services. Again, additional considerations are included.
- Long Term Test Platform (long term view): This is our view of how the Go4IT could evolve over time with in a Source Forge-like development environment. It includes additional functionality that is not necessary for IPv6 protocol testing.
The Software Requirement Specification applies to Optimum Go4IT Test Platform.
Purpose
The purpose of this document is to describe the main use cases, functional requirements and non functional requirements which should serve as a basis for developers and testers who are responsible of the implementation and integration of the different phases of the [www.go4-it.org Go4IT] project for Package2. It should give the implementers all the information necessary to design the software entity and tests for it.
The document is organized into several chapters, each chapter being under the responsibility of a team (at least two Go4IT parners) who is in charge of the design and development of the corresponding software pieces.
System Overview
The objectives and constrains of this Package2 are:
- Provide tool independent, extendable, "Go4IT ATS" (minimum tests suites, types, templates, functions) as a validation tool for the CoDec and adapter (PA, SA) implementations. See Go4IT Project Test Platform . This ATS will be TTCN-3 compliant.
- Provide, as source code, all the TTCN-3 modules that are bonded to the ATS (CoDec, SA, PA), for this "Go4IT ATS".
- Provide, as source code, the modules that are independent from the ATS (generic) and are needed for the test execution of any TTCN-3 compliant ATS (TM, CH, TL and associated User interfaces).
- If possible, provide a TTCN-3 compiler (adapted to the Go4IT ATS specific limitations, but conform to the Optimum Go4IT Test Platform definition), and associated runtime libraries.
- Provide a validation module (source code) for each Go4IT software module. This will allow independent validation of each module for both the user need verification (the specified functions are implemented) and the TTCN-3 standard compliance validation (TRI, TCI, operational semantics, core language).
- Define the set of reference documents (TTCN-3 version 3): provide and maintain the list of supported mechanisms in each of the developed module.
- Provide open documentation and free access to the platform (source forge like)
Go4IT architecture is compliant to TTCN-3 standard definitions of the TRI and TCI interfaces. Go4IT test system behaviour will conform to the TTCN-3 operational semantics specifications. The TTCN-3 standard defines a general structure for the TTCN-3 test system. The Go4IT architecture is conform to TTCN-3 standard definitions. By respecting such a basic modular architecture and the detailed specifications for the internal interfaces between modules (TRI and TCI), Go4IT will provide an open platform for TTCN-3 development and test execution.
GO4IT test platform is depicted on the following figure.
Notes: from the architecture document, the following notations have changed:
- SA-impl, PA-impl, CD-impl, CH-impl, TL-impl and TM-core are renamed respectively in SA, PA, CD, CH, TL and TM (standard conformance).
- SA-mod, PA-mod, CD-mod, CH-mod, and TM-mod are renamed respectively in SA-Lib, PA-Lib, CD-Lib, CH-Lib, and TM-Lib (compiler runtime libraries).
- Codets have been added: Codets are additional logic for the TTCN-3 types, which are necessary for the CoDec generation. They are developed in C++ and provided as source code files with the corresponding ATS.
- PIXIT are separated from the ATS (different files and languages).
References
- [1] TTCN-3 reference documentation – Version 3
- Part 1: TTCN-3 Core Language (CL), ETSI ES 2001 873-1 v3.1.1
- Part 2: TTCN-3 Tabular presentation Format, ETSI ES 2001 873-2 v3.1.1
- Part 3: TTCN-3 Graphical presentation Format, ETSI ES 2001 873-3 v3.1.1
- Part 4: TTCN-3 Operational Semantics, ETSI ES 2001 873-4 v3.1.1
- Part 5: TTCN-3 Runtime Interface (TRI), ETSI ES 2001 873-5 v3.1.1
- Part 6: TTCN-3 Control Interface (TCI), ETSI ES 2001 873-6 v3.1.1
- Part 7: Using ASN.1 with TTCN-3, ETSI ES 2001 873-6 v3.1.1
- [2] Go4IT Description of Work v1.13, Go4IT consortium, 15 Sept 2005. Go4IT project.
- [3] JRA1.D2 Architecture and Specification of the environment. Version 0.7. Go4IT project.
- [4] Package 2 R&D Organization Proposal. Version 3.0. Go4IT project.
- [5] ISO. Information Technology – Open system Interconnection –Conformance Testing Methodology and Framework – Seven Parts standard. Geneva, 1991 – 1999 (ISO / IEC 9646)
- [6] RIPng Test Suite. INRIA. April 2006. Version 1.1.
- [7] Package 2. Developer´s guide. Provided by INRIA. 20th July 2006. Version 1.0.
- [8] MTS-IPT: IPv6 Core Protocol ; Conformance Abstract Test Suite (ATS) and Partial Protocol Implementation eXtra Information for Testing (PIXIT) proforma. ETSI TS 102 516 v1.1.1 (2006-04).
- [9] RFC2080, “RIPng for IPv6”. G. Malkin, R. Minnear, January 1997, PROPOSED STANDARD.
- [10] RFC2081, “RIPng Protocol Applicability Statement”. G. Malkin, January 1997, INFORMATIONAL.
- [11] Test Specification. RIPng Conformance Test Suite. v.1.2.3. INRIA/IRISA.
Definitions and Acronyms
Definitions
- Abstract Test Suite (ATS): test suite composed of abstract test cases (TTCN-3 source code).
- codec: encoder/decoder entity used for encoding and decoding data to be transmitted and received, respectively.
- Codec generator: the tool that produces a CoDec for a given ATS and associated Codets. Codec generator also includes a set of runtime librairies to be linked with the CoDec.
- Codet: additional logic for the TTCN-3 types, which are necessary for the CoDec generation. They are developed in C++ and provided as source code files with the corresponding ATS.
- Coding/Decoding (CD): entity that administers the value and type handling including encoding and decoding in the TTCN-3 test system.
- Compiler: in this document, a TTCN-3 compiler which produces C/C++ source code for a given TTCN-3 ATS. Compiler also includes a set of runtime libraries to be linked with the compiled ATS.
- Component Handling (CH): entity that administers the handling of test components in the TTCN-3 test system.
- Executable Test Suite (ETS): see [5].
- Implementation of eXtra Information for Testing (IXIT): see [5].
- Protocol Implementation eXtra Information for Testing (PIXIT): PIXIT contains information regarding the physical setup and connection of the test that is not part of the protocol. This could be information regarding the system-under-test hardware, socket or telephone numbers, and other information to make the test more flexible and allow the person responsible for executing the test to stay out of the TTCN world and avoid rewriting anything in TTCN.
- Platform Adapter (PA): entity that adapts the TTCN-3 Executable to a particular execution platform
- Request For Comment (RFC): a series of numbered Internet informational documents and standards. The Internet *Engineering Task Force (IETF) adopts some of the applied information theory published in RFCs as Internet standards.
- Runtime Libraries: a set of libraries provided with the compiler, wich are necessary for TE execution. Runtime libraries are: PA-Lib, SA-Lib, CD-Lib, CH-Lib, TM-Lib; another runtime librarie is provided with the CoDec Generator: CoDec-Lib.
- System Under Test (SUT): see [5].
- SUT Adapter (SA): entity that adapts the TTCN-3 communication operations with the SUT based on an abstract system interface. It implements the real test system interface
- Test case (TC): see [5].
- Test event: see [1].
- Test Management (TM): entity which provides a user interface to as well as the administration of the TTCN-3 test system.
- Test Logging (TL): entity which provides logging information about test execution (including also the information provided by the TTCN-3 log statement)
- Test Management and Control (TMC): set of three entities providing test management and control; consists of the TM, TM-UI, CH, TL and CD.
- Test system: see [1].
- TTCN-3 Executable (TE): part of a test system that deals with interpretation or execution of a TTCN-3 ETS
- TTCN-3 Control Interfaces (TCI): three interfaces that define the interaction of the TTCN-3 Executable with the TM (TCI-TM), the CD (TCI-CD), and the CH (TCI-CH) in a test system. see [1], Part 6.
- TTCN-3 Runtime Interface (TRI): interface that defines the interaction of the TTCN-3 Executable with the SUT and platform Adapters in a test system. see [1], Part 5.
Acronyms
- ATS: Abstract Test Suite
- CD: CoDec (Coding/Decoding)
- CD-Lib: Runtime Library provided with the compiler (implements TCI-CD)
- CD-Gen: CoDec Generator
- CH: Component Handler
- CH-Lib: Runtime Library provided with the compiler (implements TCI-CH)
- ETS: Executable Test Suite
- IUT: Implementation Under Test (part of the system being tested)
- MTC: Main Test Component
- PA: Platform Adapter
- PA-Lib: Runtime Library provided with the compiler (implements PA part of TRI)
- PIXIT: Protocol Implementation eXtra Information for Testing
- PTC: Parallel Test Component
- SA: System (SUT) Adapter
- SA-Lib: Runtime Library provided with the compiler (implements SA part of TRI)
- SRS: Software Requirement Specification
- SUT: System Under Test
- TC: Test Case
- TCI: TTCN-3 Control Interface
- TE: TTCN-3 Test Executable
- TL: Test Logging
- TM: Test Management
- TM-Lib: Runtime Library provided with the compiler (implements TCI-TM)
- TM-UI: User Interface, for the Test Management facilities
- TMC: Test Management and Control
- TMR: Test Manager
- TRI: TTCN-3 Runtime Interface
- TTCN 3: Testing and Test Control Notation version 3
- UI: User Interface
Go4IT Package2 Functional Coverage
This Chapter gives the list of functions to be supported by Go4IT platform, conforming to the project roadmap.
WORK IN THE COURSE OF DRAFTING
See Technical Documentation: General Design Functional Coverage.
Go4IT Software Modules Design
This chapter contains a sub-chapter for each software module. Each sub-chapter contains a complete description of the required functionality of the module implementation within the Go4IT Package2. It consists of use cases, functional requirements and nonfunctional requirements, which, taken together form a complete description of the module implementation.
Common requirements
- Development language and Test Implementatin language:
- Optimum Go4IT Test Platform: Java & C/C++
- Go4IT Project Test Platform (short term, project Duration): C/C++
- Test Platform (Hardware & OS)
- Optimum Go4IT Test Platform: Prioritize in the list: linux, freebsd, Microsoft windows
- Go4IT Project Test Platform (short term, project Duration): linux 2.6 (TBC), with gcc 3.4 (TBC)
- TTCN-3 version: Edition 3 ([[#anchor_Ref1|see [1])
- Open Source Licence: Apache
- Project Platform and collaborative tools: source forge (TBC), with subversion (svn), wiki editor, ...
Editor
Only the core, textual, format will be supported. No specific editor is to be specified / developed in the project. The free editors will be used and, if necessary, the project will contribute to the existing tools maintenance efforts (open source projects).
See:
- jEdit: a free Java based programmer text editor based on an extensible plugin architecture. A TTCN-3 plugin, that makes the TTCN-3 keywords highlighted and the source code automaticaly indented, Is downloadable from: Testing Technologies web site
- emacs: emacs also provides (available for download) support for TTCN-3 core notation at
Issues:
- Define the suffix of a TTCN-3 file (the existing tools all define different suffixes).
Compiler and runtime libraries
WORK IS NOT DRAFTED YET
See Technical Documentation: General Design of the Compiler.
System Adapter (SA)
SA is strongly linked to the ATS to be executed on the test platform. There is no way to build a generic SA, that is suitable for any ATS. So, there will be no design document for the Optimum Go4IT Test Platform. SA module will be available as source code. It will be usable as a sample for any new SA development. Conforming to the project roadmap, SA for a specific GO4IT ATS will be provided for Go4IT Project Test Platform (short term, project Duration).
See Technical Documentation: General Design of the SA.
Platform Adapter (PA)
PA is strongly linked to the ATS to be executed on the test platform. There is no way to build a generic PA, that is suitable for any ATS. So, there will be no design document for the Optimum Go4IT Test Platform. PA module will be available as source code. It will be usable as a sample for any new PA development. Conforming to the project roadmap, PA for a specific GO4IT ATS will be provided for Go4IT Project Test Platform (short term, project Duration).
See Technical Documentation: General Design of the PA.
Component Handler (CH)
WORK IS NOT DRAFTED YET
See Technical Documentation: General Design of the CH.
Test Management (TM)
TBD: Provide a general description of the TM design document ...
See Technical Documentation: General Design of the TM.
Test Manager User Interface (TM-UI)
The TM-UI is the user interface of the whole system. All the interactions which need the information or command from test user are done in this module including starting up the test system, executing test suite, etc. So this project aims to provide a basic, command line interface with test user. TM-UI provides to test user three kinds of functions:
- First, test user can manage test system such as starting, quitting, configuration, etc.
- Second, test user can manage the execution of TE such as starting test case, controlling test case, starting test case control, etc.
- Third, visualizing test log for test user.
See Technical Documentation: General Design of the TM-UI.
Test Logging (TL)
The TL entity performs test event logging and presentation to the test system user. It provides the logging of information generated by test execution such as which test components have been created, started and terminated, which data have been sent to or have been received from the SUT and matched to TTCN-3 templates, which timers have been started, stopped or timed out, etc. There are two categories of TL functionalities.
- The first one is the interface with the TE to collect the logging of the information about the test execution.
- The second one is the interface with the TM-UI to present to the TM-UI the logging information retrieved before.
See Technical Documentation: General Design of the TL.
CoDec Generator
This document focuses on the Codec Generator (or CD-gen), whose purpose is to generate the CoDec from the TTCN-3 ATS sources and C++ Codets.
See Technical Documentation: General Design of the CD-Gen.
CoDec
The CD Implementation provides a coding & decoding service for the Test Executable. It consists of converting abstract TTCN-3 values used in the Go4IT IPv6 Test Suite into/from binary messages that can be transmitted to/from the System and the Platform Adapter. The CD Implementation interacts only with the Test Executable (through the CD Lib).
See Technical Documentation: General Design of the CD.
Go4IT ATS
WORK IN THE COURSE OF DRAFTING (not available yet) See Technical Documentation: General Design of the RIPng ATS.
See Also
Further reading:
- Technical Documentation: Wiki Editor's FAQ: how to edit a Go4IT wiki document?
- Technical Documentation: Developer's Guide: rules for Go4IT Package2 coding (C/C++).
![[Main Page]](/themes/Go4ITv2/images/logo.gif)
