最优测试数据选择策略研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:liufengsheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的日益成熟,硬件成本的迅速降低,各种结构复杂、功能强大的计算机系统被广泛应用到航空航天、交通运输、核电能源和医疗卫生等安全关键领域。一旦这些系统失效,将造成人类生命财产的重大损失或者环境的严重破坏,软件质量日益成为被关注的焦点。针对如何确保软件开发质量问题,虽然已经提出了许多技术和方法,但迄今为止,软件质量主要还是要靠软件测试来保证。软件测试在软件质量保障中扮演着重要的角色:一方面,软件测试可以定位并排除错误,切实地提高软件的可靠性水平;另一方面,通过软件测试,可以获得对软件当前可靠性水平的评估和验证。软件测试是软件开发过程中一个十分重要并且成本昂贵的过程。如何减少软件测试成本,提高测试效率及软件质量评估的准确性的研究具有十分重要的意义。 目前,软件测试过程的优化已经成为测试技术研究的一个主要方向,选择好的测试用例集不仅能减少软件测试的工作量,降低软件测试的成本,而且在不会降低软件测试质量的前提下,提高软件开发的速度,从而使系统及早投入使用,参与市场竞争。因此如何精选少量的测试用例,对系统进行有效的测试,是软件测试研究中的关键课题。本文从提高软件测试效率和软件质量评估准确性两个方面入手,以整个测试过程为对象研究了测试数据的最优选择策略,针对划分测试和统计测试进行了系统深入的研究,主要包括以下内容: (1)研究了整个测试过程中测试数据的选择策略,在待测软件某些参数已知的条件下,以最小化平均测试费用为目标的软件测试优化问题。将软件测试过程处理成Markov决策过程,提出了软件测试的Markov决策模型,运用交叉熵方法,通过一种学习策略获得软件测试的最优测试剖面,用于优化软件测试,为软件测试提供有益的线索和参考。 (2)从决策论的角度系统研究了划分测试用例选择的风险决策与带约束的决策优化问题。在深入剖析T.Y.Chen等基于经典决策理论提出的划分测试用例选择方案基础上,充分利用测试者对待测软件导致错误输入分布信息了解的基础上,采用定性分析和定量分析相结合的方法基于风险决策提出一种测试用例选择模型,给出测试用例选择的二项式系数准则.针对测试资源受约束时划分测试用例合理分配的优化问题考虑了两类带约束的测试用例选择优化问题证明了带约束的测试用例最优分配问题是一个NPC问题,给出了动态规划求解方法,从理论上证明了该方法是最优的。针对动态规划求解方法只适合子域数较小的情形提出了一种启发式求解方法,并通过蒙特卡罗方法将该方法与其它常见的测试用例分配策略进行分析比较,用实验数据验证了该方法能合理利用有限测试资源,有效地提高缺陷检测能力。 (3)分析了已有的基于统计测试的Markov使用模型对软件可靠性评估方法的缺点和不足,提出了一种有效的估计方法。该方法利用重要抽样技术在保证估计的无偏性条件下,以估计方差最小为目的,分别从零方差抽样分布表达式与可靠性估计方差的表达式两个角度,通过启发式迭代过程调整各个状态之间的转移概率来修正测试剖面。从理论上证明了利用修正测试剖而测试估计的可靠性是方差为零的无偏估计。最后给出了软件可靠性估计的最优测试剖面生成的启发式迭代算法,并与其它可靠性估计方法进行比较。 (4)分析了统计测试方法在安全关键软件测试中的不足,基于费用的Markov链使用模型提出了一种具有导向性的快速有效的加速统计测试方法。主要考虑了两类测试剖面确定问题:测试资源受约束的加速统计测试测试剖面确定及均衡失效风险与测试费用的加速统计测试剖面的确定。提出了一种启发式求解方法,并通过蒙特卡罗方法用实验数据验证了该方法能充分利用有限测试资源,加速统计测试.
其他文献
随着无线网络技术的普及和工业生产的飞速发展,无线设备信息化管理与“自动化立体仓库”的结合,已成为提高仓储效率展示企业实力的有效手段。在现实应用中,由于立体仓库面积很大
随着互联网的迅猛发展,Web已成为全球最大的信息源和知识库。而Web信息的主要载体-网页,除了表达主题的内容外,还有为了维持页面的链接关系而进行的导航设计或出于商业目的等进
软件需求管理对于软件项目开发至关重要,能直接决定项目的成败。目前国内中小型软件企业普遍没有建立规范的需求管理过程,对企业发展造成很大影响。软件能力成熟度模型集成CM
Web服务是近年来蓬勃兴起的一种分布式计算模型,能够实现在不同平台、不同程序设计语言编写的应用程序或应用程序组件之间无缝的互操作。随着Web服务标准的完善和支持Web服务
嵌入式软件技术开发正面临着产品的功能要求越来越复杂,开发周期越来越短,系统硬件和软件平台的变化太快等方面的挑战;同时,问题有时不在于软件本身,而在于如何理解软件开发项目及
人们生产、生活等各个方面越来越依赖于计算机的广泛使用,建立高可靠、高可用计算机系统已成为现代社会发展的迫切要求。基于复制的容错技术,即将关键服务软件复制到分布式系统
随着人类活动不断的改变着土地的用途,土地利用/土地覆被变化研究越来越重要。土地在不同的因素共同作用下,逐渐的改变为人类所需要的利用类型。改革开放以来,我国经济进入飞
Internet的快速增长,使web 应用成为目前最重要、最广泛的应用,需要更高性能的web 服务器提供更多用户的web 服务,因此,web 服务器面临着访问量急剧增加的压力,对其处理能力、响应
聚类是一种无监督的学习,其任务是按照给定的相似性将数据分组,使得同组数据彼此相似而不同组数据不相似。由于用来聚类的数据本身并没有类别信息,故而无法通过传统的“训练
随着我国社会经济的快速发展、城市化进程的推进、人口的大量流动,使得社会治安管理工作日趋复杂,治安状况得不到很好的改善。建立一个有效的社会治安管理视频监控系统覆盖城