分享
 
 
 

测试用例序列化

王朝百科·作者佚名  2010-08-05
窄屏简体版  字體: |||超大  

通常一项大的软件工程会有成百上千的单元测试用例,而一次测试中测试用例集的执行也会很耗时,例如有的开发中用到的测试用例全部执行甚至耗时一周。另外,在发现并修正错误后,还要对软件进行回归测试 --- 在修改后再次测试,保证被测应用(AUT)在系统被修改或扩充后,各项功能依然正确[4]。这就是说,整个测试过程会很耗时,而且会执行多次。那么,尽早的发现错误能有效的提高软件开发的效率。另一方面,在软件迭代开发的情况下,尽早发现错误所节省的时间更是意味着节约开发成本[3]。

测试用例执行的顺序会对测试用例集的效果产生明显的影响,好的顺序使得测试用例能更早的发现错误。

这就是Rothermel[5]提出的测试用例序列化问题,并给出了如下定义1:

定义1:

给定测试用例集T,令PT为T的所有全排列的集合,函数f为PT到实数的映射。那么,测试用例序列化问题可定义为:

找到T’∈ PT,使得 ("T’’)(T’’∈PT)(T’’ ≠T’ )[f(T’) ≥f(T’’)]

在这个定义中,PT是测试用例集所有可能排列的集合,f则是对于PT中某个排列的一个测度函数,例如它可以是APSC和APFD计算函数。

对于这一问题,人们进行了大量的研究,并提出了很多有效的测试用例序列化技术来解决这一问题。但是在实践中,人们发现由于受资源限制,最典型的就是受时间的限制,无法将测试用例全部执行,这样测试用例序列化问题就不是一个简单的排序问题,而是一个选取合适测试用例子序列的问题。根据Rothermel[5]的定义,Walcott[6]将在时间约束条件下的测试用例序列化问题定义2如下:

定义2:

给定测试用例集T,令PT为T的所有全排列的集合,函数f和函数time为两个PT到实数的映射,timemax为时间约束,那么,有时间约束的测试用例序列化问题可定义为:

找到T’∈ PT且time(T’)≤tmax,使得

("T’’)(T’’∈PT)(T’’ ≠T’ )(time( T’’) ≤ timemax)[f(T’) ≥f(T’’)]

对于时间约束条件下的测试用例序列化问题的研究刚刚起步,人们提出了一些有效的在时间约束条件下的测试用例序列化技术。

这样,测试用例序列化问题就可以分为两部分:无时间约束的测试用例序列化和有时间约束的测试用例序列化问题。

所有提出解决用例序列化问题的技术都是将测试用例集在执行前进行排序,使得测试用例序列能够更有效地实现某些测试目标。

测试用例序列化技术:

Rothermel等人[5]在2001年提出了一系列基于覆盖信息的方法,对后来的序列化算法影响比较大。他的方法主要是基于方法覆盖和语句覆盖信息的贪心算法,称为total和addtional方法,另外,他还提出了基于用例潜在发现错误的能力进行排序的方法。

Elbaum等人[1,2]在Rothermel的基础上在方法覆盖的层面进行了进一步的研究。Do等人则考虑了java程序的方法和块覆盖信息进行了实验。Jones和Harrold提出覆盖信息可以在很具体的层面,如被修改的条件、分支覆盖信息。

Korel等人则更宏观,研究了系统模型的覆盖。

总体而言,虽然使用了不同的覆盖信息,但大多数使用两种贪心算法,就是total和additional方法.

Lu Zhang等人[7]提出了使用线性规划方法求解这一问题的方法,以期得到更优解。

Lingming Zhang等人[8]则考虑使用了不基于代码覆盖信息的测试用里序列化方法。

参考文献:

[1] S. Elbaum, A. Malishevsky, and G. Rothermel. Prioritizing test cases for regression testing. In Proc. International Symposium on Software Testing and Analysis, pages 102-112, 2000.

[2] S. Elbaum, A. Malishevsky, and G. Rothermel. Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering, 28(2):159-182, 2002.

[3] Hyunsook Do, Siavash Mirarab, Ladan Tahvildari, and Gregg Rothermel. An Empirical Study of the Effect of Time Constraints on the Cost-Benefits of Regression Testing. In Found. Softw. Eng.,pages 70,nov.2008.

[4] (英)沃特金斯(Watkins,J)著,贺红卫等译. 实用软件测试过程. 北京:机械工业出版社, 2004,第一版,75页

[5] G.Rothermel, R.Untch, C,Chu, and M.J. Harrold. Prioritizing Test Cases for Regression Testing. IEEE Trans. Software Eng., vol.27, no.10, pp. 929-948, Oct. 2001

[6] K. R. Walcott, M. L. Soffa, G. M. Kapfhammer, and R. S. Roos. Time aware test suite prioritization. In Proc. International Symposium on Software Testing and Analysis, pages 1-11, 2006.

[7]Lu Zhang, Shan-Shan Hou, Chao Guo, Tao Xie, Hong Mei, “Time-Aware Test-Case Prioritization using Integer Linear Programming,” Proceedings of International Symposium on Software Testing and Analysis (ISSTA 2009), 19-23 July, 2009, pp. 213-224.

[8]Lingming Zhang, Ji Zhou, Dan Hao, Lu Zhang and Hong Mei, “Prioritizing JUnit Test Cases in Absence of Coverage Information,” Proceedings of the 25th International Conference on Software Maintenance (ICSM 2009), 20-26 September 2009, pp. 19-28.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有