IN-Application
This document outlines advanced methodologies for enhancing the effectiveness and efficiency of system-level testing, particularly in VoIP environments like call centers. By leveraging an integrated test environment, we address the challenges of testing large, evolving systems during reconfiguration. It details a hybrid approach combining coarse-granular and aspect-oriented levels for test case design, ensuring comprehensive coverage and easy management of automated tests. The focus is on intelligent routing, call monitoring, and seamless validation of complex interactions, providing significant improvements in test execution speed and reliability.
IN-Application
E N D
Presentation Transcript
The IN Service Definition Environment An Instance of the IN-Product Line! Early AMDD
Agile Process-Oriented Design Business Process Analysis Orchestration Process Requirements Platform Services Validation, Analysis Process Model Deployment Running Process Testing& Monitoring
Call control services, Call screening • Call monitoring and management • Voice and Data Call Association • Intelligent Routing The Scenario • System-level testing of 3rd-party CTI-system Today: VoIP
Test Coordinator LAN Switch Application PCs ISDN Network Application Server 3rd Party CTI-system
Hicom 150 H OfficePro Medium Size Communication System based on Euro-ISDN technology for digital and analog trunk and user interfaces.
TestCoordinator Rational Robot Rational Robot HUSIM Hipermon ISDN Network Intranet/ Internet Concrete Test Setting LAN TAPI CorNet Call Center Clients TAPI CSTA II/III Call Center Server
The Problem Improving effectiveness and efficiency of system-level testing • Test design • separate test of functions from test tool specific actions initiating the functions • guide designers towards building plausible test cases • Test execution • automatic • coordinate activities of a set of test tools • guarantee repetition
Design Integrated Test Environment Analysis Verification Execution ITE Concept
Test design Test execution Management layer Abstraction Coordination Test tool 1 Test tool 2 System Component 2 System Component 1 System Component 3 System-under-test (SUT) The Problem • Objective
Concept - Coarse Granular Level • Establishment of a coarse-granular level Hmm ... If I am here and I do this I should end up there this ( "agent login" ) there here
Design of test cases: • combine basic functionalities • by means of a graphical notation • according to the control flow followLink isCorrectPageVisible? passed failed Concept - Coarse Granular Level
The Implementation • Library of test blocks • Definition and classification • Common actions • Switch-specific actions • Call-related actions • Internet-related actions • SUT-component -related actions • Application-specific actions • Specialization • Parameterisation • Specification of branching conditions
Concept - Aspect Oriented Level • Establishment of an aspect-oriented level Hmm ... If I want to end up here I must have done thisbefore here ("agent logout") this ("agent login")
Local constraints • Global constraints Concept - Aspect Oriented Level • The aspect-oriented level
The Concept • Test model • defined as a quadruple (S, Act, , s0) • set of test blocks S • set of possible branching conditions Act • a set of transitions S Act S • initial test block s0 • visualised as a graph (DFA) • basis for design of test cases • basis for checking a test case's consistency
The Concept • Formulation and interpretation of global constraints • formulated as SLTL formulasA: atomic propositions over Sc: propositional logical formula over Act • interpreted over set of all possible test sequences • Library of constraints • formulated using a first-order extension of SLTL
The Implementation • Legal test cases e.g., non-ambiguity and non-contradiction of verdicts • Telephone service test casescorrect functioning of phones, e.g., turn-on/turn-off cycle of basic or special functions • SUT-specific test casese.g., opening/closing of modal dialogs
TestTool TestCoordinator SUTComponent Concept • Test Execution • Control flow driven execution of test blocks • Preparation of an execution protocol
TestCoordinator Rational Robot TestTool TestCoordinator SUTComponent Call Center Clients ISDN Network Hipermon Intranet/ Internet Call Center Server Concept • Test Execution • Control flow driven execution of test blocks • Preparation of an execution protocol
drastic improvement of the test process (factor ~ 40 for test execution) Results 20% - 80% - • open extensible test framework
Unified Messaging Services • Automated Call Distribution (topic experts) • Interactive Voice Response (IVR) - dynamic teleworking • ... HiPath AllServe Call Center: Hipermon 30 ACD-groups 8 Supervisors (PCs) 64 Agents (PCs) LAN/internet LAN/internet CVS Virtual Switch Integrated Testing Environment Test coordinator HPCO Client Rational-Robot LAN HUSIM V24 LAN V24 HPCO Server S0-Link (2 Ports) for Unified Messaging a/b-Link (4 Ports) for announcements Hicom 150 H Office TCP/IP-Link for TAPI 3rd
The Evolution Problem: • Testing large evolving systems during reconfiguration • (HiPath Personal Call Manager) • testing internet services (web-based applications) • dealing with a virtual switch • higher benefit of error detection compared to ‘steady state’ test phases • (handle scalability issues)
PCM Features Role management • views, roles, rights • inside the application under test • groups of developers/testers User management • actions, rights, reporting • normal mode • at reconfiguration Switch/call management • devices, policies, exceptions • qualified call forwarding • consistency and failover
TestCoordinator Rational Robot HTTP HUSIM HUSIM HUSIM HUSIM PCM Application PCs Hipermon Hipermon Hipermon Hipermon CSTA II/III HTTP PCM Application Server Concrete Test Setting : PCM operation
TestCoordinator Rational Robot HTTP PCM Application PCs CSTA II/III HUSIM HUSIM HUSIM HUSIM HTTP PCM Application Server Hipermon Hipermon Hipermon Hipermon Test Execution ^ ^ ^
Control flow driven execution Behaviour-oriented design Test Coordinator Library-based consistency checking Agent Building Center Workflow Editor Model Checker Workflow Execution Engine Tool Access Adapter The Complete System • Implementation fundamentalsApplication Building Center (ABC)
Conclusions • Approach to testing role-based, distributed, • heterogeneous systems with • coordination-oriented model • library-based test design • library-based consistency checking • incremental formalisation • verification-supported testing • global, feasible, open, scalable
Learning Models Modelling Testing What about Legacy Systems? • Classical learning is very expensive, • Special model properties may drastically reduce the effort (exploiting expert knowledge) to well <=1%% • Adequate Modelsdrastically improve selectivity • `Classical´ validation and analysis methods become available for Legacy-Systems
Model Generator Rational Robot Rational Robot HUSIM Hipermon Observe ISDN Network Learn Intranet/ Internet Learning CTI Systems LAN TAPI CorNet Call Center Clients TAPI CSTA II/III Call Center Server
Design Analysis Verification Execution ITE Concept Integrated Test Environment
Using L* [Angluin 87] L* learns a finite automaton by • actively posing membership queries and equivalence queries to that automaton in order to extract behavioral information, and • refiningsuccessively an own hypothesis automaton based on the answers. Membership query: tests whether a string (a potential run) is contained in the target automaton’s language (its set of runs) Equivalence query: compares the hypothesis automaton with the target automaton for language equivalence.
Test Execution Model Extrapolation Model Checking • Testing • Model Verification Model Extrapolation Test Generation ManagementLayer System under Test (SUT)
The Principle • initializeL* with the available set of traces • construct a consistent behavioral modelby establishing local consistency with these observations. • Check for global consistency Result: a finite state behavioral model, which is an extrapolation of the given requirement specification: • it comprises all traces of the specification, • but will typically contain many (even infinitely many) more.
{ {deviceId = A1 hookswitchOnHook, ... }} device A1 display(line 1, ...) LEDs: (1,on) (2,off) ... ... Sketch of the Model Structure Models comprise state changes as well as UPN-and CSTA-Observations. Sys_Info obs_CSTA upnOffHook obs_CSTA obs_CSTA obs_CSTA Sys_Info
Conceptual Model Structure:MIOLKTS • Modal:for loose specification • Input: must always be enabled • Output:is system-controlled • Labelled: complex annotations • Kripke: state-oriented • TransitionSystems: action-oriented
Lower Hypothesis Automaton Reaching Words Closeness & Consistency Validation Transitions Observation Table Distinguishing Futures OT Unknown System
1 ( is in the language) Membership Queries OT Unknown System {a,b} Abstract States a 1 Not closed! At least 2 states {1, 0} b 0 Transition Relation
a b a,b Closure & Consistency OT Unknown System 1 b 0 1 Closed & Consistent a 1 ba 0 0 bb 0 Finished?
a b a,b Equivalence Query OT Unknown System 1 b 0 a 1 ab 1 a 1 ba 0 bb 0 Counterexample: ab L
a b a,b Counter Example-Based Extension OT Unknown System 1 b 0 a 1 ab 1 ba 0 bb 0 aa 0 aba 0 abb 1 Closed. Complete?
Not consistent: row () = row (a), 1 1 but row (a) row (aa) 1 0 New Column: a Closure & Consistency OT Unknown System 1 b 0 a 1 ab 1 ba 0 bb 0 aa 0 aba 0 abb 1
a b b a a,b Next Iteration a OT Unknown System 1 1 b 0 0 a 1 0 10 11 ab 1 0 Closed & Consistent ba 0 0 States {11, 00, 10} bb 0 0 aa 0 0 00 aba 0 0 abb 1 0 Finished!
generates huge number of test cases Test Execution Model Extrapolation System Automata Learning System ATE System under Test (SUT)