Develop a Reliability Test in TTCN-3

Slides:



Advertisements
Similar presentations
TTCN-3 & Conformance Testing Anitha Krishnamoorthy.
Advertisements

Using TTCN-3 in Interoperability Testing for Real-time Communication Systems Zhiliang Wang, Jianping Wu, Xia Yin, Xingang Shi and Beihang Tian Department.
The Use of TTCN-3 for Software Testing Ina Schieferdecker FOKUS, Berlin
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
The Intelligent Fuzzing in TTCN-3 Xu Luo, Wu Ji, Liu Chao Software Engineering Institute Beihang University
T-FLEX DOCs PLM, Document and Workflow Management.
Automated Model-Based Testing of Hybrid Systems Michiel van Osch PROSE January 25,
Aki Hecht Seminar in Databases (236826) January 2009
CSC 450/550 Part 6: The Application Layer Example: The World Wide Web.
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Integration of Applications MIS3502: Application Integration and Evaluation Paul Weinberg Adapted from material by Arnold Kurtz, David.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
DC 2004 Metadata Generation and Accessibility Auditing Liddy Nevile La Trobe University, Australia Mail
Institute for Telematics University of Lübeck, Germany M. Ebner, M. Schmitt, J. Grabowski Test Generation with Autolink and TestComposer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
TTCN-3 MOST Challenges Maria Teodorescu
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
TTCN-3 Testing and Test Control Notation Version 3.
Profiling/Tracing Method and Tool Evaluation Strategy Summary Slides Hung-Hsun Su UPC Group, HCS lab 1/25/2005.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Unified functional/load test architecture and methodology using TTCN-3 TELEFÓNICA I+D Date: June 1st, 2007.
Module 4: Troubleshooting Web Servers. Overview Use IIS 7.0 troubleshooting features to gather troubleshooting information Use the Runtime Control and.
GEANT OpenCall – NSI CONTEST NSI CONTEST – Demonstrator Giacomo Bernini Nextworks GENI Networking Conference 22, March 2015, Washington DC.
Chapter 8 E-Commerce Technologies Introduction to Business Information Systems by Mark Huber, Craig Piercy, Patrick McKeown, and James Norrie.
1 TTCN CONFORMANCE TEST SUITE TTCN-3 Part 1 & Part 9 STF 487 Bogdan Stanca-Kaposta/ Testing Technologies Tomas Urban / Elvior Andras Kovacs / Broadbit.
XML-based Representation of Test Cases for Distributed Systems Alexander Kraas 7. October 2008.
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
6. Application Server Issues for the Project
Chapter 8 Environments, Alternatives, and Decisions.
PLM, Document and Workflow Management
Improving searches through community clustering of information
Software Architecture in Practice
Sabri Kızanlık Ural Emekçi
Software Testing.
Data Virtualization Tutorial… CORS and CIS
TTCN CONFORMANCE TEST SUITE TTCN-3 Part 1 & Part 9 STF 487 MILESTONE 2
Map Reduce.
J. Michael, M. Shing M. Miklaski, J. Babbitt Naval Postgraduate School
Distribution and components
Understanding and Utilizing the ISP Analysis Process
SIMPL-T: SDL Intended for Management and Planning of Tests By
Extension Package: Behaviour Types
CHAPTER 3 Architectures for Distributed Systems
COTS testing Tor Stålhane.
Unit Test Pattern.
The Extensible Tool-chain for Evaluation of Architectural Models
Web Server Administration
湖南大学-信息科学与工程学院-计算机与科学系
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Lecture 1: Multi-tier Architecture Overview
Group Truck Technology, Powetrain Engineering, Control Systems dept.
TTCN-3 Status Report.
Software testing.
Lecture 4 Communication Network Protocols
CS240: Advanced Programming Concepts
Project Information Management Jiwei Ma
Agile testing for web API with Postman
Apply Work Flow Technologies to VO --- A Draft
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
The MPAS project Multi-agent Pathfinding Algorithms Simulator
(presentor: jee-weon Jung)
T-FLEX DOCs PLM, Document and Workflow Management.
Introduction to TDL and TOP
Presentation transcript:

