Test Domain and Description Language Recommendations

Slides:



Advertisements
Similar presentations
HP Quality Center Overview.
Advertisements

Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D Augsburg Tel.: (+49) 821/ ,
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
© Copyright Eliyahu Brutman Programming Techniques Course.
Domain-Specific Software Engineering Alex Adamec.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Business Flow Modeller (BFM) Simplify and standardize your business processes across the project lifecycle.
Developing Enterprise Architecture
Chapter : Software Process
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
© 2016 LDRA Ltd The FACE Conformance Verification Matrix in Practice.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Enterprise Architectures. Core Concepts Key Learning Points: This chapter will help you to answer the following questions: What are the ADM phase names.
© 2016 TM Forum | 1 NFV Ecosystem Enabler: A well-enabled VNF package Catalyst Theater Presentation, May 10, 2016.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
If it’s not automated, it’s broken!
ONAP and MEF LSO External API Framework Functional Reference Architecture 12 July 2017 Andy Mayer, Ph.D. © 2016 AT&T Intellectual Property. All rights.
Chapter 1 The Systems Development Environment
An Overview of Requirements Engineering Tools and Methodologies*
Chapter 1 The Systems Development Environment
ServiceNow Business Offerings
CIM Modeling for E&U - (Short Version)
EOSC MODEL Pasquale Pagano CNR - ISTI
Unified Modeling Language
ATIS’ Cloud Services Activity
17 Dec 2015 Bryan Sullivan, AT&T
Chapter 1 The Systems Development Environment
Software Product Lines
Agenda Where we are (Amsterdam Architecture)
CMPE419 Mobile Application Development
API Documentation Guidelines
Recall The Team Skills Analyzing the Problem (with 5 steps)
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Model-Driven Analysis Frameworks for Embedded Systems
Rational Unified Process
Unified Modeling Language
Chapter 2 – Software Processes
SUPA Policy-based Management Framework (SUPA: Simplified Use of Policy Abstractions) draft-ietf-supa-policy-based-management-framework-01 Will Liu, John.
Object oriented analysis and design
System Modeling Assessment & Roadmap Joint OMG/INCOSE Working Group
Chapter 5 Architectural Design.
Analysis models and design models
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Automated Analysis and Code Generation for Domain-Specific Models
Applying Use Cases (Chapters 25,26)
Team Skill 6 - Building The Right System Part 1: Applying Use Cases
Applying Use Cases (Chapters 25,26)
Chapter 1 The Systems Development Environment
CMPE419 Mobile Application Development
WP3: BPaaS Research Execution Environment
From Use Cases to Implementation
ONAP Architecture Principle Review
Matthew Farmer Making Azure Integration Services Real
Presentation transcript:

Test Domain and Description Language Recommendations Frank Massoudian Edward Pershwitz (Huawei Technologies Co. Ltd) ETSI MTS#77, Sophia Antipolis 22.05.2019

Table Of Contents Challenges of Multi-actor Delivery JAD Ecosystem Standardization Progress Test Domain & Description Language ADD SECTION NAME

Challenges of Multi-actor Delivery NFV/5G standards still maturing… Solutions coming from multiple parties (including the Operator)… Sequential supplier/Operator development & deployment leads to duplication of effort, lengthy TTM for end user, and high cost for operator Separation of software from hardware poses additional requirements and certification challenges… No single party can test and certify their contribution in isolation Open Collaboration with CSP Acting as Gatekeeper Collaboration is a solution that is only possible if processes are standardized and the parties utilize a platform to enable joint activities ADD SECTION NAME

Joint Agile Delivery (JAD) Completed 3 phases of an award-winning TM Forum Catalyst program as proof of concept Documented the end-to-end collaboration process (from Requirements to Service Assurance) Concluded that the biggest issue is in testing Highest cost and Largest consumption of time Concluded that every supplier cannot be asked to use the same test technology or the same test language Have to agree on a common test domain and description language which would enable contributions from multiple actors Test Domain and Description Language was documented in ETSI NFV TST011 Multiple test technologies and repositories have to be accessible through open APIs Currently working on an API component suite for testing with the TM Forum API team ADD SECTION NAME

JAD Testing Principles Pooling of resources Identify the interface points and the key interactions – Open TM Forum Test APIs Strategic reuse – Test Plans, Test Cases, Test Execution Platforms One single source of truth - Common Test Repository Standardized Test Metamodel and language Accessibility and visibility for all the stakeholders involved Collaboration Platform Traceability across the entire lifecycle ADD SECTION NAME

Joint Agile Delivery Ecosystem Multiple test technologies and repositories accessible through open APIs and orchestrated through workflow- driven processes with continuous project tracking on a collaboration platform Service-oriented testing - decoupling test cases from underlying technologies Standardized test case format and test Domain-Specific Language (DSL) based on a common domain definition Cloudification of the test environment and test tools Elastic contribution and consumption of test resources Strategic reuse - reusability of test plans, test cases, test data and test environments Correlated test results analysis Service Provider Suppliers Integrator End Users Open APIs ADD SECTION NAME

Progress in SDOs JAD Process & Test Model TM forum IG1137A Recommendations for a Standardized Test Domain Definition & Language ETSI NFV TST011 (approved by ETSI NFV governing body on February 22, 2019) Would like to work with ETSI MTS on applicability of the recommendations and concrete syntax beyond NFV JAD Test Component Suite APIs – TMF913 (standardization in progress at TM Forum) Officially announced at the TM Forum Nice event on May 15, 2019 ONAP is showing significant interest in adopting the component suite in their integration portfolio ADD SECTION NAME

