一、基本信息

标题:时序扩展的UML状态图的测试用例生成研究
时间:2014
出版源:西南大学
领域分类:时序扩展;UML状态图;测试用例;需求规格说明;模型

二、研究背景

问题定义:时序扩展的UML状态图的测试用例生成研究
难点:了解透彻相关的理论基础;知晓充分性准则、UML状态图的时序扩展;
相关工作:学习软件测试基础理论,了解UML及其建模技术;看懂UML状态图;

三、创新方法

1.理论基础和建模技术相结合,发挥了充分性准则的作用;

四、实验

实验1:相关理论基础

要探究的问题:软件测试基础理论;基于模型的测试用例生成简介;UML状态图。
结论:作为检测和控制软件质量的重要手段,软件测试伴随着软件从设计到完成开发的整个生命周期。一个科学的合理的软件开发过程,软件测试与软件的设计和幵发是同步进行的。
模型可以理解为对要处理的系统或者问题,在某些角度或者某些特定层次上进行 的抽象化的描述,使其更加简单,方便人们理解其本质。采用合理的手段对软件进行建模 ,可以使软件的开发者更好地把握 软件的开发需求。将模型的思想应用与测试用例生成过程中, 就是将软件测试的活动进行模型的抽象化。
状态图是一种可以对系统动态行为建模的图形,用于描述系统类对象的生命周期中所有的状态 ,以及当特定事件发生时所引起的类对象状态的转移,可反映系统根据不同事件的发生导致类实体发生状态转移的状况 。UML状态图是由类的实例对象的状态和关联这些状态的转移组成。UML状态图中的每个对象可以被看做独立的,对象可以通过探测事件对事件做出的回应来与其他对象进行通信。对象探测到的变动可以用事件来表达,导致对象状态变化的事物都可以称为事件 。一旦对象探测到事件,对象就可以根据当前状态对事件做出响应,这响应可能是对象由一个状态转向另一个状态,也可能是去执行某种操作。

实验2:充分性准则

要探究的问题:软件测试的充分性问题;基于UML状态图的测试充分性准则;
结论:软件测试的目标不是为了验证软件是无错误的,而是为了发现软件的缺陷和错误 。实际测试过程中无法发现软件的所有错误,但是可以尽量多地发现软件中相对重要的缺陷。测试的充分性的提出为软件 测试过程提供了一定的理论依据 。
在实际的软件测试过程中,仅用以上几种测试准则进行了测试用例的设计,所产生的测试用例往往不能充分的发现软件中的缺陷,究其原因是因为所生成的测试用例集不够完善。经过实践,测试人员发现软件状态之间的复杂的转移关系也可以导致软件发生错误,而在设计测试用例集时设计者并没有考虑到状态转移信息,这必然造成测试的不充分。
在基于规格说明的测试中,往往要考虑谓词是否被准确地描述,谓词在基于规格说明的软件中发挥着重要的作用,在软件测试中对谓词的测试也是尤为重要的。

实验3:UML状态图的时序扩展

