[Main Page]

Technical Documentation: General Design of the TM

From Go4IT project

Main Page | Recent changes | Edit this page | Page history | Switch to MediaWiki mode

Printable version | Disclaimers | Privacy policy

This document describes the TM section of the Go4IT Package2 General Design Document, wich is made of the following sections:

Contents

Introduction

This document intends to provide a preliminary introduction to the design of the Test Management (hereafter, TM) entity whithin a TTCN-3 test system. This entity is responsible for overall management of the test system which will be described in different documents.

Use Cases

This section contains a set of use cases that describe the external behavior of this TM module. A use case is a description of a specific interaction that a user (or another module) may have with this module. Use cases are deceptively simple tools for describing the functionality of the software.

A use case is a simple, straightforward tool that can be used to completely describe all the behavior of a piece of software. It contains a textual description of all the ways that the intended users could work with the software through its interface. Use cases do not describe any internal workings of the software, nor do they explain how that software will be implemented. They simply show how the steps that the user follows to use the software to do his work. All the ways the users interact with the software can be described in this manner.

This section will contain multiple use cases, enough to define all of the interactions the users will have with the module. In the following figure, a general overview of defined use cases and relationships between the different actors (i.e., users) which have been defined in this section is shown.

General overview of use cases

UC-1: Initialization

Summary

Test system initialization. See § 11.1.1 in [1] Part 6.

Rationale

When a user starts the test environment, the test system has to be initialized in order to be able to execute test cases. As well, the TM entity should communicate with the TE in order to select a TTCN-3 module to be executed and therefore transfer the module parameter values of a test case to the TE

Actors

TM-UI, TE

Preconditions

Neither the control part of a module nor a test case is currently being executed

Basic Course of Events

  • Step1: The user initializes the test system and the test environment using the TM-UI.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The user obtains the list of test cases available in the selected module.

Alternative Paths

  1. In Step2, the user should select a TTCN-3 module. If this is not possible, the TM should inform the TM-UI (no TTCN-3 module is available).
  2. In Step3, if the TM is not able to obtain the list of test cases, the TM should inform the TM-UI that there are no test cases inside the selected module.

Postconditions

The TM has obtained the TTCN-3 module and the list of test cases within this module and can transfer this information to the TM-UI.

UC-2: Module parameters request

Summary

The TE requests module parameters from the TM. See § 11.1.2 in [1] Part 6.

Rationale

Once the test system has been initialized and a test component is running, the TE requests module parameters value(s) associated to a test case to the TM which are needed for the execution of its test behaviour (these parameter module values are extracted from the PICS/PIXIT document/s).

Actors

TE

Preconditions

A test component must be running

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The user obtains the list of test cases available in the selected module.
  • Step4: The TE requests the value(s) of module parameters.
  • Step5: The TM sends the value(s) for the indicated parameter(s).

Alternative Paths

  1. In step 4, the TE requests the value of module parameters. If the TM can not provide a TTCN-3 value, the distinct null shall be returned.

Postconditions

The TE has obtained the TTCN-3 parameters module values

UC-3: Execution of control part

Summary

The TM executes the control part of a TTCN-3 module. See § 11.2.1 in [1] Part 6.

Rationale

When a TTCN-3 module is selected, the control part is first selected to be executed. Then, the control part starts its execution until the execution is terminated by the TE.

Actors

TE

Preconditions

The test system has to be initialized and a TTCN-3 module has to be selected

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects the control part of the module.
  • Step4: The control part is started.
  • Step5: The TE executes the control part until the execution is terminated.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module does not have to execute any module.
  2. In step 5, the TE executes the control part until the execution is terminated. Once this occurs, the TE shall to inform the TM module. If there is any problem, the TE must also inform the TM.

Postconditions

The control part of a TTCN-3 module has been executed.

UC-4: Test cases execution within control part

Summary

The TM executes test cases within the control part of a TTCN-3 module. See § 11.2.2 in [1] Part 6.

Rationale

When a TTCN-3 module is selected, the control part is first selected to be executed. Test cases included in the control part must be executed according to the statements included in the control part.

Actors

TE

Preconditions

