计算机学报和软件学报19~20年测试类相关论文

软件学报,2019年第1期,关于“软件学科发展回顾特刊”值得一看。

“中国计算机学会”的“数字图书馆”下的期刊列表。

未知协议的逆向分析与自动化测试

  • 作者:张蔚瑶、张磊、毛建瓴、许智君、张玉军
  • 刊名:计算机学报2020年第4期
  • 关键词:未知协议、逆向分析、特征识别、协议特征库、多维变异、主动探测

摘要

在工业控制、军事通信、金融信息等创新型网络中,大量未知(私有或半私有)协议被广泛采用. 对通信协议及其实现进行严格的测试是确保网络系统安全性的重要手段,现有测试手段与方法大多只能针对已知协议进行,未知协议的广泛采用对协议测试提出了挑战. 本文提出了针对未知协议的逆向分析与自动化测试方法,其基本思想是基于对协议流量的逆向分析,识别出协议特征,动态生成多维测试数据,自动监控被测系统的运行状态,获得准确的测试结果,为系统安全可靠运行提供依据. 具体贡献包括:(1)自动化模糊测试框架;(2)基于协议特征库的逆向分析方法;(3)基于多维变异的测试数据生成方法;(4)基于主动探测的测试执行与异常定位方法. 本文设计实现了自动化测试工具UPAFuzz,试验结果表明,UPAFuzz 能够基于网络流量实现协议特征的自动识别,并自动生成海量模糊测试数据,对被测系统进行测试;在生成的测试数据量达到千万级时,UPAFuzz 的内存占用率为现有模糊测试工具Boofuzz 的50%,且其耗时仅为Boofuzz 的10%,大大提升了测试执行效率.

敏捷开发环境中的回归测试优化技术

  • 作者:王晓琳、曾红卫、林玮玮
  • 刊名:计算机学报2019年第10期
  • 关键词:回归测试、测试用例优先排序、回归测试选择、敏捷开发、软件测试、软件工程;

摘要

版本频繁交付、功能不断新增或修改、测试用例不断增多是敏捷开发环境的特点.回归测试是软件测试的一个重要组成部分,它在敏捷开发环境中更应基于环境特点进行设计.但是,传统的回归测试优化技术(测试用例优先排序或回归测试选择等)各有其优缺点,且没有考虑敏捷开发环境对测试效率的影响.测试用例优先排序技术利用设计规则对所有测试用例进行排序,以提高错误检测率,但测试集基数大,花费时间长.回归测试选择技术选择部分测试用例执行,减少了测试执行时间,但存在不安全因素.为了解决这个问题,本文提出新的敏捷开发环境中的回归测试优化技术.首先,将回归测试拆分成两个过程,提出在这两个过程中的测试方法:敏捷测试用例优先排序和敏捷回归测试选择.敏捷测试用例优先排序方法基于历史排序的思想,将需求、错误反馈及历史信息三者结合,形成一个具有记忆的优先排序技术.敏捷回归测试选择方法结合错误信息和需求关联信息进行设计,选择以往版本中发现错误的测试用例及与新增测试有交互的测试用例作为测试子集,既检验曾经出错的功能是否正确,又检验新增功能加入是否影响已交付功能的稳定.其次,将敏捷排序和敏捷选择方法结合,设计回归测试优化模型,提出优化算法.为测试子集中的每一个测试用例设置一个失效标签以动态调整子集规模.最后,通过在不同规模的实验对象上进行实验,分析优化算法的有效性.实验结果表明,与现有的测试排序和测试选择及其混合方法相比,敏捷开发环境中的回归测试优化技术既可达到高错误检测率又可减少待执行测试用例数量同时保证较高的安全性.从统计分析t检验结果看,我们的方法在纠错速率上优于其它5种测试排序方法,因为t值均大于0且p值均小于0.05;从纠错速率、效率成本百分比、运行时间缩减率及揭露错误百分比这4个方面的综合指数看,本文的方法最佳.

基于历史的云平台故障注入测试

  • 作者:马骅、聂长海、吴化尧
  • 刊名:计算机学报2019年第10期
  • 关键词:云平台、故障模式、历史故障、故障注入;

摘要

云计算是一种能够以便利的、按需付费的方式通过网络获取计算资源并提高其可用性的模式.近年来,以云计算为基础的服务平台——云平台逐渐成为各大企业数据存储和业务部署的主要平台.由于云平台结构复杂、服务多样,发生故障在所难免.为了提高云平台的可靠性,开发人员在设计云平台时加入了容错机制,目的是在发生故障的情况下也能保证云平台的正常运行.但是容错机制并不能保证云平台完全可靠,因此我们还需要对云平台的可靠性进行检验.故障注入是检验云平台可靠性的方法之一,通过人为地将故障注入正在运行的系统中,观察系统动作并判断系统的容错机制是否正常工作.现有的故障注入方法侧重于分析待测系统特征以确定故障注入点,属于白盒或灰盒测试,对复杂的云平台来说,这一工作无疑要耗费大量的时间.因此,我们提出一种不依赖于系统信息的黑盒测试方法以提高检验效率.本文在现有工作的基础上做了以下几个方面的工作:第一,我们收集了云平台历史宕机事故报告,并分析其中故障模式出现的规律.我们发现,云平台中发生的故障类型具有重复性,在此基础上,我们提取了这些故障的特征,包括所在组件、根因、产生的影响、修复方法等;第二,通过对云平台历史宕机事故报告的分析,我们发现很多事故当中的故障并不是单一出现的,并且多个故障之间具有关联性、组合性,我们深入分析了多故障之间的关系以及故障之间的组合形式,在此基础上,为了尽可能完全地检测云平台的可靠性,我们提出在故障注入过程中需要对多故障进行组合注入;第三,在对多故障进行组合的过程中我们发现,由于云平台的复杂性,故障种类的多样性,多故障之间的组合会产生组合空间爆炸问题,针对这一问题,我们做了初步探究,并提出了几种约减策略;第四,基于上述工作,我们提出了一种基于历史的故障组合方法,并利用历史故障数据,结合基础云平台架构进行模拟实验,实验结果表明我们提出的基于历史故障进行故障组合注入方法是有效可行的.

基于风险分析的回归测试用例优先级排序

  • 作者:于海、杨月、王莹、张伟、朱志良
  • 刊名:计算机学报2019年第10期
  • 关键词:回归测试、测试用例优先级、复杂网络、风险分析、信息流、软件测试、软件工程;

摘要

该文利用软件组件间信息流的传递过程,提出了基于风险分析的回归测试用例优先级排序算法(Risk Analysis-based Test Case Prioritization,RA-TCP).该算法针对现有的优先级排序技术未能有效利用测试用例所覆盖信息的问题,在类粒度下将软件抽象为基于信息流的类级有向网络模型,然后将每个测试用例所覆盖的类间信息传递关系用一组杠铃模型表示,结合概率风险评估方法和故障树理论计算杠铃模型的风险值,最后以测试用例所覆盖的杠铃风险总和作为其排序依据.实验结果表明,风险越高的测试用例覆盖错误的可能性越大,RA-TCP算法提高了具有严重风险的错误发现速率,与7种排序算法对比,RA-TCP算法具有较高的错误检出率及较好的稳定性.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值