资源描述:
《程序切片技术在软件测试中的应用pdf.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第24卷第5期计算机应用研究Vo.l24,No.52007年5月ApplicationResearchofComputersMay2007*程序切片技术在软件测试中的应用1,2111,31孙继荣,李志蜀,王莉,殷锋,金虎(1.四川大学计算机学院,四川成都610065;2.四川师范大学软件重点实验室,四川成都610068;3.西南民族大学计算机科学与技术学院,四川成都610041)摘要:基于程序切片的软件测试是一种以程序或程序和需求相结合为基础的测试,它根据程序的不同切片来缩小软件的测试范围、提高软件测试的效率、辅助测试数据的自动生成等。同时由于程序切片不仅考虑了数据依赖和控制依赖,还考
2、虑了程序存在的其他各种依赖关系,使得测试的准确性得到提高。详细阐述了目前存在的各种切片技术及其应用领域,重点探讨了目前切片技术在测试领域中的具体应用。关键词:程序切片;软件测试;数据依赖;控制依赖;测试数据自动生成中图分类号:TP311文献标志码:A文章编号:10013695(2007)05021004OverviewofSoftwareTestingBasedonProgramSlice1,2111,31SUNJirong,LIZhishu,WANGLi,YINFeng,JINHu(1.SchoolofComputer,SichuanUniversity,Chengdu
3、Sichuan610065,China;2.KeyLaboratoryofSoftware,SichuanNormalUniversity,ChengduSichuan610068,China;3.CollegeofComputerScience&Technology,SouthwestUniversityforNationalities,ChengduSichuan610041,China)Abstract:Authordiscusseddifferentslicingmethodsandthereapplicationstosoftwareengineering,elaboratelyto
4、softwaretesting.Softwaretestingbasedonslicingcanreducetherangeofsoftwareundertesting,miprovethetestingefficiency,andgiveaconvenienthandtotheprocessofautomatictestdatageneration,etc.Atthesametmie,thistechniquecanenhancethetestingaccuracyandsufficiency.Keywords:programslice;softwaretesting;datadepende
5、ncy;controldependency;automatictestdatageneration程序切片是一种程序分析和理解技术。它通过把程序减程内的切片。少到只包含与某个特定计算相关的那些语句来分析程序。其定义1设s是程序流图CFG中的任一节点,定义:[1]概念最早是1979年由MarkWeiser提出来的。他观察到程(1)定义集Def(s)={x/x是语句s中值被改变了的变序员在调试过程中脑海中就有关于程序的某种抽象,人们在调量};试一个程序时总是从错误语句s开始,并沿着依赖关系跟踪到(2)引用集Ref(s)={x/x是语句s中引用的变量}。它影响的程序部分。程序切片的发展基本成熟
6、,在理论和应用定义2数据依赖:如果节点n、m满足以下两个条件,则方面的研究均取得了可喜的进展,特别是在程序的调试、测试、称n数据依赖于m:分解和集成、软件维护、代码理解以及逆向工程等领域具有广(1)如果存在一个变量v满足vdef(m)ref(n);泛的应用。本文将侧重介绍程序切片技术在软件测试领域的(2)G上存在一条由节点m到n的路径p,对于路径上的应用。其他节点m!p-{m,n},vdef(m!)。定义3控制依赖:如果节点n、m满足如下条件,则称n1程序切片简介控制依赖于m:Weiser认为一个切片与人们在调试一个程序时所做的智(1)G上存在一条由节点m到节点n的路径p,对于路径
7、力抽象相对应。他定义的程序P的切片S是一个可执行的程上的其他节点m!p-{m,n},n是m!的后必经点;序,对某个兴趣点s处的变量v而言(s,v称为切片准则),S(2)n不是m的后必经点。由程序P中可能影响s处变量v的值的所有语句构成。这个程序切片不仅与兴趣点定义和使用的变量有关,还与影响[2]可执行部分相对于程序P在功能上是等效的。他提出的切该变量的值的语句和谓词以及受该变量的值影响的语句