The test system has to be initialized and module has to be selected

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects the control part of the module.
  • Step4: The control part is started.
  • Step5: For each test case included in the control part that has started and terminated, the TE must inform to the TM module.
  • Step6: The information delivered to the TM, after a test case has been started, must include the test case identifier, the list of parameters of this test case and the duration of the test case.
  • Step7: The information delivered to the TM, after a test case has been terminated, must include the verdict of the test case and the list of parameters of this test case.
  • Step8: The TE executes the control part until the execution is terminated.

Alternative Paths

  1. In Step2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module does not have to execute any test case.
  2. In step 5 & 6, the TE executes the control part until the execution is terminated. Once this occurs, the TE shall inform to the TM module. If there is any problem, the TE must also inform the TM.

Postconditions

The test cases included in the control part of a module have been executed.

UC-5: Direct execution of a test case

Summary

The TM executes a test case directly. These test cases are outside of the control part of a TTCN-3 module. See § 11.2.3 in [1] Part 6.

Rationale

When a TTCN-3 module is selected, containing the test cases to be executed, the user can select a test case to be executed.

Actors

TM-UI, TE

Preconditions

The test system has to be initialized and a module has to be selected

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects a test case to be executed using the information provided by the TM-UI.
  • Step4: The TM informs the TE which test case wants to execute.
  • Step5: The TE informs the TM, when a test case has started including the name of the test case, parameters and associated timers.
  • Step6: The TE informs the TM, when a test case has terminated including verdict of the test case and parameters.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module has not to execute any test case.
  2. In step 3, the TM selects a test case in the current module with the given parameters. If this test case does not exist, the TE shall inform the TM that an error has occurred.

Postconditions

The selected test case has been executed

UC-6: Execution of a test campaign

Summary

The TM executes a test campaign (set of test cases) directly. These test cases are outside of the control part of a TTCN-3 module. See § 11.2.3 in [1] Part 6.

Rationale

When a TTCN-3 module is selected, containing the test cases to be executed, the start of a test campaign can be started.

Actors

TM-UI, TE

Preconditions

The test system has to be initialized and a TTCN-3 module has to be selected.

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects a test campaign to be executed using the information provided by the TM-UI.
  • Step4: The TM informs the TE which test cases wants to execute (this information is provided by the TM-UI).
  • Step5: The TE informs the TM, when a test case has started including the name of the test case, parameters and timers.
  • Step6: The TE informs the TM, when a test case has terminated including verdict of the test case and parameters.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module does not have to execute any test case.
  2. In step 3, the TM selects a test case in the current module with the given parameters. If this test case does not exist, the TE shall inform to the TM that an error has occurred

Postconditions

The test cases included in the test campaign of a module have been executed.

UC-7: Stop a test case

Summary

The TM stops a test case directly during the test case execution. See § 11.4.1 in [1] Part 6.

Rationale

When a test case is running, a user may want to stop the test case execution. Once the TM has received information about a started test case, a stop of this test case can be requested.

Actors

TE, TM-UI
Preconditions
The test system has to be initialized and a module has to be selected. Also, a test case has to be running.

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects a test case to be executed.
  • Step4: The TM informs the TE which test case wants to execute.
  • Step5: The TE informs the TM, when a test case has started including the name of the test case, parameters and timers.
  • Step6: The TM informs the TE that wants to stop the test case being executed.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module has not to execute any test case.
  2. In step 3, the TM selects a test case in the current module with the given parameters. If this test case does not exist, the TE must inform the TM that an error has occurred.
  3. In step 6, the TM informs to the TE that it wants to stop the test case being executed. If the TE is not executing a test case, the operation must be ignored

Postconditions

The test case selected and being running has been stopped.

UC-8: Stop a test case after error

Summary

The TM must handle errors during the execution of a test case. See § 11.4.4 in [1] Part 6.

Rationale

When a test case is running, an error may occur during the execution of a test case. Once the TM has received this information, the TM must terminate the execution of that test case and inform the TM-UI

Actors

TM-UI, TE

Preconditions

The test system has to be initialized and a module has to be selected. Also, a test case has to be running

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects a test case to be executed.
  • Step4: The TM informs the TE which test case it wants to execute.
  • Step5: The TE informs the TM, when an error has occurred.
  • Step6: The TM stops the execution of the test case.
  • Step7: The TE informs the TM that the test case has been terminated due to an error.
  • Step8: The TM must inform the TM-UI.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module does not have to execute any test case.
  2. In step 3, the TM selects a test case in the current module with the given parameters. If this test case does not exist, the TE must inform to the TM that a error has occurred.
  3. In step 6, the TM informs to the TE that wants to stop the test case being executed. If the TE is not executing a test case, the operation must be ignored