Develop a Reliability Test in TTCN-3 Wu Ji, Xu Luo, Liu Chao Beihang University

Who are we? We are from SEI in Beihang Univeristy The weightlifting of 2008 Olympic Game would happen there Our main efforts are on software testing, process improvement, MDA MDT and TTCN-3 support by China high-tech program Collaborate with FOKUS and Testing Tech. 4/19/2019 T3UC 2007

Outline Motivation System architecture Test suite generation Test execution Observations Summary 4/19/2019 T3UC 2007

Motivation TTCN-3 is announced to be applicable for Conformance test Interoperability test Functional test Reliability test Load test Performance test reliability is important in many fields, potential users from these fields in China come up with the question How to implement the reliability test in TTCN-3? (Is it possible?) Less effort has been given on reliability test in TTCN-3 community 4/19/2019 T3UC 2007

Motivation What is Reliability Test? Statistically sample test cases according to usage profile Evaluate reliability based on the <#fail, time_point> Differences with functionality test Focus on the combinations of usages, i.e. invocations of SUT features Test cases must be representative of user profile A Story. 4/19/2019 T3UC 2007

Motivation--Issues Our answers: Test case Test data Test result How to get the large volume of test cases? How to assure the representative? Test data How to get the required large volume of templates? How to manage the templates? Test result How to collect failure records with time point? Our answers: Test case generation from MCUM Test data management in datapool Collect failure record from trace log 4/19/2019 T3UC 2007

Outline Motivation System architecture Test suite generation Test execution Observations Summary 4/19/2019 T3UC 2007

System Architecture 4/19/2019 T3UC 2007

Outline Motivation System architecture Test suite generation Test execution Observations Summary 4/19/2019 T3UC 2007

TTCN-3 Test suite generation Process Sample usage scenario from model Transfer into TTCN-3 test case Compose TTCN-3 Executable (TE) SUT Usage Model Datapool Design Generate TTCN-3 test case 4/19/2019 T3UC 2007

SUT Usage Model SUT Features to be tested Web-based Project Management System Features to be tested Logon & Exit Add/Delete/Modify a project Return project detail information Search projects List all projects 4/19/2019 T3UC 2007

SUT Usage Model SUT MCUM (Markov Chain Usage Model) Node --- SUT state Line --- User stimuli [Start & End state] 4/19/2019 T3UC 2007

Datapool Design What is datapool ? Atom action Is a transition in MCUM A pool to hold the data for Atom Action Atom action Is a transition in MCUM Is a stimuli/response pair from state A to state B Is an interaction between the user and the SUT Is a TTCN-3 ‘send & receive’ pair Datapool & Atom action Each atom operation has a type (‘LOGON’, ‘EXIT’…) Datapool is accessed by the tag identical to the atom action type 4/19/2019 T3UC 2007

Datapool Design equivalences 4/19/2019 T3UC 2007

Generate TTCN-3 testsuite Goal Generate TTCN-3 testscript based on the MCUM Input MCUM.xml Datapool.xml Map stimuli data tag to ttcn-3 template Other parameter TestcaseCount Output ReliabilityTest.ttcn3 4/19/2019 T3UC 2007

Approach overview Usage model sampling Test case header{ Common parts } sampling {stimuli} {send, rev} selection Data pool 4/19/2019 T3UC 2007

Generate TTCN-3 testcases A testcase is a travel from the start-state to the end-state Travel means statistical sampling Each state may have several stimuli choices (lead to different states) Which to choose depends on the stimuli distribution and the sampling strategy TRAVEL1 – TC1 [1]LOGON [3]LIST [10]EXIT TRAVEL2 – TC2 [1]LOGON [2]ADD [4]ADD_S [10]EXIT 4/19/2019 T3UC 2007

