UML-Based Modeling of Robustness Testing
一、基本信息
标题:UML-Based Modeling of Robustness Testing
时间:2014
出版源:IEEE会议论文
领域分类:稳健性测试;UML测试Prole;UML Prole扩展;案例分析
二、研究背景
问题定义:基于UML的鲁棒性测试建模
难点:测试的标准化;
相关工作:U2TP的专业化和扩展;重用了服务质量和容错性中的一些元素来表示稳健性测量。
三、创新方法
1.故障注入技术的采用。
2.实现了容错机制。
四、实验
实验1:用于稳健性测试的UML模型
要探究的问题:OMG UML测试方法;稳健性测量概念;稳健性测试扩展
结论:稳健性测试案例研究将举例说明许多U2TP概念的使用。但是,一些概念需要专门或新引入以涵盖稳健性测试的规范。我们希望使用测量来代替判断。我们还希望模型明确识别负责注入故障的结构和行为元素。
实际上,特征可能具有多个维度,其中每个维度可以是自身的特征。在MARTE中,非功能属性只能与一个nfp维度相关联,因此我们使用一个包来引入类似Qos的结构。即使MARTE还提供了丰富的预定元素,我们选择QoS特性来表示稳健性测量,有利于结构化设施和紧凑性。
稳健性测试扩展机制允许我们创建新的建模元素,带来与稳健性测试相关的特定属性。刻板印象有助于我们识别模型中感兴趣的元素。
实验2:网络服务的案例研究
要探究的问题:稳健性的测量;实验架构;故障模型与数据表示;Golden run和注射运行;
结论:实际上,比较替代实施的稳健性是一个尖锐的问题。让我们以碰撞比例为例进行比较。一般来说,灾难性故障模式显然比阻碍模式更严重。。但是,是否最好在其余时间进行稀疏崩溃和无效参数的正确处理,或者没有崩溃但是频繁的异常终止和返回的不适当的错误代码,由服务集成商决定。此外,其他指标也可能是有意义的,如性能下降。鲁棒性评估的固有困难由我们从QoS标准中重用的概念捕获,即评估必须考虑特征的多个特征和多个维度。
正确记录所需的测试组件集以及SUT,测试组件和故障注入部件之间的连接非常重要。纯文本描述可能不够清晰。图解视图(例如UML视图)提供了更充分的支持。附加到模型元素的构造型也通过明确组件所扮演的角色来有助于图的清晰度。
其原理通常显示为具有两个参数的服务请求(在案例研究中,Request1将是NewCustomer,ChangePaymentMethod 等 请 求 ) 。消 息 数 据 由 类MsgRequest1建模,该类继承Msg的标头。故障模型附加到各种参数。可以从数据池中选择有效和错误请求。
事实证明,复杂的测试架构具有挑战性。我们发现UML图的视觉支持,专门用于表示组件角色的构造型,对于文档目的非常有用。总体而言,案例研究的结果在模拟真实稳健性测试实验的能力方面非常有前途。
五、结论
作者的总结:这项工作提出了对UML测试配置文件的扩展,使其适用于稳健性测试实验的文档。Golden和注入运行是作为测试用例的专业化而引入的。他们的行为描述涉及工作负载和故障负载元素。测试组件可以具有注入器角色。负责测量的分析仪取代负责判决的仲裁者。稳健性是一种多维QoS特性,由QoSFT标准定义。替代定义可以使用一组MARTE的非功能属性分组到包中。
自己的评价:稳健性测试是黑盒测试的一种特定形式,通过研究错误或压力的输入条件(例如,故障或攻击)是否可能改变系统的常规行为来补充一致性测试。一个强大的系统可以处理由其他系统或计算环境引起的意外输入,并且即使在提交到恶劣环境时也可以提供可靠的服务。
参考文献:
【1】Schlipf Lori, Miller Shendra, Ferguson Mary et al.. CONRAD Testing Algorithm: Microbicidal Compounds Screened For Cytotoxicity and Activity Against HIV-1[J]. Retrovirology, 2005, 2(Suppl+1).
【2】Belén Lloveras, Silvia Gomez, Francesc Alameda et al.. Correction: HPV Testing by cobas HPV Test in a Population from Catalonia.[J]. PLoS ONE, 2018, 8(10).
【3】Jane N. Mutanga, Juliette Raymond, Megan S. Towle et al.. Correction: Institutionalizing Provider-Initiated HIV Testing and Counselling for Children: An Observational Case Study from Zambia.[J]. PLoS ONE, 2018, 7(5).
【4】Eric Lugada, Debra Millar, John Haskew et al.. Correction: Rapid Implementation of an Integrated Large-Scale HIV Counseling and Testing, Malaria, and Diarrhea Prevention Campaign in Rural Kenya.[J]. PLoS ONE, 2018, 5(9).
【5】Eric Lugada, Debra Millar, John Haskew et al.. Correction: Rapid Implementation of an Integrated Large-Scale HIV Counseling and Testing, Malaria, and Diarrhea Prevention Campaign in Rural Kenya.[J]. PLoS ONE, 2018, 6(6).
UML-Based Modeling of Robustness Testing的更多相关文章
- A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python) MACHINE LEARNING PYTHON ...
- UML(Unified Modeling Language)统一建模语言
什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...
- UML(Unified Modeling Language)同一建模语言
wiki定义: UML is a general-purpose, developmental, modeling language in the field of software engineer ...
- 学习笔记之UML ( Unified Modeling Language )
Unified Modeling Language - Wikipedia https://en.wikipedia.org/wiki/Unified_Modeling_Language The Un ...
- UML快速回顾
UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中 ...
- UML浅析
UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程. UML模 ...
- 统一建模语言(UML) 版本 2.0
原文: http://www.ibm.com/developerworks/cn/rational/321_uml/ 简介 参考 UML 基础系列的其他文章和教程 UML基础: 统一建模语言简介 UM ...
- 软件工程——UML简介
UML概述: UML是对OMT(对象建模技术).Booth(Booch方法)以及OOSE(面向对象的软件工程)等记号系统实施统一工作后得到的一种记号系统. UML(Unified Modeling L ...
- php设计模式——UML类图
前言 用php开发两年多了,准备也写一下平时常用的设计模式,都是基于自己的实践经验,当然,用设计模式之前首先要看懂设计模式,因此这里首先讲解一下UML类图.通过UML类图,能更好的和大家交流,也能很容 ...
随机推荐
- parallel Stream 学习
首先,我们需要了解下ForkJoinPool.ForkJoin框架是从jdk7中新特性,它同ThreadPoolExecutor一样,也实现了Executor和ExecutorService接口.它使 ...
- jmeter入门非GUI(三)
配置见https://www.cnblogs.com/wish5714/p/9722193.html 该篇介绍非GUI模式的测试方法,及结果报告分析 简介 使用非 GUI 模式,即命令行模式运行 JM ...
- Java框架spring Boot学习笔记(六):Spring Boot事务管理
SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.
- Mysql数据存在更新,不存在则插入的实现
有些情况下,我们需要对数据库进行插入或更新操作的时候需要先根据特定的字段去判断是否已存在,然后做出不同的插入或者跟新操作. replace函数: 我们要在需要判断的字段上建立一个唯一索引,且这个字段不 ...
- python windows环境响铃
import winsound winsound.Beep(600,1000) #其中600表示声音大小,1000表示发生时长,1000为1秒
- 接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)
简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charl ...
- React Router的Route的使用
Route 是 React Router中用于配置路由信息的组件,每当有一个组件需要根据 URL 决定是否渲染时,就需要创建一个 Route. 1) path 每个 Route 都需要定义一个 pat ...
- android 组件隐藏
参考 https://blog.csdn.net/bbtianshi/article/details/79556609 view.setVisibility(View.GONE);
- nginx屏蔽ip配置
屏蔽单个IP的命令是 deny 192.168.201.1 封ip段192 deny 192.0.0.0/8 封ip段192.168 deny 192.168.0.0/16 封ip段192.168.2 ...
- linux之egrep命令
1.介绍 egrep工具是grep工具的扩展,相当于grep -E 2.用法 查找1个或1个以上前面的字符为例 查找0个或1个前面字符 egrep 'o?' 1.txt 匹配roo或者body egr ...