1 / 12

Participants

“ Fast Spec-to-Test” Project. Participants. University of Ottawa Mitel Corporation. Leïla Charfi , Luigi Logrippo & group (with RL Probert & group) School of Information Technology and Engineering University of Ottawa. Objectives. The Problem:

vilina
Download Presentation

Participants

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “Fast Spec-to-Test” Project Participants University of Ottawa Mitel Corporation Leïla Charfi, Luigi Logrippo & group (with RL Probert & group) School of Information Technology and Engineering University of Ottawa

  2. Objectives • The Problem: Obtaining tests that cover the requirements • Automatic functional test generation • by developing automatic test purpose generation from requirements Use Case Maps (UCM)  LOTOS • Proposition of a design methodology with automatic test suite generation: • UCM at requirements stage • LOTOS at design & prototyping stage • Automatic LOTOS test purpose generation from UCM • Automatic test suite generation from LOTOS

  3. Design Methodology for Telecommunication Systems Use Case Maps Requirements stage (1) Mapping UCM to LOTOS statements (2) lotos2msc LOTOS specification LOTOS scenarios MSCs Design stage msc2lotos (3) Input for possible SDL specification, ... verification, validation and test suite generation (4) Test suites Implementation stage Test suite execution on Implementation

  4. Use Case Maps (UCM) • Semi-formal notation, used at requirement stage • Visual representation of system’s behavior • Derived from informal requirements or use cases checkIfIdle [Idle] end point [busy] component responsibility or_fork start point stub phoneA phoneB switch checkCalleesStatus offHook dial offHook onHook disconnection Example of map: simple call establishment

  5. LOTOS Language Of Temporal Ordering Specification • Formal Description Technique • Design of telecommunication systems • Validation tools: interactive simulation (step-by-step execution), validation using test conformance on the specification • LOLA • XELUDO • CEASAR • Test generation tools • UCM2LotosTests: LOTOS scenario generation from UCM • TGV: test suite generation from LOTOS scenarios • TorX: test generation and execution of test suites

  6. UCM to LOTOS mapping(1) UCM elements LOTOS elements map, component process stub start-point responsibility action end-point or-fork choice operator [] and-fork parallel composition

  7. UCM2LOTOSTests (1) (2) phoneB switch phoneA offHook checkCalleesStatus checkIfIdle dial [Idle] onHook offHook [busy] disconnection checkCalleesStatus Test generation algorithm generates 2 scenarios phoneA switch phoneA phoneB switch offHook offHook checkIfIdle dial dial checkIfIdle [Idle] [busy] disconnection onHook offHook UCM to LOTOS scenario transformation Process Calle_Idle [ user_to_phone, phone_to_user]: exit Process Calle_Busy[ user_to_phone, phone_to_user] :exit user_to_phone !A !phoneA !offHook; phone_to_user !phoneA !A !dialTone; user_to_phone !A !phoneA !dial !B; phone_to_user !phoneB !B ! ringTone; user_to_phone !B !phoneB ! offHook; ( user_to_phone !A !phoneA !onHook; phone_to_user !phoneB !B !disconnectTone; user_to_phone !B !phoneB !onHook; [] user_to_phone !A !phoneA !onHook; phone_to_user !phoneB !B !disconnectTone; user_to_phone !B !phoneB !onHook) user_to_phone !A !phoneA !offHook; phone_to_user !phoneA !A !dialTone; user_to_phone !A !phoneA !dial !B; phone_to_user !phoneA !A! busyTone; user_to_phone !A !phoneA !onHook; endProc Aim: covering the UCM with test cases endProc

  8. Test Purpose (MSC format) Message Sequence Chart debB userA debA userB offHook dialTone Test purpose: - Abstract description of a subset of the specification - Tests the functional behavior of the specification against its expected behavior dial[B] ring ringTone offHook answer onHook disconnection onHook

  9. TGV Test suite generation with TGV(3) (4) Test suite generated from LOTOS using TGV Test purpose 0 0 user_to_phone !A !offHook; INPUT user_to_phone !B !offHook (INCONCLUSIVE) user_to_phone !A !offHook 2 1 1 phone_to_user !A !dialTone; OUTPUT phone_to_user !A !dialTone user_to_phone !B !offHook (INCONCLUSIVE) 3 4 2 user_to_phone !A !dial !B; INPUT user_to_phone !A !dial !B user_to_phone !B !offHook (INCONCLUSIVE) 5 6 3 phone_to_user !B !ringingOn; OUTPUT phone_to_user !B !ringingOn 7 4 phone_to_user !B !ringBackTone; OUTPUT phone_to_user !B !ringBackTone 8 5 user_to_phone !B !offHook; INPUT user_to_phone !B !offHook 9 6 phone_to_user !A !ringBackToneOff; OUTPUT phone_to_user !A !ringBackToneOff user_to_phone !A !offHook (INCONCLUSIVE) user_to_phone !B !onHook (INCONCLUSIVE) 10 11 7 12 user_to_phone !B !onHook; INPUT user_to_phone !B !onHook user_to_phone !A !onHook; INPUT user_to_phone !A !onHook 13 8 14 11 phone_to_user !A !disconnectTone; OUTPUT phone_to_user !A !disconnectTone phone_to_user !B !disconnectTone; OUTPUT phone_to_user !B !disconnectTone 15 9 16 12 user_to_phone !A !onHook user_to_phone !A !onHook; INPUT(PASS) user_to_phone !B !onHook user_to_phone !B !onHook; INPUT(PASS) 18 10 17

  10. switch? checkIfIdle phone2! idle phone2! busy switch? checkIfIdle phone2! busy switch !indefinedUsr phone2! idle Conformance relation used by TGV I: implementation, S: specification I ioconf S  traces(S), O(I after )  O(S after ) S I1 I2 switch? checkForward switch? checkIfIdle phone2! idle phone2! busy I1ioconf S I2 not ioconf S The Implementation can have more inputs The Specification can have more outputs

  11. Success to date and Lessons Learned • Use of UCM to formalize requirements:  Automatic test generation with full coverage of the UCM (implying full coverage of the requirements)  Easy derivation of a prototype using the UCM to LOTOS mapping

  12. Key Issues • How to design UCMs so as to facilitate requirement documentation and obtention of meaningful test case • Automating as much as possible UCM to LOTOS translation • More experience is needed...

More Related