Postconditions

The test case selected and being running has been stopped.

UC-9: Stop control part

Summary

The TM stops a control part during the control part execution. See § 11.4.2.

Rationale

A control part can be stopped in between starting the control and its termination. If the control part receives a stop control request while a test case is being executed, the test case currently being executed shall be stopped.

Actors

TE

Preconditions

The test system has to be initialized and a module has to be selected. Also, a test case has to be running within a control part.

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2:The user selects a TTCN-3 module to be executed.
  • Step3:The TM selects and executes the control part whithin the selected module.
  • Step4:The TE starts to execute test cases within the control part.
  • Step5:The TM informs the TE that it wants to stop the control part currently being executed.
  • Step6:The test cases currently being executed are stopped.
  • Step7:Once the control part has stopped, the TE informs to the TM that the control part of the selected module has just terminated execution.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM module does not have to execute any test case.
  2. In step 5, the TM informs the TE that it wants to stop the control part being executed, If the TE is not executing the control part, the operation must be ignored.

Postconditions

The control part selected and the test case being running have been stopped.

UC-10: Termination of control after error

Summary

The TM stops a control part when an error has been detected during the execution. See § 11.4.3 in [1] Part 6.

Rationale

A control part must be stopped when an error during its execution is detected. The TM must handle an error during the execution of a control part when no test case is being executed.

Actors

TE

Preconditions

The test system has to be initialized and a module has to be selected. Also, a control part has to be running.

Basic Course of Events

  • Step1: The user initializes the test system and the test environment.
  • Step2: The user selects a TTCN-3 module to be executed.
  • Step3: The TM selects and executes the control part whithin the selected module.
  • Step4: During the execution, an error is detected and the TE has to inform the TM.
  • Step5: The TM informs the TE that must stop the execution of the control part.
  • Step6: Once the control part has stopped, the TE informs to the TM that the control part of the selected module has just terminated execution.

Alternative Paths

  1. In step 2, the user selects a TTCN-3 module to be executed. If this does not occur, then the TM does not have to execute any test case.
  2. In step 5, the TM informs the TE that it wants to stop the control part being executed, If the TE is not executing the control part, the operation must be ignored.

Postconditions

The control part selected and being running has been stopped

UC-11: Interact with the test execution

Summary

Interacting with the test execution (control part , test case or test campaign) by giving the runtime parameters using TM-UI.

Rationale

Test execution (control part or test case or test campaign) may need some runtime parameters. Therefore, TM must interact with the test user.

Actors

TM-UI, TE

Preconditions

A test execution (control part or test case or test campaign) is already running.

Basic Course of Events

  • Step1: TE gives needed runtime parameter command and corresponding information to TM.
  • Step2: TM informs TM-UI about this information.
  • Step3: TM-UI displays this information and wait inputs from the test user.
  • Step4: Test user inputs required information.
  • Step5: TM-UI transfers user’s input to TM.
  • Step6: TM transfers to TE.

Alternative Paths

None

Postconditions

TE receives required runtime parameters.

UC-12: Configuration

Summary

Test user can configure the test system using TM-UI

Rationale

Some parts of the test system may be configured by test user through TM-UI.

Actors

TM-UI. TE

Preconditions

UC-1 has been done.

Basic Course of Events

  • Step1: Test user introduces configure command in TM-UI.
  • Step2: TM-UI informs TM to perform this configuration.
  • Step3: TM finishes configuration and informs TM-UI.

Alternative Paths

  1. In step 2, if the configuration command does not exist, then TM shall return an error message to TM-UI.

Postconditions

The configuration has been done

Functional Requirements

