首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 125 毫秒
1.
基于Markov决策过程用交叉熵方法优化软件测试   总被引:3,自引:1,他引:2  
张德平  聂长海  徐宝文 《软件学报》2008,19(10):2770-2779
研究了待测软件某些参数已知的条件下,以最小化平均测试费用为目标的软件测试优化问题.将软件测试过程处理成马尔可夫(Markov)决策过程,给出了软件测试的马尔可夫决策模型,运用交叉熵方法,通过一种学习策略获得软件测试的最优测试剖面,用于优化软件测试.模拟结果表明,学习策略给出的测试剖面要优于随机测试策略,检测和排除相同数目的软件缺陷,学习策略比随机测试能够显著地减少测试用例数,降低测试成本,提高缺陷检测效率.  相似文献   

2.
研究了软件参数变化条件下,在回归测试中以最快速度修复软件缺陷为目标的软件优化问题,将软件测试过程转化为一个时变系统控制过程,给出了软件测试状态转移矩阵模型。运用学习控制方法,通过二维变因子自学习策略获得软件测试最优测试用例,优化软件测试。仿真结果表明,给出的学习策略优于随机测试和马尔可夫控制策略,对应地检测与排除同样软件缺陷,该控制策略能显著减少回归测试次数,降低测试成本。  相似文献   

3.
软件测试过程通常期望以最小的成本检测尽可能多的缺陷.为了降低建模复杂度,多数文献通常假设缺陷之间相互独立.但在实际测试中,缺陷之间往往存在关联,并且每个缺陷引发软件失效的严重程度也不相同.充分利用缺陷之间的关联信息,有助于增加相关缺陷的可检测率,提高软件测试效率.因此,提出一种新的思路:利用软件缺陷之间的关联构造缺陷相关系数,引入回扣机制,量化不同严重等级的缺陷所被检测到的价值,综合考虑缺陷相关系数、检测率、回扣三者的权值,以构造基于缺陷关联的最优测试策略.同时,提出复合的优化算法来构造相应的最小生成树,将测试剖面转换成带权的路径问题,以有效地寻找具有最大权值的最优测试路径.另外,改进了已有的剔除策略,以更有效地删除关联缺陷.通过实验仿真,并与其他测试策略相比较,证明了该方法的有效性.  相似文献   

4.
软件测试用例的设计和生成是整个测试工作的重点和难点,往往需要耗费大量的时间,为了减少测试工作量,防止测试用例数目过多而导致爆炸,在传统蚁群算法的基础上,针对传统蚁群算法初期搜索效率低、搜索信息素相对匮乏、搜索模型过于简单、正反馈机制容易产生停滞早熟现象等问题,对蚁群算法进行系统化改进,建立蚁群搜索路径,改进信息素挥发系数,并将其用于软件测试用例的自动生成,提高软件测试效率,降低测试代价.  相似文献   

5.
软件测试数据自动生成算法的仿真研究   总被引:1,自引:0,他引:1  
研究软件质量优化问题,传统遗传算法存在局部最优、收敛速度慢,使软件测试数据自动生成效率低.为提高软件测试数据生成效率,对传统遗传算法进行改进,提出一种遗传-蚁群算法的软件测试数据生成算法.针对测试数据自动生成的特点,充分发挥遗传算法的全局搜索和蚁群算法的局部搜索优势,提高了测试数据的生成能力.实验结果表明,遗传-蚁群算法提高了软件测试数据生成效率,是一种较为理想的软件测试数据生成算法.  相似文献   

6.
有效降低测试成本是软件测试优化的重要研究问题。将遗传算法引入到软件测试中,对生成测试场景提供了必要的动力,然而遗传算法局域搜索能力差,在进化后期搜索效率低,导致算法比较费时。基于UML活动图提出了混合遗传算法生成测试场景的方法,该方法结合遗传算法和爬山法,有效地加快了测试场景的生成速度。为了避免局部性问题,在算法每次进行爬山操作之前调用种群生成函数。实验结果表明,与简单的遗传算法相比,混合遗传算法不仅有效地解决了局部性问题,而且较大地提高了生成测试场景的效率,降低了软件测试成本。  相似文献   

