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类图,能更好的和大家交流,也能很容 ...
随机推荐
- python入门(十二):面向对象
1.场景:玩过游戏.主人公,进入了一个场景,有10个小怪物是一样的.有攻击力,血(100格).如果小怪物有多个数值需要管理,小怪物的血量.小怪物出现在屏幕的地点. 可以使用字典来进行记录: {&quo ...
- Java框架spring 学习笔记(九):Spring的bean管理(@Required、@Component、@Autowired、@Resource注解)
注解:代码里面特殊的标记,使用注解可以完成相关功能 注解写法:@注解名称(属性名.属性值) @Required 用在set方法上,一旦用了这个注解,那么容器在初始化bean的时候必须要进行set,也就 ...
- char* = "name" g++报告warn的原因
char* str = { "abcd" },先定义一个字符串常量“abcd“,再将指针str指向它,返回值是这个指针,由于字符串常量在编译时分配内存,只有程序退出时才被销毁,所以 ...
- SQL0803问题 键值重复
工作中遇到SQL0803问题 使用DB2AS400数据库 报数据库键值重复错误 经同事分析为索引的起始值与当前已有记录的最大索引值不匹配造成的,验证过程如下: 1.SELECT max(被索引字段) ...
- linux systemctl 命令学习
转载:http://www.cnblogs.com/sparkdev/p/8472711.html systemctl 命令有两大类功能: 控制 systemd 系统 管理系统上运行的服务 在介绍这些 ...
- Python入门day04_函数与装饰器
一.函数入门 什么是函数: # 函数:函数是一系列代码的集,用来完成特定功能的代码块,类似于工具,可以重复不但的去使用 为什么要有函数: # 优点:# 1. 避免代码的冗余 # 2. 让程序代码结构更 ...
- JAVA常用注解
摘自:https://www.cnblogs.com/guobm/p/10611900.html 摘要:java引入注解后,编码节省了很多需要写代码的时间,而且精简了代码,本文主要罗列项目中常用注解. ...
- vba判断文件是否存在的两种方法(转)
方法1. 用VBA自带的dir()判断,代码如下: 在 Microsoft Windows 中, Dir 支持多字符 (*)和单字符 (?) 的通配符来指定多重文件 Function IsFileEx ...
- 7A - Max Sum
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. F ...
- 27. pt-table-checksum
在主库执行命令: pt-table-checksum -h 192.168.100.101 -P 3306 -u admin -p admin \--nocheck-binlog-format --r ...