首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 109 毫秒
1.
在软件测试过程中,待测程序的预期输出是判断软件是否存在缺陷的重要因素.蜕变测试技术是利用被测软件的属性来检查程序输出,从而有效地解决程序预期输出难以构造的问题.近年来,蜕变测试在软件测试领域取得了蓬勃的发展,许多研究人员将蜕变测试技术进行优化,将其运用到各个领域,有效提高了软件质量.从原理、过程及其优化,应用领域3个方面,总结蜕变测试的研究工作,着重分析了近5年的研究进展,进一步展望了蜕变测试用于并行程序时,可能的研究主题.首先,介绍蜕变测试的基本概念和蜕变测试过程;接着,从蜕变关系、测试用例、测试执行过程以及蜕变测试工具4个角度,总结蜕变测试优化技术;然后,汇总了蜕变测试的应用领域;最后,基于已有研究成果,讨论蜕变测试在并行程序测试领域面临的问题,为蜕变技术在并行程序测试领域的研究提供可能的思路.  相似文献   

2.
关于蜕变测试和特殊用例测试的实例研究   总被引:5,自引:0,他引:5  
提出了基于蜕变测试方法的集成测试环境MTest,进而为检验蜕变测试方法的能力和效率,以稀疏矩阵乘法程序为例设计了一组实验.该实验基于变异分析技术,分别以mutation score和错误发现率为度量指标,定量地分析和对比了特殊用例测试,以特殊测试用例和随机测试用例为源测试用例的蜕变测试这3种方法的测试能力和效率.该实验可在MTest测试环境下自动完成.实验结果表明,蜕变测试与特殊用例测试之间是互补的,而且就蜕变测试的源测试用例而言,随机测试用例在测试能力和效率上优于特殊测试用例.  相似文献   

3.
针对传统的蜕变测试模型MTM存在的局限性,提出了一种基于蜕变关系的测试模型MRTM。首先通过对比分析,指出了MRTM的适用范围等特点;其次,针对MTM和MRTM都面临的失效测试用例难以确定的难题,提出了一种基于可疑度计算的蜕变测试失效测试用例定位方法FTCL-MT。FTCL-MT作为对已有测试模型的补充,能够在蜕变关系不满足的情况下实现精确定位失效测试用例,从而能够为现有的故障定位技术提供支持。最后,通过实验验证了FTCL-MT方法的有效性。  相似文献   

4.
软件测试是一种重要的、不可缺少的软件质量保证技术,用于发现和纠正软件中存在的缺陷和错误,但在很多情况下待测程序的预期输出难以确定。蜕变测试技术通过检查程序的多个执行结果之间的关系来测试程序,可以有效地解决上述问题。经过近十年的研究,蜕变测试技术已经在测试过程的优化、与其他验证或测试方法的结合等方面取得了巨大的进展,并被广泛地应用于各个领域中。对当前蜕变测试技术的研究进行了综述,针对已有方法的不足之处,对未来的研究方向进行了展望,包括蜕变测试充分性研究、实用蜕变关系构造技术、实用原始测试用例选取技术、新型软件中蜕变测试技术的研究、蜕变测试工具的开发等。  相似文献   

5.
蜕变测试技术综述   总被引:4,自引:0,他引:4  
软件测试是一种重要的、不可缺少的软件质量保证技术,用于发现和纠正软件中存在的缺陷和错误,但在很多情况下待测程序的预期输出难以确定。蜕变测试技术通过检查程序的多个执行结果之间的关系来测试程序,可以有效地解决上述问题。经过近十年的研究,蜕变测试技术已经在测试过程的优化、与其他验证或测试方法的结合等方面取得了巨大的进展,并被广泛地应用于各个领域中。对当前蜕变测试技术的研究进行了综述,针对已有方法的不足之处,对未来的研究方向进行了展望,包括蜕变测试充分性研究、实用蜕变关系构造技术、实用原始测试用例选取技术、新型软件中蜕变测试技术的研究、蜕变测试工具的开发等。  相似文献   