Process Flow & APIs Each supplier writes a set of test cases using abstract resources Suppliers contribute resource APIs Environment meta-models are created to describe contributed resources Abstract environments are created and are managed A run-time test environment is created at exection time by mapping abstract environments to a set of concrete resources using environment meta-models The test cases are parameterized with the appropriate data Test cases are executed The test results are posted The test results are retrieved by suppliers ADD SECTION NAME

JAD Test Model & Language (JADL) JADL encompasses a standardized Test Model, a Domain-Specific Test Language, and an integrated Test Automation Platform: Test are written in an intuitive, easy to use and maintain Test Case DSL Tests follow a standardized test case model that include reusable artifacts: script, data, abstract resources, environment, etc. – standardization enables JAD; reuse leverages assets; systematic approach improves quality Test execution environment is created dynamically using Dynamic Resource Management to allow multiple providers contribute resources, improve resource utilization and reduce test execution time Test are executed on a Test Execution Platform that ties Test Case elements together and provides intended interactions with the Test Infrastructure – unified solution across providers reduces overhead

General Test Domain Concepts System Under Test (SUT): a piece of software, a device, a network, etc. Test Case Resources: abstract and concrete Test Execution Flow: controlled and uncontrolled state transitions High-Level Functions: a repeatable sequence of controlled state transitions Test case data: resource-specific and non- resource-specific Test Case Segments: executable blocks of the test case Higher-Level Functions Test Case Data (Symbol Lookup)

Test Case Elements The test case has a test script and uses test data, high-level function libraries and segment ordering data The test script has resource declaration and execution flow definition parts The resource declaration section aggregates a set of abstract resources that realize their respective APIs The execution flow can call the abstract resource APIs; it can also invoke higher-level functions which can invoke other higher-level functions and call abstract resource APIs

Test Environment Abstract test environments aggregate abstract resources which are mapped to concrete resources Three major types of concrete resources: SUT elements, test tools (used to interact with the SUT) and reservable data The “glue” between the abstract and the concrete environments is provided by the Concrete Environment Resource Model The Concrete Environment Resource Metamodel describes the concrete resource space as a set of reservable entities and provides a number of abstractions (e.g. pools) that can be referenced from the abstract environment definition The Concrete Environment Resource Metamodel captures domain knowledge about the concrete resource space and considerably simplifies abstract environment definition

Test Scenarios Test suites aggregate test cases that verify functional requirements. Test cases in a test suite are executed once Success and failure are considered on individual test case basis. Call models aggregate test cases that verify non-functional requirements (performance, robustness, etc.) Test cases execute repeatedly, each at its own rate. Together, they emulate real network conditions where multiple activities happen at the same time. Success and failure are considered on the entire call model basis and a certain number of individual test case failures is typically expected

Test Execution Platform Test Execution Platform JADL Components Pool gsm_mobile: orig01, ..., orig05, term01, ..., term05 ... orig01 -> gsmTH:mobile101 10 aliases: term01 -> gsmTH:mobile106 orig05 -> gsmTH:mobile105 GPL 1 Representation Execution Engine 1 Projectional Modeler Pool gsm_mobile: orig01, ..., orig05, term01, ..., term05 ... orig01 -> gsmTH:mobile101 10 aliases: term01 -> gsmTH:mobile106 orig05 -> gsmTH:mobile105 GPL 2 Representation Conceptual Model Execution Engine 2 IDE Test Execution Platform Test Execution Platform Concrete Syntax Constraints Optimizations Grammar Parser Resource Manager Concrete Environment Provisioning

Text-based Test Case Example

Test Case Creation and Execution 10 aliases: orig05 -> gsmTH:mobile105 ... orig01 -> gsmTH:mobile101 term01 -> gsmTH:mobile106 term05 -> gsmTH:mobile110 Pool orig: orig01, orig02, ..., orig05 term01, term02, ..., term05 Pool term: orig01, ..., orig05, term01, ..., Pool gsm_mobile: Test Script in DSL Test Flow Template Test Execution Platform orig01, orig02, ..., orig05 Pool orig: 10 aliases: Pool gsm_mobile: orig01, ..., orig05, term01, ..., term05 orig01 -> gsmTH:mobile101 term01 -> gsmTH:mobile106 orig05 -> gsmTH:mobile105 ... term05 -> gsmTH:mobile110 term01, term02, ..., term05 Pool term: 10 aliases: orig01, orig02, ..., orig05 Pool orig: ..., term05 Custom code Abstract Resources Generated code Test Execution Platform (TEP) is an additional software layer between the test written in a DSL and its target platform. Provides required interactions with the rest of the tools infrastructure Controls all aspects of the test case execution on the target platform 10 aliases: orig05 -> gsmTH:mobile105 ... orig01 -> gsmTH:mobile101 term01 -> gsmTH:mobile106 term05 -> gsmTH:mobile110 Pool orig: orig01, orig02, ..., orig05 term01, term02, ..., term05 Pool term: Pool gsm_mobile: Template generated by the framework Segment Ordering Data Framework code Test Case Framework Resource Manager Concrete Environment Provisioning Higher-Level Functions Test Case Data (Symbol Lookup)

Thank you