Generated TTCN-3 Test case testcase tc_x() runs on mtcType system systemType { map (mtc: mtcPort, system: systemPort); MyFunc(LOGON_1_Req, LOGON_1_Res); if(getverdict == fail) { self.stop; } MyFunc(ADD_1_Req, ADD_1_Res); MyFunc(ADD_SAVE_1_Req, ADD_SAVE_1_Res); MyFunc(DETAIL_1_Req, DETAIL_1_Res); MyFunc(LIST_1_Req, LIST_1_Res); MyFunc(REMOVE_1_Req, REMOVE_1_Res); MyFunc(EXIT_1_Req, EXIT_1_Res); unmap (mtc: mtcPort, system: systemPort); function MyFunc(in Request req, in Response res) runs on mtcType { mtcPort.send (req); localtimer.start; alt { [] mtcPort.receive (res) { localtimer.stop; setverdict (pass); } [] mtcPort.receive { setverdict (fail); [] localtimer.timeout { 4/19/2019 T3UC 2007

Deal with Test data Two kinds of test template template to send Request: URL Format: {protocol://host:port/path?param} template to match the receive Response: expected web page matching point: table&element Specific to the SUT 4/19/2019 T3UC 2007

Outline Motivation System architecture Test suite generation Test execution Observations Summary 4/19/2019 T3UC 2007

Test execution Test System Test Result Problems 4/19/2019 T3UC 2007

Test System TE: ReliabilityTest.ttcn3,Datapool_type.ttcn3, Datapool_template.ttcn3 TestAdapter Deal with the http connection Send & receive data via TCP/IP Codec Deal with the web page Parsing the html page exacting the table&element 4/19/2019 T3UC 2007

Test Result Generate & Run 500 TTCN-3 testcases (25 minutes) We got 357 passed and 143 failed: disasters?! Mostly are no-response failures But, in functionality test, no failure! The usage profile based stimuli combination strategy works! Contrast with the functionality test! 4/19/2019 T3UC 2007

Outline Motivation System architecture Test suite generation Test execution Observations Summary 4/19/2019 T3UC 2007

Observations Based on our solution and the development, we observe TTCN-3 has deficiencies to manage and select test templates TTCN-3 has deficiencies to support test cases generation Test time control and access is difficult Log analysis is difficult Codec development is difficult 4/19/2019 T3UC 2007

Test template Management and Selection Template coding and selection manual way is hard and boring for a large volume of templates requirements may cause unconscious errors We actually do (beyond TTCN-3 language) design a datapool to manage test templates develop an algorithm to implement test data selection  test case We need in fact template organization mechanism (group is not enough) test partition management allow for random choose templates to test case 4/19/2019 T3UC 2007

Test Case generation Auto-generation of test case is a must We actually do (also beyond TTCN-3) Design the usage model Design a sampling algorithm to get usage scenarios Generate TTCN-3 test case code from usage scenario We need in fact A mechanism to support test case generation from models 4/19/2019 T3UC 2007

Test time Control and Access Time is a key factor in reliability test Control simulated user access frequency Too frequent access would be blocked for some web applications Collect the time point that SUT failed We actually do By timer operations to delay test cases one by one Record failure time point from test system trace log We need in fact to flexibly parameterize the time delay btw test cases to record failure time point automatically 4/19/2019 T3UC 2007

Log Analysis TTCN-3 support tool provides all the test trace data, but very limited log analysis feature User needs a stand alone log analysis tool Filter log according to test case, test component, port, etc Associate log records 4/19/2019 T3UC 2007

Codec Development Web-based SUT Codec is the most complex and difficult part in this experiment HTML: markup language, large size, full of noise data TTCN-3 community does not deliver specific abilities for Web-based test 4/19/2019 T3UC 2007

Codec Development Codec architecture & our implementation 4/19/2019 T3UC 2007

Outline Motivation System architecture Test suite generation Test execution Observations Summary 4/19/2019 T3UC 2007

Summary Reliability test in TTCN-3 is feasible, but, MUST pay enough attentions on Test case generation Template organization and selection Test time control and access Log analysis Codec development 4/19/2019 T3UC 2007

Summary Test case generation and template organization are common requirements for many test Should we propose CRs to ETSI? Thanks for the attention, any questions? 4/19/2019 T3UC 2007