7.
基于蚁群算法建立了一个多用户检测问题的模型,在这个模型中,蚁群算法得到了简化并且更加利于并行计算.随后将基于优化排序的蚂蚁系统用于多用户检测,并通过分析算法的缺陷提出了一种蚁群算法与进化规划相结合的混合算法,扩大了搜索空间,降低了搜索陷入局部极小的概率.通过对多用户检测问题的试验仿真表明,改进算法不仅操作简单,而且全局搜索能力有了显著的提高.  相似文献   

8.
自动化测试可以有效地提高软件测试效率,降低软件开发成本。测试数据自动生成是自动化测试过程中一个非常重要的环节。以路径覆盖为准则,本文提出一种利用遗传-蚁群混合算法来对程序输入域进行搜索的方法,进而生成满足需要的测试数据。经过实验验证,该算法可以有效地生成满足覆盖准则并且分布多样的测试数据。  相似文献   

9.
给水管网优化设计是一个多变量的离散优化问题,设计方案直接影响到工程的投资.针对蚁群算法在优化给水管网问题时易陷入局部极小难以寻求最优解的缺陷,提出一种改进蚁群算法,通过蚁群分工机制与优化信息素增加值提高了蚁群算法的全局搜索能力.利用改进蚁群算法对汉诺塔管网进行优化设计,结果表明改进蚁群算法的设计方案在满足工程要求的同时造价最低.通过与其他优化方法相比,提出的改进蚁群算法在给水管网优化问题中具有较好的全局搜索能力.  相似文献   

10.
王强  纪晓青 《计算机应用》2011,31(6):1495-1497
针对软件测试设计策略优化问题,提出一种基于测试重要度的测试设计决策分析算法。该方法依据测试有效性原则,采用层次分析理论,通过定量和定性相结合的方法,解决软件测试过程中测试重要度比较和分析问题,完成对软件测试设计工作的重点或优先级的决策分析,优化测试设计策略,进而合理地分配测试资源,有效发现软件存在的缺陷,提高软件测试的效率。  相似文献   

11.
针对软件安全性测试的本质特征在于快速降低由于软件失效而导致系统事故的风险, 结合基于Baye-sian统计理论的测试方法, 建立一套构建安全性测试剖面, 并由此产生测试用例的测试方法。该方法运用故障树分析技术, 对各模块发生故障对系统安全性的影响进行分析, 找出影响较大的关键性模块, 然后利用分析结果构建安全性测试剖面。最后给出了测试停止的标准。通过对例子的分析可知, 本方法在快速降低软件事故风险方面比现有软件测试方法更有效。  相似文献   

12.
针对软件接口类型多、接口故障注入自动控制复杂的困难以及目前缺少有效的软件接口故障注入工具现状,对软件故障注入中的交联接口故障注入技术展开研究,提出了一种基于模型的软件接口故障注入测试平台技术。通过交联接口测试可视化建模和接口故障注入算子设计,自动生成XML 格式的测试用例,并且通过基于XSLT的脚本自动化生成与执行技术实现测试的控制与执行。故障注入测试主机与接口故障注入器网络连接,接口故障注入器将接口故障数据转换成以太网、串口或CAN网络数据注入到被测软件中,并返回被测件输出数据到测试主机实现测试数据收集与判断。基于模型的软件接口故障注入测试平台具有较强的通用性与易用性,提高了接口故障注入测试的效率,降低了接口测试的成本。  相似文献   

13.
回归测试在软件测试过程中是非常重要的,同时也是非常费时费力的。为了适应软件测试的需求,提高回归测试的效率,降低测试成本,针对目前GUI回归测试的困难,依据Atif M.Memon等人提出的新的回归测试方法,根据一个"Good"的测试套件对测试成本和"fault-detection effectiveness"的影响,突出一个"Good"的测试套件的特点,给出一个新的回归测试方法。该方法根据测试套件的特点,有针对性地选择合适的测试用例来构建回归测试套件。这样不仅有针对性,同时也优化了测试套件,提高了测试效率。  相似文献   