6.
模型驱动架构中模型转换结果正确与否常常难以判断(即测试Oracle问题),而蜕变测试通过验证多个执行结果之间是否满足蜕变关系可以部分地解决测试Oracle问题。为有效地解决模型转换测试中的Oracle问题,以UML到Java模型转换程序为例,应用蜕变测试,依据转换规则,从增加、删除、修改、替换4个方面设计并构造出一组蜕变关系。最后对待测程序植入在实际测试中常见的两种错误,设计并执行测试用例后验证蜕变关系,发现违反了蜕变关系,暴露出程序缺陷,从而说明了蜕变测试的有效性。  相似文献   

7.
王榕  贲可荣 《计算机科学》2012,39(1):115-119
蜕变测试可以部分解决软件测试中的Oracle问题,其关键步骤和难点是蜕变关系的构造,它将直接影响测试的效果。通过对典型程序测试的案例对蜕变关系的构造进行分析,归纳总结了若干构造蜕变关系的基本准则,并在案例研究中采用变异分析方法验证了构造准则的合理性。提出了蜕变测试与等价类测试结合运用的测试方法,此方法可用于输入空间易于分类的程序。  相似文献   

8.
最小测试用例集生成方法改进及应用   总被引:4,自引:2,他引:2  
软件测试是保证软件质量和可靠性的重要手段,如何对软件进行全面且高效的测试一直是备受关注的问题.分析了白盒测试与黑盒测试的优缺点;具体分析了最小测试用例生成算法,接着对生成最小测试用例集的方法提出改进:首先消除掉测试需求中存在的冗余,再对由该测试需求生成的测试用例集使用简化算法,得到一组无冗余的测试用例集.这种先对测试需求进行精简的方法,使得测试用例集中测试用例的数量大为减少,提高了简化算法的使用效率.将上述最小测试用例集生成方法运用到Apla到delphi生成器系统的测试中,提高了测试效率.  相似文献   

9.
传统的测试用例集约简技术大多采用由测试需求集直接生成测试用例集的方法.该方法虽然能够约简测试用例集,但出现测试需求冗余,约简后的测试用例集不够精准等问题.针对这些问题,提出了一种基于六元结构表的程序切片方法.利用程序切片精简测试代码,省去构造程序依赖图的复杂步骤;根据代码间的相互关系和模块间的耦合度,利用启发式算法约简测试需求;在约简后的测试需求上,精简测试用例集.将该方法应用到当前主流的Android平台上比较约简前后G,GRE的用例集.实验结果表明:约简后的测试需求集能够在获得较少的测试用例集的前提下保证较高的覆盖率.  相似文献   

10.
针对测试用例约简问题,定义了一种不会改变测试需求与测试用例覆盖关系的布尔运算。应用此运算,辅以不同的测试需求、用例集优先策略,经矩阵的列变换得到精简的测试需求集,然后使用行变换对测试用例集进行约简。该方法不受测试用例输入顺序的影响。实验表明,与一些常用的约简算法相比,提出的算法在有序树生成程序测试用例约简的几个实例上都能得到较优的用例集。  相似文献   

11.
坡度、坡向量算是地理信息系统的主要功能之一。然而,由于截断误差、舍入误差以及误差传播的影响,导致测试判定难以获取。基于此,提出将蜕变测试应用于坡度、坡向量算程序的测试中,通过分析坡度、坡向量算程序功能的几何属性、数值计算特性以及具体实现算法等提出蜕变关系,并通过分析蜕变关系的适用范围,形成坡度坡向量算程序蜕变测试方法。最后,通过实例研究,验证了提出的蜕变关系在消除不同类型变异方面的有效性。实验结果表明,该方法可有效解决坡度、坡向量算程序的测试判定问题,同时也为解决地理信息系统中其他空间度量程序的测试判定问题提供了借鉴,进一步拓展了蜕变测试技术的应用范围。  相似文献   

12.
Comprehensive, automated software testing requires an oracle to check whether the output produced by a test case matches the expected behaviour of the programme. But the challenges in creating suitable oracles limit the ability to perform automated testing in some programmes, and especially in scientific software. Metamorphic testing is a method for automating the testing process for programmes without test oracles. This technique operates by checking whether the programme behaves according to properties called metamorphic relations. A metamorphic relation describes the change in output when the input is changed in a prescribed way. Unfortunately, finding the metamorphic relations satisfied by a programme or function remains a labour‐intensive task, which is generally performed by a domain expert or a programmer. In this work, we propose a machine learning approach for predicting metamorphic relations that uses a graph‐based representation of a programme to represent control flow and data dependency information. In earlier work, we found that simple features derived from such graphs provide good performance. An analysis of the features used in this earlier work led us to explore the effectiveness of several representations of those graphs using the machine learning framework of graph kernels, which provide various ways of measuring similarity between graphs. Our results show that a graph kernel that evaluates the contribution of all paths in the graph has the best accuracy and that control flow information is more useful than data dependency information. The data used in this study are available for download at http://www.cs.colostate.edu/saxs/MRpred/functions.tar.gz to help researchers in further development of metamorphic relation prediction methods. Copyright © 2015 John Wiley & Sons, Ltd.  相似文献   