要探究的问题:时序扩展方案;系统实例介绍;
结论:为使状态图适应实时系统的时序特性,本文提出了一个UML状态图时序扩展方案,该方案主要遵循以下原则:(对状态图的时序扩展应简单 、实用,不能对模型中的元模型进行修改 。(扩展后的状态 图应便于对系统分析。
我们可以通过一个实时系统的示例进行建模和分析。本文以一个银行客户端系统的查询账户和转账功能为例,说明怎样用时序扩展的状态图描述实时系统的问题 。对于一个银行客户端系统,往往是有时 间限制的,用户在登录系统的状态下,如果系统一直处于等待状态 ,无任何操作或者在规定时间内未完成操作,为了客户的账户安全,系统中的用户会自动退出。

实验4:时序扩展的UML状态图生成测试用例算法研究

要探究的问题:UML状态图生成测试用例的基本算法;时序扩展的状态图生成测试用例的基本算法;充分性覆盖准则处理;测试序列生成的处理;测试路径优化的处理;
结论:完全判定准则是一种基于谓 词覆盖的准则,谓词覆盖准则中明确要求在对状态之间的迁移测试时,需要对迁移的布尔表达式进行真假测试 在实时系统中,对时间约束的处理就是对布尔表达式的处理,因 此处理实时系统中完全判定准则就是要求对时间约 束确定的时间域进行的充分性测试。
遗传算法是一种简单通用的算法,在计算机智能 、模式识别以及神经网络中都得到了广泛的应用。遗传算法具有较强的全局搜索能力,因 此十分适合处理测试路径优化问题。

五、结论

作者的总结:软件测试在软件开发周期中的作用越来越突出,软件测试技术的研究可以有效的提高测试效率。在软件测试中,关键的工作是测试用例的设计和选 择,研究软件测试用例的生成是非常有意的 。在软件测试中面向需求规格说明的软件测试的研究相对比较滞后,本文主要完成面向需求规格说明的实时系统的测试用例生成的研究,采用了时序扩展的状态图生成测试用例的方法。
自己的评价:软件测试在软件开发周期中发挥着越来越重要的作用,人们对软件测试技术的研究随之更加深入。面向结构的软件测试技术已经比较成熟,然而对于面向需求规格说明的软件测试的研究相对滞后。而在软件测试中测试用例的选择是尤为重要的,好的测试用例可以达到事半功倍的效果,而差的测试用例可能会浪费更多的资源和时间。这篇文献就在对UML状态图生成测试用例的方法进行研究的基础上,提出了时序扩展的UML状态图生成测试用例的完整方法。

参考文献:
【1】李小亮,丁晓明,尹然,梅莹.基于RDF图的测试用例生成【J】西南大学学报(自然科学版),2014,36(1):146-152.
【2】尹然,丁晓明,李小亮等.基于SA-BP神经网络的软件缺陷预测模型的研究【J】.西南师范大学学报(自然科学版),2013,38(8):147-152

时序扩展的UML状态图的测试用例生成研究的更多相关文章

  1. UML状态图和活动图

    UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对 ...

  2. (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告

    前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...

  3. JAVA中自定义扩展Swagger的能力,自动生成参数取值含义说明,提升开发效率

    大家好,又见面了. 在JAVA做前后端分离的项目开发的时候,服务端需要提供接口文档供周边人员做接口的对接指导.越来越多的项目都在尝试使用一些基于代码自动生成接口文档的工具来替代由开发人员手动编写接口文 ...

  4. 《基于 UML 的教务系统设计方法研究》论文笔记(十五)

    标题:基于 UML 的教务系统设计方法研究 时间:2009 来源:太原师范学院 关键词:UML:面向对象:建模:教务管理系统. 二.研究内容 UML 建模 UML 涵盖了面向对象的分析.设计和实现,融 ...

  5. 基于UML的文献管理系统建模研究

    一.基本信息 标题:基于UML的文献管理系统建模研究 时间:2016 出版源:信息与电脑(理论版) 领域分类:UML:文献管理系统:系统建模: 二.研究背景 问题定义:图书的管理与规划 难点:系统和管 ...

  6. 基于UML的毕业选题系统建模研究

    一.基本信息 标题:基于UML的毕业选题系统建模研究 时间:2018 出版源:电脑迷 领域分类:UML建模技术 二.研究背景 问题定义:为了加强学生设计分析开发软件的相关能力,有效避免结构化模型存在的 ...

  7. Eclipse下生成/编辑Java类图或时序图(UML)[转载]

    一 引用文章 1.[eclipse下生成Java类图和时序图,生成UML图(更完整版)](https://blog.csdn.net/guomainet309/article/details/5302 ...

  8. JavaGUI练习 - 正交测试用例生成小工具

    正交表生成小工具 说明 小工具的适用对象主要是测试人员,他们日常工作中手动设计大量测试用例,工作繁杂甚至还存在覆盖不全面等问题. 为了提高他们的测试效率,该小工具可以通过输入一组多因素多水平的数据,然 ...

  9. UML状态图(转载)

    概述: 图表本身的名称,阐明该图的目的和其他细节.它描述了在一个系统中的一个组成部分不同的状态.状态是特定的一个系统的组件/对象. 状态图描述了一个状态机.我们阐明的状态机可以被定义为一台机器,它定义 ...

随机推荐

  1. position:fixed失效情况

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. python 多进程/多线程/协程 同步异步

    这篇主要是对概念的理解: 1.异步和多线程区别:二者不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段.异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事 ...

  3. H5(ionic2+VScode) 环境安装

    一:node.js.npm.cnpm.cordova环境安装 介绍下概念 node.js 非阻塞异步的Ajax 操作基础框架. npm 国外的node.js 包管理器 cnpm 国内淘宝的node.j ...

  4. java程序启动redis报错ERR Client sent AUTH, but no password is set

    配置文件中注释掉password一句 重启程序即可

  5. 理解StringBuilder

    StringBuilder objects are like String objects, except that they can be modified. Internally, these o ...

  6. stark组件开发之组合搜索页面效果和 URL

    页面效果,只是样式.这个好解决!yield 的时候. 返回几个样式出去就好了! 并且前端写上一些样式的css {% if search_group_row_list %} <div class= ...

  7. gk888t打印机安装

    https://jingyan.baidu.com/article/948f5924090c7ad80ff5f9c5.html

  8. 数据库子查询和join的比较

    子查询进行SELECT语句嵌套查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作.子查询虽然很灵活,但是执行效率并不高. select goods_id,goods_name from go ...

  9. js二分算法排序

    var arr = [1,2,3,5,10,15,23,35,67,76,78,89,100];var len = arr.length;for (var i = 1; i < len; i++ ...

  10. 旅游类的APP原型模板分享——Priceline

    Priceline是一款旅游服务的APP应用.功能有查找预订酒店.车票.机票等服务. 本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供. 先简单看看动图: 点击这里,可 ...