首页> 中文学位 >基于路径覆盖的并行程序测试用例生成方法研究
【6h】

基于路径覆盖的并行程序测试用例生成方法研究

代理获取

摘要

软件测试深入到研发软件的每一个阶段,它从需求分析阶段开始存在直到交互软件产品为止。通过对研发产物进行测试不仅使软件产品达到用户要求,而且可以缩减研发周期与研发成本。测试的核心是有效地测试数据,现有的测试数据生成方法主要是针对串行程序的,随着时代的进步并行计算得以高速发展,科学家们把并行技术广泛地应用于图像处理、天气预报等方面。
  相比于串行程序,并行程序的结构更加复杂,它含有的多个进程之间需要通过特有的语句传递数据,实现进程间的信息共享,以充分发挥并行性。已有学者对并行程序的资源竞争、死锁等问题提出了测试方案。在保证进程间可以正确地共享信息的前提下,需要对程序的内部结构进行测试,进而增强并行程序的可靠性。因此有必要探讨下并行程序的结构覆盖,现有的测试程序结构覆盖的方法是基于某一个覆盖准则产生测试数据。因并行程序自身特性,不可直接使用现有生成串行程序测试数据的方案,因此并行程序测试数据生成问题是本文章研讨的重点。
  消息传递接口(Message passing interface,MPI)有可移植性强、操作简单等优点,被普遍地用于编写并行程序。通讯机制的差异将MPI并行程序划分为通信确定的与通信不确定的MPI并行程序,在文章中先分析这两类并行程序,了解并行程序的构成、路径等基本概念。其次,对学者普遍应用的群智能算法进行研究,并结合MPI并行程序的特性提出适用于求解MPI并行程序测试数据的算法,即交叉协同进化人工蜂群(Cross Co-evolutionary Artificial Bee Colony Algorithm,CCABC)算法,在该算法中引入交叉机制与协同进化思想。然后,选取通信确定的MPI并行程序,建立数学模型并设计适应值函数,应用CCABC算法生成满足路径覆盖准则的测试数据,使用具体源程序证明CCABC算法可以生成测试数据。最后,对通信不确定的MPI并行程序运用CCABC算法产生测试数据。在产生该类程序的测试数据时提出了两种方案,一种是将其转化为通信确定的MPI并行程序,然后再求解测试数据。另一种是给出相似路径集的定义,在寻找到目标路径的相似路径集后再应用CCABC算法求解测试数据。实验结果显示所提解决方法适用求解该类程序的测试数据,且时间效率更高。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号