接口变异在构件测试中的应用研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接口变异在构件测试中的应用研究   摘要:对于构件使用者来说,源代码的不可得性决定了测试构件需要从构件的接口层面上进行。文章首先介绍了变异测试和遗传算法的概念;接着将遗传算法运用到构件接口变异上,通过变异测试过程获取有效而充分的测试用例,进而对构件进行测试;最后通过一个实例验证这种测试策略。   关键词:构件测试;接口变异;遗传算法   中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)13-3561-03   Application Research of Interface Mutation in Component Test   LIU Chang-you, GUAN-Xian-chun   (Computer School of GuangDong University of Technology, Guangzhou 510006, China)   Abstract: Source code of component is unavailable to component users, so component test has to been run on component interface. Firstly, This paper introduced Mutation Testing and Genetic Algorithms; Secondly, applying Genetic Algorithms to interface mutation, and by that to create adequate and effective test cases which are used to test component; At last, an example is provided to validate the test method.   Key words: component testing; interface mutation; Genetic Algorithms   近年来,基于构件的软件开发(CBSD)逐渐发展起来,且越来越受到业界的欢迎。与传统的软件开发过程不同,CBSD开发一个系统可以由现成的构件组装而成,而不必一切都从头开发。这一变化大大提高了软件开发的效率。由于CSBD取得成功的前提是已经开发出了质量可靠的构件,因此如何有效地对构件进行测试成为软件工程领域研究的热点。   对构件使用者来说,构件具有一个最显著的特征[1],即构件的源代码的不可得性,只有通过调用才能使用构件的功能。由于源代码的不可得使构件验收和部署时的测试工作变得困难,因此构件的测试必须从更高的层次入手,即从构件提供的接口进行测试。通过接口调用和参数传递观察构件的外在行为,用以验证构件是否符合规格说明。因此如何设计出有效而充分的测试用例成为基于构件接口测试的关键任务。本文正是根据这种思路把遗传算法应用到构件的接口变异中去,通过变异测试生成有效而充分的测试用例,最后运用这些用例测试构件的功能。   1 构件与变异测试   1.1 构件与构件测试的现状   根据《计算机百科全书》中的定义[2],构件是软件系统中具有相对独立功能、可以明确辨识、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的软件实体。而构件的质量关系着构件化软件开发的成败,因此在进行构件化软件开发前要对构件进行充分的测试。   目前构件测试方法有内置测试法、元数据法、构件交互图,基于合约的接口变异测试方法等。根据构件测试人员的不同可以分为构件开发者的测试和构件使用者的测试。这里主要研究接口变异的测试方法,即站在构件使用者的角度一种测试方法。该方法允许构件测试者根据构件的规格描述信息生成初步的测试用例,通过遗传算法对构件的接口进行变异,把构件测试用例应用到变异后的构件接口上,经过一系列迭代的测试过程逐步完善测试用例,直至测试用例的有效度达到要求为止,最后运行测试用例观察构件的交互是否满足规格需求。   1.2 变异测试的过程   基于变异的软件测试是一种有效的软件测试方法。它需要执行一个程序的多个不同版本用来评价所使用的测试用例。这里要对为测试的程序构造出变异来,一个变异体就是引入了一个简单的语法错误到程序中。整个变异测试过程(图1)可以描述如下:   被测试的程序P,它的变异体为Pi(i=1,2,3,…N)。在测试集T上执行变异子Pi,与执行P的结果比较。   如果 Pi(T)P(T) 那么Pi被杀死。   如果 Pi(T)==P(T) 这里有两种情况,一是Pi是P的等价变异体;另一种情况是用例不够完善尚且不能揭示出Pi里面存在的错误。   这里介绍下变异充分度参数MS定

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档