一、基本信息

标题: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的更多相关文章

  1. 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  ...

  2. UML(Unified Modeling Language)统一建模语言

    什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...

  3. UML(Unified Modeling Language)同一建模语言

    wiki定义: UML is a general-purpose, developmental, modeling language in the field of software engineer ...

  4. 学习笔记之UML ( Unified Modeling Language )

    Unified Modeling Language - Wikipedia https://en.wikipedia.org/wiki/Unified_Modeling_Language The Un ...

  5. UML快速回顾

    UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中 ...

  6. UML浅析

    UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程. UML模 ...

  7. 统一建模语言(UML) 版本 2.0

    原文: http://www.ibm.com/developerworks/cn/rational/321_uml/ 简介 参考 UML 基础系列的其他文章和教程 UML基础: 统一建模语言简介 UM ...

  8. 软件工程——UML简介

    UML概述: UML是对OMT(对象建模技术).Booth(Booch方法)以及OOSE(面向对象的软件工程)等记号系统实施统一工作后得到的一种记号系统. UML(Unified Modeling L ...

  9. php设计模式——UML类图

    前言 用php开发两年多了,准备也写一下平时常用的设计模式,都是基于自己的实践经验,当然,用设计模式之前首先要看懂设计模式,因此这里首先讲解一下UML类图.通过UML类图,能更好的和大家交流,也能很容 ...

随机推荐

  1. Codeforces Round #436 E. Fire(背包dp+输出路径)

    题意:失火了,有n个物品,每个物品有价值pi,必须在时间di前(小于di)被救,否则就要被烧毁.救某个物 品需要时间ti,问最多救回多少价值的物品,并输出救物品的顺序. Examples Input ...

  2. java.lang.RuntimeException: Class "org.apache.maven.cli.MavenCli$CliRequest" not found

    IDEA版本:14.1 maven版本:apache-maven-3.3.9-bin IDEA的maven项目,在pom文件执行Maven--Reimport,引入jar包依赖,报错java.lang ...

  3. SpringCloud Hystrix熔断之线程池

    服务熔断 雪崩效应:是一种因服务提供者的不可用导致服务调用者的不可用,并导致服务雪崩的过程. 服务熔断:当服务提供者无法调用时,会通过断路器向调用方直接返回一个错误响应,而不是长时间的等待,避免服务雪 ...

  4. innodb 关键特性(两次写与自适应哈希索引)

    两次写: 场景: 当发生数据库宕机时,可能innodb存储引擎正在写入某个页到表中,而这个页只写了一部分,这种情况被称为部分写失效,如果发生,可以通过重做日志进行恢复,重做日志中记录的是对页的物理操作 ...

  5. airTest 使用体验

    airTest是国内网易自研的一套基于图像识别进行UI自动化测试的框架,目前已经可以支持andriod,ios,web端的UI测试,在google开发者大会上得到了google的高度认可. 最近在学习 ...

  6. Python开发【第九篇】:进程、线程

    什么是进程(process)? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于,程序是指令的集合,它是进程运行的静态描述文本 ...

  7. PRD是什么

    产品需求文档(Product Requirement Document,PRD)的英文简称.是将商业需求文档(BRD)和市场需求文档(MRD)用更加专业的语言进行描述

  8. nio编程

    NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector.传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从 ...

  9. jq实现前端文件上传

    FormData FormData是XMLHttpRequest Level 2 新增的一个接口. 使用FormData可以实现各种文件上传. 使用 // 创建FormData的实例 var form ...

  10. 微信x5内核很鸡贼啊

    最近在写一个支付项目,然后要打通微信和支付宝支付,本来后端联调的时候直接调用weixin://wxpay/bizpayurl?XXXX接口就行的,完全走着通,然后到项目验收了就炸了,点不进去了,最后改 ...