13.
In recent years, a variety of encryption algorithms were proposed to enhance the security of software and systems. Validating whether encryption algorithms are correctly implemented is a challenging issue. Software testing delivers an effective and practical solution, but it also faces the oracle problem (that is, under many practical situations, it is impossible or too computationally expensive to know whether the output for any given input is correct). In this paper, we propose a property-based approach to testing encryption programs in the absence of oracles. Our approach makes use of the so-called metamorphic properties of encryption algorithms to generate test cases and verify test results. Two case studies were conducted to illustrate the proposed approach and validate its effectiveness. Experimental results show that even without oracles, the proposed approach can detect nearly 50% inserted faults with at most three metamorphic relations (MRs) and fifty test cases.  相似文献   

14.
Model-based testing techniques often select test cases according to test goals such as coverage criteria or mutation adequacy. Complex criteria and large models lead to large test suites, and a test case created for one coverage item usually covers several other items as well. This can be problematic if testing is expensive and resources are limited. Therefore, test case generation can be optimized in order to avoid unnecessary test cases and minimize the test generation and execution costs. Because of this optimization the order in which test goals are selected is expected to have an impact on both the performance of the test case generation and the size of resulting test suites, although finding the optimal order is not feasible in general. In this paper we report on experiments to determine the effects of the order in which test goals are selected on performance and the size of resulting test suites, and evaluate different heuristics to select test goals such that the time required to generate test suites as well as their size are minimized. The test case generation approach used for experimentation uses model checkers, and experimentation shows that good results can be achieved with any random ordering, but some improvement is still possible with simple heuristics.  相似文献   

15.
图像识别是图像处理的重点研究领域,在测试结果难以判定以及数据集样本类别不平衡的影响下,适用于图像识别系统健壮性以及稳定性的测试技术较为欠缺。为有效测试图像识别系统,本文提出将蜕变测试方法用于图像识别系统的测试过程中,依据生成式对抗网络来生成贴近现实的衍生数据以构建适用于图像识别系统的蜕变关系,引入衍生图像质量验证方法与测试结果自动判断方法以构建面向图像识别系统的蜕变测试框架流程。最后,通过车辆识别案例研究验证本文方法的可行性与有效性。实验结果表明,本文方法能检测出图像识别系统在不同场景中的不一致行为,能有效地评估系统健壮性。  相似文献   

16.
机器学习在计算机视觉、语音识别和自然语言处理等实际应用中已经取得了显著的成功。图像分类作为计算机视觉的一个主要分支。不久的将来,许多的图像分类程序会以机器学习的方式呈现。然而,由于机器学习图像分类程序的测试面临着测试预言难题,这使得在测试的过程中将需要大量的人力及物力。为了缓解测试预言难题,使用了蜕变测试技术。为了规范测试流程、提高测试效率,提出了一种适用于机器学习图像分类程序的蜕变测试框架。并且通过测试基于SVM和VGGNet图像分类程序,验证了该测试框架的合理性和有效性。  相似文献   

17.
Test case selection in model‐based testing is discussed focusing on the use of a similarity function. Automatically generated test suites usually have redundant test cases. The reason is that test generation algorithms are usually based on structural coverage criteria that are applied exhaustively. These criteria may not be helpful to detect redundant test cases as well as the suites are usually impractical due to the huge number of test cases that can be generated. Both problems are addressed by applying a similarity function. The idea is to keep in the suite the less similar test cases according to a goal that is defined in terms of the intended size of the test suite. The strategy presented is compared with random selection by considering transition‐based and fault‐based coverage. The results show that, in most of the cases, similarity‐based selection can be more effective than random selection when applied to automatically generated test suites. Copyright © 2009 John Wiley & Sons, Ltd.  相似文献   

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

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