关于软件测试用例生成技术相关研究总结
作者:网络转载 发布时间:[ 2014/12/24 13:33:56 ] 推荐标签:软件测试 测试用例
缘起
自跟陈翔老师做软件测试中测试用例自动生成的方面的研究,已经过了一年了。在这一年里,看了很多东西,也学习了很多,大的收获是眼界开阔了很多,从对学术研究一窍不通,到渐渐步入门中窥探了几分,虽入门不深,确受益匪浅。其中大的决定莫过于将windows系统格了装Ubuntu,老实说,自己从来没这么霸气的用换操作系统来和过去划清界限,并没有鄙视window的意思,只是觉得Linux下更适合程序员和学术研究。
还有一个月多一点要毕业了,想去上海找份Rails程序员的工作,在全心全意投入rails的学习前,我想将软件测试中做的工作总结一下,记录一些只言片语。
正文
1. 研究方法
关于如何做研究,我的指导老师的写的PPT很不错:科研指南
关于如何阅读论文和如何写论文,一些资料如下:
1.周志华-如何做写论文
2.如何阅读论文
3.一位研究生导师心目中理想的论文
软件测试相关的书籍:Paul Ammann和Jeff Offut的《Introduction to Software Testing》不错,书不厚。此外,Jeff Offut本人值得关注,此人搞了一辈子软件测试,他的Homepage:。http://cs.gmu.edu/~offutt/。
研究过程遇到的一些NB的人物的主页:
信息科学中Kolmogorov复杂度的相关人物:G J Chaitin Ray Solomonoff A.H. Kolmogorov
计算复杂度的开山祖师:Stephen A. Cook Richard M. Karp
数据挖掘的牛人:Dr. Jian Pei
软件测试的大神(个人不完全统计):Michael Ernst Darko Marinov Jeff Offutt Willem Visser Saswat Anand Gordon Fraser Tao Xie Raul Santelices
Prof. Eric Bodden, Ph.D. Laurie Hendren Ian H. Witten Harry Xu's Homepage Sai Zhang's homepage
当然,在论文An orchestrated survey of methodologies for automated software test case generation中的出现的作者都是软件测试领域的泰斗之类的人物。
关于论文检索系统,主要使用IEEE Xplore Springer CiteSeerX JSTOR ScienceDirect(Elsevier) arXiv.org e-Print archive 以及ACM的检索系统和 中国知网 (备注:个人的短暂的研究经验而言,google学术搜索可以应付大多数问题,无论是中文的还是英文的)
计算机科学的人物检索系统:dblp(德国某大学开发的,可以用于了解一些计算机科学与技术中NB的人物的工具,涉及论文,会议和期刊)
2. 软件测试相关
关于软件测试用例生成的研究,2013年2月的一篇综述:An orchestrated survey of methodologies for automated software test case generation 中介绍的相当不错,其中介绍了四种主流关于测试用例生成技术的综述:符号执行(symbolic execution),基于模型的测试(Model-based Test),组合测试,随机测试中的自适应随机测试和基于搜索的测试。当然还有其他的一些技术没有介绍,但也很有名,比如变异测试,模糊测试,混合技术测试之流的。
在这些测试其中,文献调研过自适应随机测试,花了一周看论文感觉尽是在说理论,没找到什么实际的应用的例子,或者说我没能明白关于输入空间的含义;研究符号执行了一段时间,主要是JPF及其扩展JPF-SE;对一些随机测试和系统测试混合技术也做了一些研究,这主要涉及Randoop,Palus,RecGen。我是在一个大学生创新项目下做关于这些研究,并将这些写成了一个技术报告,交到学院里估计也不会有人看,地址:http://pan.baidu.com/s/1eQtGJ66 (备注,好像泄露的我的真实姓名了,没错,我是叫夏健--一个不太好听的名字)
2.1. 相关的工具
2.1.1. 探索过的工具
artgen:一个基于Randoop的测试用例生成工具
recgen:一个基于Randoop的测试用例生成工具
palus:一个基于Randoop的并组合动态和静态分析测试用例生成工具
Randoop:基于随机测试的序列生成的测试生成工具
jcrasher:基于随机测试的序列生成的测试生成工具
jpf:javapathfinder,显式模型检查工具,与软件测试用例生成相关的是它的一个扩展,jpf-se
mujava:jeff offut开发的变异测试工具
emma,codecover,cobertura都是代码插桩工具
findbugs,checkstyle,pmd都是代码静态检查工具。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11