14.
ContextTest models describe the expected behavior of the software under test and provide the basis for test case and oracle generation. When test models are expressed as UML state machines, this is typically referred to as state-based testing (SBT). Despite the importance of being systematic while testing, all testing activities are limited by resource constraints. Thus, reducing the cost of testing while ensuring sufficient fault detection is a common goal in software development. No rigorous industrial case studies of SBT have yet been published.ObjectiveIn this paper, we evaluate the cost-effectiveness of SBT on actual control software by studying the combined influence of four testing aspects: coverage criterion, test oracle, test model and unspecified behavior (sneak paths).MethodAn industrial case study was used to investigate the cost-effectiveness of SBT. To enable the evaluation of SBT techniques, a model-based testing tool was configured and used to automatically generate test suites. The test suites were evaluated using 26 real faults collected in a field study.ResultsResults show that the more detailed and rigorous the test model and oracle, the higher the fault-detection ability of SBT. A less precise oracle achieved 67% fault detection, but the overall cost reduction of 13% was not enough to make the loss an acceptable trade-off. Removing details from the test model significantly reduced the cost by 85%. Interestingly, only a 24–37% reduction in fault detection was observed. Testing for sneak paths killed the remaining eleven mutants that could not be killed by the conformance test strategies.ConclusionsEach of the studied testing aspects influences cost-effectiveness and must be carefully considered in context when selecting strategies. Regardless of these choices, sneak-path testing is a necessary step in SBT since sneak paths are common while also undetectable by conformance testing.  相似文献   

15.
软件测试在软件生命周期中是一个非常重要的过程,而回归测试则又在软件测试中占有极其重要的地住。本文提出的RTSPS方法综合考虑了测试状态即测试频次、测试成本、错误检测率要求等多种因素来选择合适的回归测试策略,并对测试用例进行优先排序,可以有效地提高测试效率。  相似文献   

16.
基于可靠性增长模型的软件可靠性增长测试充分性准则   总被引:2,自引:0,他引:2  
结合软件可靠性增长模型,扩充了基于可信度度量的软件可靠性增长测试充分性问题度量准则,提出了关于可靠性增长测试充分性问题新的度量准则:可靠性测试只有同时满足可靠性增量指标要求、可信度要求和每单位测试资源发现的故障数要求方可终止。然后,以一个真实数据集为例,应用所提出度量准则求出了测试应该停止的时间。实验证明,这样的度量准则,使得终止条件更加严格,可靠性测试更加充分,为可靠性测试充分性问题的解决提供了新的思路。  相似文献   

17.
董燕  王小丽 《测控技术》2016,35(4):117-119
研究了星载嵌入式软件安全性测试问题.提出一种基于故障注入的安全性测试框架,通过构建全数字仿真测试环境,模拟目标系统输入异常故障及运行态异常故障,可以灵活地实现故障注入.根据软件实际运行结果与预期结果的一致性来评价软件检错、容错能力,进而完成对软件的安全性测试及验证过程.  相似文献   

18.
Selecting a Cost-Effective Test Case Prioritization Technique   总被引:1,自引:0,他引:1  
Regression testing is an expensive testing process used to validate modified software and detect whether new faults have been introduced into previously tested code. To reduce the cost of regression testing, software testers may prioritize their test cases so that those which are more important, by some measure, are run earlier in the regression testing process. One goal of prioritization is to increase a test suite's rate of fault detection. Previous empirical studies have shown that several prioritization techniques can significantly improve rate of fault detection, but these studies have also shown that the effectiveness of these techniques varies considerably across various attributes of the program, test suites, and modifications being considered. This variation makes it difficult for a practitioner to choose an appropriate prioritization technique for a given testing scenario. To address this problem, we analyze the fault detection rates that result from applying several different prioritization techniques to several programs and modified versions. The results of our analyses provide insights into which types of prioritization techniques are and are not appropriate under specific testing scenarios, and the conditions under which they are or are not appropriate. Our analysis approach can also be used by other researchers or practitioners to determine the prioritization techniques appropriate to other workloads.  相似文献   

19.
Adaptive testing is a new form of software testing that is based on the feedback and adaptive control principle and can be treated as the software testing counterpart of adaptive control. Our previous work has shown that adaptive testing can be formulated and guided in theory to minimize the variance of an unbiased software reliability estimator and to achieve optimal software reliability assessment. In this paper, we present an experimental study of adaptive testing for software reliability assessment, where the adaptive testing strategy, the random testing strategy and the operational profile based testing strategy were applied to the Space program in four experiments. The experimental results demonstrate that the adaptive testing strategy can really work in practice and may noticeably outperform the other two. Therefore, the adaptive testing strategy can serve as a preferable alternative to the random testing strategy and the operational profile based testing strategy if high confidence in the reliability estimates is required or the real-world operational profile of the software under test cannot be accurately identified.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号