期刊文献+

基于非结构化控制流的进化测试方法

Method of Evolutionary Testing Based on Unstructured Control Flow
下载PDF
导出
摘要 结构性测试中,进化测试是一种高效的自动生成高质量测试用例的技术。然而,当程序中出现非结构化特征时,在面向节点的测试标准下,其效率极其低下甚至不及随机测试生成方法。在考虑循环体内部出现跳转(goto、return)语句的情况下,提出了一种适应度计算方法。该方法在结合传统进化测试适应度计算的基础上,充分考虑了循环次数对于进化搜索的影响。实验结果表明,本适应度函数可以很好地引导进化搜索,并以较小的代价生成测试用例。 Evolutionary testing is a highly effective technique for automatically generating high quality test data, which is used for structural testing. However, under the criterion of Node-oriented, testing of unstructured programs is inefficient and leading the technique degenerates to random testing. In this paper, with regard to the unstructured programs that contain arbitrary jump statement inner a loop body, a method of fitness calculation based on traditional approach was proposed, in which the impact of the number of iteration for evolutionary search was adequately considered. The experiments were then presented and the results show that the fitness function could effectively guide evolutionary search to find required test data at low cost.
作者 江胜 卢炎生
出处 《计算机科学》 CSCD 北大核心 2009年第8期149-152,181,共5页 Computer Science
基金 "十一五"部委预研项目(513150601)资助
关键词 进化测试 非结构化控制流 循环 适应度 进化搜索 Evolutionary testing, Unstructured control flow, Loop, Fitness, Evolutionary search
  • 相关文献

参考文献16

  • 1Beizer B. Software Testing Techniques[M](2nd edition). Van Nostrand Reinhold, 1990.
  • 2Harman M. The automatic generation of software test data using genetic algorithms[D]. Pontyprid, Wales, Great Britain : University of Glamorgan, 1996.
  • 3ClarkJ , Dolado J J , Harman M, et al. Reformulating software engineering as a search problem [J]. IEEE Proceedings Software, 2003,150(3): 161-175.
  • 4Korel B. Dynamic method for software test data generation[J]. Software Testing, Veri cation and Reliability, 1992,2 (4) : 203- 213.
  • 5Harman M, Baresel A, Binkley D, et al. Testability Transformation-Program Transformation to Improve Testability[M]. Formal Methods and Testing, Lecture Notes in Computer Science, Springer-Verlag ,2008,4949:320-344.
  • 6Hierons R , Harman M , Fox C. Branch - coverage testability transformation for unstructured programs[J]. The Computer Journal, 2005,48 ( 4 ) : 421-436.
  • 7Ramshaw L. Eliminating goto's while preserving program structure[J]. J. ACM, 1988,35 : 893-920.
  • 8Agrawal H. On Slicing Programs with Jump Statements[C]// Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, 1994.
  • 9Ferrante J, Ottenstein K J. The Program Dependence Graph and Its Use in Optimization[J]. ACM Transactions on Programming Languages and Systems, 1987,9 : 319-349.
  • 10Tracey N, Clark J, Mander K, et al. An automated frame framework for structural test-data generation [C]// Proceedings of the International Conference on Automated Software Engineering. Hawaii, USA, 1998.

二级参考文献10

  • 1Clark J, Dolado J J, Harman M, et al. Reformulating software engineering as a search problem. IEE Proceedings -Software,2003,150(3) : 161- 175
  • 2Wegener J, Baresel A, Sthamer H. Evolutionary test environment for automatic structural testing. Information and Software Technology,2001,43(14) : 841-854
  • 3Jones B,Sthamer H H,Eyres D. Automatic structural testing using genetic algorithms. The Software Engineering Journal, 1996,11 : 299-306
  • 4Michael C, McGraw G, Schatz M. Generating software test data by evolution. IEEE Transactions on Software Engineering,2001,27(12):1085 - 1110
  • 5Liu X,Liu H,Wang B. Unified fitness function calculation rule for flag conditions to improve evolutionary testing. The 20th IEEE/ACM International Conference on Automated Software Engineering. Long Beach,California,USA,Nov. 2005
  • 6Liu X, Liu H, Wang B. Unifying the fitness function calculation for-flag conditions. The 6th Metaheuristics International Conference(MIC'05). Vienna,Austria,Aug. 2005.
  • 7Liu H. Evolutionary Testing in the context of Object-Oriented Programs. In: Proeeeding of the 8th Intl.conf. for Young Computer Scientists ( ICYCS' 05 ). Beijing, China, Sept.2005
  • 8Rountev A,Kagan S, Gibas M. Static and Dynamic Analysis of call chains in Java. In:Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis,Jul 2004
  • 9Ottenstein K, Ottenstein L. The program dependence graph in a software development environment. In: Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, 1984-177-184
  • 10Zhao J. Applying program dependence analysis to Java software.In: Proc. Workshop on Software Engineering and Database Systems,Dec. 1998. 162-169

共引文献4

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部