Functional requirements define the internal workings of the software: that is, the calculations, technical details, data manipulation and processing, and other specific functionality that shows how the use cases are to be satisfied. The name, summary and rationale of each functional requirement are used in the same way as those of the use cases. The behaviour that is to be implemented is described in plain English in the “Requirements” section. Most requirements are only relevant to a small number of use cases—these ones should be listed by name and number in the “References” section. (Some requirements are not associated with use cases.) The core of the requirement is the description of the required behavior. It is very important to make this clear and readable. This behavior may come from organizational or business rules, or it may be discovered through elicitation sessions with users, stakeholders, and other experts within the organization. Many requirements will be uncovered during the use case development. When this happens, the requirements analyst should create a placeholder requirement with a name and summary, and research the details later, to be filled in when they are better known.

FR-1: TCI compliant

Summary

The TM module has to be TCI compliant (See [1]).

Rationale

All JRA2 (See [2] )development must be TTCN-3 standards compliant.

Requirements

The TM module must be compliant with the ETSI standard (TCI).

References

See [1].

FR-2: Initialization of test environment

Summary

The initialization process of the test environment has to check that the different elements are correctly configured and the parameters provided by TM-UI are valid.

Rationale

If there is any problem with one element of the test environment or any parameter is not valid, it has to be detected in the initialization process.

Requirements

The initialization process of the test environment has to check that the different elements are correctly configured and the parameters provided by TM-UI are valid:
  • The network interfaces of the test system and SUT are OK and properly configured.
  • The SUT is reachable in the appropriated links.
  • The different elements are set to the initial state.

References

  • TCI Implementor routine: tciRootModule, tciGetModuleParameters and tciGetTestCases
  • UC-1

FR-3: Multiple test cases selection (test campaign)

Summary

Multiple test cases selection must be possible, using different criteria (ie., a test campaign selection is possible).

Rationale

There will be a lot of test cases, and the possibility of simultaneous test cases selection by different criteria is needed.

Requirements

The different criteria to be implemented to provide test cases selection will be:
  • It will be able to select all test cases related to a functionality.
  • A list of test cases must be selected individually.
  • A list of test cases selected choosing the initial test case identifier and the final test case identifier of a correlative series.

References

FR-4: State of a test environment after stop a test case

Summary

The state of the test environment has to be restored after stopping a test case.

Rationale

It will be very common to try the execution of a new test case after stopping a test case being running.

Requirements

The state of the test environment after stopping a test case has to be the one that was before the beginning of the test case, that is, the initial state of the test environment, so allowing the execution of a new test case without any additional operation.

References

  • TCI Implementor routine: tciTestCaseTerminated
  • UC-7, UC-8

FR-5: State of test environment after stop a control part

Summary

The state of the test environment has to be restored after stopping a control part.

Rationale

It will be very common to try the execution of a new control part after stopping the control part being running.

Requirements

The state of the test environment after stopping a control part has to be the one that was before the beginning of the control part, so allowing the execution of a new control part without any additional operation.

References

  • TCI Implementor routine: tciControlTerminated
  • UC-9, UC-10

FR-6: Execution of different instances of TM at the same time

Summary

Only one instance of TM must be running in the same test system.

Rationale

To allow the execution of several instances of TM simultaneously in the same test system is not a requirement

Requirements

If there is an instance of TM running and the user tries to run another one, TM has to send a message to TM-UI informing the user that there is already an instance of TM running.

References

  • TCI Implementor routine: tciStartTestCase, tciStartControl
  • UC-3, UC-4, UC-5, UC-6

FR-7: Execution of different test cases at the same time

Summary

The execution of more than one test case at the same time will not be allowed.

Rationale

To allow the execution of several test cases simultaneously is not a requirement. Test cases should be executed sequentially.

Requirements

If there is an test case being running and the user tries to run another one, TM shall send a message to TM-UI informing the user that there is already a test case running.

References

FR-8: Repeated stop test case orders

Summary

Only the first stop order will be treated and considered.

Rationale

Other stop orders do not have to be treated and considered until the test case being running has been stopped completely.

Requirements

If the TM-UI sends to TM more than one order to stop the running test case, only the first order will be treated and considered. Other ones shall be ignored.

References

FR-9: Repeated stop control part orders

Summary

Only the first stop order for a control part will be treated and considered.

Rationale

Other stop orders do not have to be treated and considered until control part being running has been stopped completely.

Requirements

If the TM-UI sends to TM more than one order to stop the running control part, only the first order shall be treated. The others ones will be ignored.

References

Nonfunctional Requirements

