320 likes | 406 Views
Contributions to Automated Testing of Network Service Interactions. Rudy Deca 1 ,Omar Mahrez 1 , Omar Cherkaoui 1 , Yvon Savaria 2 and Doug Slone 3. 1 University of Québec at Montréal, 2 Ecole Polytechnique de Montréal, 3 Cisco Systems, Inc. Notere 2005, Ottawa/Gatineau, Canada.
E N D
Contributions to Automated Testing of Network Service Interactions Rudy Deca1 ,Omar Mahrez1, Omar Cherkaoui1, Yvon Savaria2 and Doug Slone3 1University of Québec at Montréal, 2Ecole Polytechnique de Montréal, 3Cisco Systems, Inc. Notere 2005, Ottawa/Gatineau, Canada
Contents • The problem context • The Meta-CLI Model • The ScriptMaker tool • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
The Problem context Causes: Effects: Connectionless stateless networks Network convergence Hybrid, contradictory network service characteristics Connection- oriented circuit-switching stateful network services New Solutions required Increase in the number of states More services more features more parameters More combinations more interactions more configurations more tests required More environment states
Contents • The problem context • The Meta-CLI Model • General presentation • Structure • Operations • Abstracting the environment • The ScriptMaker tool • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
The Meta-CLI Model solution • Abstracts: • the network service and device configuration states • the environment states • the dynamic changes of the connectionless, stateless IP protocols • Benefits: • Automated adaptation to environment changes • Efficient generation and modification of configurations, test scripts and tests for service interactions. R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Modelling a service configuration as a conceptual tree structure service_1 Arcs: • Hierarchical relationships • Inclusion relationships device_1 Meta-CLI modelling service_1 Created Modified Command mode M Command mode N Configuration commands and parameters Command P Command Q Nodes: • Configuration command modes • Configuration commands • Configuration parameters Parameter R Parameter S
Contents • The problem context • The Meta-CLI Model • General presentation • Structure • Operations • Configuration • Validation • Abstracting the environment • The ScriptMaker tool • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Meta-CLI Model Operations • Operation types: • Configuration • Validation • Distribution: • Single device • Multiple devices of a network • Operation attributes: • Atomicity • Order (causal, sequential) • Granularity (varying from parameters to services) R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Configuring services using the Meta-CLI Model The main idea of the Meta-CLI configuration: compose the device and network service configuration models.
Generic service configuration operations • Instantiate service configurations on devices. • Instantiate service configuration parameter values. • Instantiate service configuration constraints. • Adapt service configuration to device and interface environment. • Adapt service configuration to device and interface role. • Determine environment support for various feature combinations • Determine compatibility of services and features. • Determine environment support for service and feature combinations. R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Command P Value1 Parameter R Value3 Parameter U Value4 Command Q Value2 Command P Value5 Parameter S Value7 Parameter V Value8 Command T Value6 Examples of validation dependencies Validation dependencies between: • configuration commands: T depends on Q • configuration parameters: S and U depend on R device_1 device_2 Dependency T-Q Dep. U-R Dependency S-R
Network service and feature interactions • Mutual exclusion, due to: • Competition for resources • Accessing the same parameters/variables • Incompatible goals • Influence, due to : • Scale factor • Performance factor • Service combination constraints: • Common supporting environment • Existence of mandatory parameters R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Contents • The problem context • The Meta-CLI Model • General presentation • Abstracting the environment • The ScriptMaker tool • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Environment heterogeneity solution The configuration environment: • network-level component • network topology, • technology, • Protocol, • Role. • equipment-level component. • hardware components • device type, • interface type, • medium type, etc. • software components • operating system, • software version, etc. R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
service_1 env1, env2 Command P env1, env2 Paramet. R env1, env2 Paramet. S env2 device_1 env1 device_2 env2 Adapt CLI commands to different environments Command P is instantiated on device_1 with one parameter (R) and on device_2 with two parameters (R,S). device_2 + service_1 device_1 + service_1 Command P Command P Parameter R Parameter S Parameter R
service_1 role1, role2 Command P role1, role2 Paramet. S role2 device_1 role1 device_2 role2 Adapt CLI commands to different device and interface roles Command P is instantiated: • on device_1 with parameter R and • on device_2 with parameter S, based on the different roles assumed by the two devices. Paramet. R role1 device_2 + service_1 device_1 + service_1 Command P Command P Parameter R Parameter S
Addition of a network service to a device configuration • The generic network service model is accessed from the repository. • A service instance model is generated and adapted to the given environment • and then composed with the device configuration model.
Modification of a network service in a device configuration • The network service is already configured on an equipment when an environment change occurs. • The network service model instance in the old environment is extracted from the device configuration model. • The generic network service model is accessed from the repository. • A new instance model is • generated for the new environment and • composed with the device configuration model.
service_1 env1, env2 Command P env1, env2 Feature R env1, env2 Feature S env2 Determining environment support for various feature combinations The information is obtained by querying the tree model. P = is present NP = is not present S = supports NS = does not support R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Contents • The problem context • The Meta-CLI Model • The ScriptMaker tool • Functionality • Architecture • Generation scenario • Conversion scenario • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Functionality of the ScriptMaker tool • Aimed to regression testing. • Provides an effective, automated and easy way to generate/modify testing scripts with test cases featuring various combinations of network services and features. • Solves the problem of the existence of a large number of : • combinations among existing network services; • features and parameters of the services; • environment states in which the service parameters are configured differently. • Uses a modular approach for components: • Service configurations • Traffic • Routing, topology and connection among router interfaces • Configurations validation R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Contents • The problem context • The Meta-CLI Model • The ScriptMaker tool • Functionality • Architecture • Generation scenario • Conversion scenario • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Architecture of the ScriptMaker tool R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Contents • The problem context • The Meta-CLI Model • The ScriptMaker tool • Functionality • Architecture • Generation scenario • Conversion scenario • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
The script generation scenario Script Manager Block Environment (descriptor) Script Feature name(s) OK OK Script Feature name(s) Environment (descr.) Signaling Selected Generic TC, TS, Templates Selected Specific TC, TS, Templates Test Selection Block Test Filling Block Test Binding Block Generic service capsule stubs Specific CLI service code Envi- Ron-ment Meta-CLI Model Block
The test selection block Test Selector Selected TC, TS, Templates Feature name(s) Feature name(s) Env. desc. Constr Selected TC, TS, Template names TC, TS, Template names Spec Archive Test Organizer Test Bench Envi-ron-ment Feature name(s) Constraints Environment Constraint Database R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
The test filling block Test Filler Selected Spec CLI auxiliary, validation commands and TCL Traffic, Topology commands Selected generic stubs Kx, Kv, Trf, Top Converter Selected Spec CLI auxiliary, validation commands and TCL Traffic, Topology commands Selected Gen stubs Kx, Kv, Trf, Top Environment Selected Gen CLI auxiliary, validation commands and TCL Traffic, Topology commands Selected Gen CLI auxiliary, validation commands and TCL Traffic, Topology commands Code Generator Instantiator Ks = Service capsule Kv = Validation capsule Kx = Auxiliary capsule R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
The Meta-CLI Model block Meta-CLI Model manager Selected specific CLI service Selected generic service stubs Ks Selected generic service capsule Environment descriptor Service Retriever Selected generic service capsule Selected generic service stubs Selected generic service capsule Capsules (models) Service Instantiator R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Contents • The problem context • The Meta-CLI Model • The ScriptMaker tool • Functionality • Architecture • Generationscenario • Conversion scenario • Conclusion R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
The script conversion scenario Script Manager Block Environment New script Feature name(s) Old script Script Script Feature name(s) Environment Signaling Selected Generic TC, TS, Template Filled Selected Specific TC, TS, Template Generic TC, TS, Template Parsing Block Test Selection Block Test Filling Block Test Binding Block services auxiliaries validations topologies traffics selected services auxiliaries validations topologies traffics Envi- Ron-ment Specific CLI service code service Meta-CLI Model Block
Conclusion • Problem: • New Internet services, hybrid, with numerous: • parameters • features • interactions • heterogeneous environments. • FSMs not always useful. • Solutions: • The Meta-CLI Model: • Generic service configuration • Environment-aware • The ScriptMaker tool: • Automated generation/modification of testing scripts; • Modular design; • Uses the Meta-CLI for abstracting and reusing service configurations. R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone
Questions ? R. Deca , O. Mahrez, O. Cherkaoui, Y. Savaria and D. Slone