静态测试用例序列化

王朝百科·作者佚名  2010-08-12  
宽屏版  字体: |||超大  

静态测试用例序列化(不基于程序执行信息的测试用例序列化)

传统的测试用例序列化技术都基于程序的执行信息,比如程序的语句覆盖信息、方法覆盖信息、分支覆盖信息等来指导测试用例的排序过程。但是这些基于程序执行信息的技术[1,2,3]有如下不足:1,测试人员需对被测程序进行插桩来捕获覆盖信息,而运行插桩后的程序运行时间可能远远超乎想象;2,捕获的覆盖信息可能数据量很大,覆盖信息的存储和管理都会给测试人员带来巨大的负担; 3,在回归测试的过程中,测试人员可能对测试用例或者被测程序源码有所修改,从而造成以前捕获的覆盖信息与测试用例实际执行结果之间的不一致;4,传统技术无法对新加的测试用例进行序列化。

基于传统方法的不足,Lingming Zhang等人[4] 提出了一种静态的测试用例序列化技术:Jupta。Jupta利用测试用例的方法调用图来模拟实际的覆盖信息,并采纳了传统技术总体式和增量式的两种策略,经在JUnit测试框架下的一组实验验证,不需要程序执行信息的Jupta的稳定性和有效性都能近似达到传统的基于方法覆盖信息的技术。

[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] 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

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有