Nonfunctional requirements impose constraints on the design or implementation (such as performance requirements, quality standards or design constraints).

Users have implicit expectations about how well the software will work. These characteristics include how easy the software is to use, how quickly it executes, how reliable it is, and how well it behaves when unexpected conditions arise. The nonfunctional requirements define these aspects about the system. (The nonfunctional requirements are sometimes referred to as “non-behavioral requirements” or “software quality attributes”.)

The nonfunctional requirements should be defined as precisely as possible. Often, this is done by quantifying them. Where possible, the nonfunctional requirements should provide specific measurements which the software must meet. The maximum number of seconds it must take to perform a task, the maximum size of a database on disk, the number of hours per day a system must be available, and the number of concurrent users supported are examples of requirements that the software must implement but do not change its behavior.

NF-1: Documentation

Summary

Detailed description of developed software

Rationale

Documentation is a communicable material needed to describe the structure and components implemented. It also includes the programmer manual.
Correct, up to date, and complete documentation should help bo reach a good quality for:
  • Maintainability (TM can be modified at the lowest possible cost)
  • Reliability (ability of the TM to perform and maintain its functionality in routine and also in different unexpected circumstances)
  • Extensibility (adding new functionalities to the TM without affecting the functionalities already implemented)

Requirements

The documentation will consist of:
  • Software architecture of TM following the developer´s guide.
  • Dependency with other parties (using a relationship or flow diagrams).
  • Flow diagrams for each TCI routine implemented (or functions using TCI routines)
The documentation will be divided into component parts and for each one the following documentation will be provided:
  • Component description.
  • Reference to the specification (this document).
  • Component peculiarities.
  • Component documentation.
  • API documented in detail: parameters return value and behavioral description.
  • Configuration and installation guidelines.
  • Component distribution.
Source code must be documented according to the rules established to edit Java code (i.e., javadocs). See also developer’s guide [7].

References

This document.

NF-2: Platform Compatibility

Summary

Platform requirements to execute TM

Rationale

TM subsystem is part of test system that it will be compiled and linked jointly in order to get the executable entity.
All of them must be according to the same platform requirement.

Requirements

  • Operating System; linux 2.6.
  • Compiler: gcc 3.4.
  • Additional compiler features: POSIX library.

References

See [3].

NF-3: Independency of TE

Summary

The TM must be independent of TE .

Rationale

The TM must handle new TEs as result of adding new test cases or modifying the existing ones. That is, the TM must be able to handle and control any kind of test cases produced as result of adding new test cases,

Requirements

The TM module must be developed taking into account that the TEs available to be run is going to evolve, adding new test cases or modifying the existing ones. Therefore, the TM must avoid any dependency on TE, allowing the execution of new test cases without modifying the code.

References

TBC

NF-4: Storage of TM configuration parameters

Summary

The configuration parameters of TM will be stored in a text file

Rationale

There are not many parameters and a text file is a very easy means to be used by users to store and modify it.

Requirements

A text file with .INI style will be used to store the configuration parameters of TM:
[Section 1]
Parameter1=Value1
Parameter2=Value2
[Section 2]
Parameter3=Value3
Parameter4=Value4
Some of these parameters are: type of the SUT (host or router), MAC of the SUT, IP addresses of interfaces linked to different networks, hostname, timers, etc.

References

TBC

NF-5: PC requirements

Summary

Minimum requirements for a PC (if it is used as test system platform) to be able to execute TM module and the rest of test environment.

Rationale

This is a essential information for the user in order to deploy the test environment.

Requirements

The minimum requirements for a PC to be able to execute TM module and the rest of test environment will be:
  • Processor speed: 600 MHz
  • RAM memory: 256 MB
  • Free disk space: 1 GB

References

TBC

NF-6: Dependency on other parties

Summary

Dependency of TM with the other software elements conforming the test system

Rationale

TM interworks with other software entities to be clearly identified.

Requirements

The dependencies must be clearly identified.

References

This document.

See Also

Further reading:

Retrieved from "http://www.go4-it.eu/modules/mediawiki/index.php/Technical_Documentation:_General_Design_of_the_TM"

This page has been accessed 3,213 times. This page was last modified 14:35, 7 August 2006. Content is available under Go4IT project.


© 2005-2008 - Eu FP6 - INFRA 7 - Go4IT project