摘要:软件测试是软件开发中重要的一环,能有效地提高软件的可靠性和质量.而测试用例的重用可减少软件测试的工作量,提升测试的效率.提出一种面向关键字流图的相似程序间测试用例的重用方法,该方法将程序已经生成的测试数据重用到与之相似的程序中.可见,探究测试用例重用的前期工作是判定程序的相似性.对于程序相似性的判定,给出根据关键字流图相似性比较的方法:首先,将程序代码中的关键字存储在流图所对应的节点中,构建关键字流图;接下来,利用动态规划算法查找待测程序关键字流图的最大公共子图;最后,根据最大公共子图距离算法计算程序的相似度.较高相似程度的程序可用到测试用例重用的方法中.在利用遗传算法生成测试用例时,引用相似程序中适应度较高的测试用例,使种群在进行进化操作过程中不断与这些用例进行交叉,加快用例的生成效率.实验表明:将测试用例重用在相似程序的测试生成中,与传统方法相比,在覆盖率和平均进化代数等方面均有明显优势.
Abstract:Software testing is an important part of software development, which can effectively improve software reliability and its quality. The reuse of test cases can improve the efficiency of testing and reduce the workload of software testing. Therefore, an approach to test case reuse between similar programs based on keyword flow graph is proposed. The method reuses test data generated by programs to their similar programs. Thus, the first step in exploring reuse of test cases is to determine similarities between programs. To determine the similarity of programs, a comparison method of similarity based on keyword flow graph is given. Firstly, the keywords in the program code are stored in the nodes corresponding to the flow graph to construct the keyword flow graph. Then, the maximum common sub-graph of keyword flow graph of the maximum programs tested is searched by using dynamic programming algorithm. Finally, the similarity of the programs is computed according to the common sub-graph distance algorithm. Programs with a high similarity can be used with test case reuse methods. In utilizing genetic algorithm to generate test cases, the test cases with high fitness of similar programs are selected. To speed up the efficiency of test case generation, the population intersects with these test cases continuously in the process of evolution. Experiments show that the reuse of test cases in test generation of similar programs has obvious advantages over traditional methods in terms of coverage and average evolution times.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/5984
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
面向关键字流图的相似程序间测试用例的重用
本站小编 Free考研考试/2022-01-02
相关话题/测试 程序 软件 公共 计算
基于程序层次树的日志打印位置决策方法
摘要:基于日志分析的故障诊断是智能运维的关键技术之一,然而该技术存在关键瓶颈——日志的质量.当今,由于程序开发人员缺乏日志打印规范和指导等问题,日志质量欠佳,因此实现日志的自动化打印决策以提升日志质量的需求日益迫切.关注自动化日志打印决策问题,与现有研究工作不同,提出一种基于程序层次树和逆序组合的特 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于日志挖掘的微服务测试集缩减技术
摘要:微服务系统每轮迭代过程中都需要进行回归测试,大量重复测试会造成资源浪费,可通过减少测试用例集的规模来降低成本,以提高测试效率.现有测试用例集缩减技术主要依赖系统规约和架构描述作为输入,对于具有服务自治、调用关系不确定等特点的微服务系统实用性受限.并且,现有测试用例集缩减技术很少考虑使用场景,测 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02抗量子计算的多变量盲签名方案
摘要:盲签名是一种特殊的数字签名,可广泛应用于各种匿名场合.目前,大多数盲签名的安全性主要基于大整数分解问题或离散对数问题的难解性.然而,实用量子计算机的即将诞生会使得传统的盲签名不再安全,而且量子算法的出现对传统的盲签名亦提出了挑战.因此,构造能够防御量子计算攻击的盲签名方案具有重要的意义.多变量 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02国产复杂异构高性能数值软件的研制与测试专题前言
摘要:中国科学院首个C类战略性先导科技专项XDC01000000主要目标已经达到.在数值软件层面,该先导专项第1阶段的主要任务是在复杂异构先进计算系统上研制高水平的基准测试软件HPL(highperformanceLinpack)和HPCG(highperformanceconjugategradi ...中科院软件研究所 本站小编 Free考研考试 2022-01-02复杂异构计算系统HPL的优化
摘要:当今世界的主流超级计算机越来越多地使用带有加速器的异构系统.随着加速器的浮点性能不断提高,超级计算机内计算节点的CPU、内存、总线、网络以及系统架构都要与之相适应.HPL(highperformanceLinpack)是高性能计算机评测的传统基准测试程序,复杂异构系统给HPL评测带来很多机遇与 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向异构计算机平台的HPL方案
摘要:HPL(highperformanceLinpack)是一套被广泛用于测评计算机性能的测试程序,几十年来学术界及产业界十分关注对HPL测试程序的定制化优化工作,以充分反应同时代新兴计算机平台的性能.面向当今主流多设备异构计算平台,尝试为HPL的优化工作提供一种解决方案:Hetero-HPL.在 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向异构计算的高性能计算算法与软件
摘要:研发适应国产异构计算环境的高性能计算算法与软件是非常重要的课题,对我国高性能计算软件研发匹配高性能计算硬件高水平发展的速度具有重要意义.首先,简要介绍高性能计算应用软件的现状、趋势和面临挑战,并对几类典型高性能计算应用软件开展并行计算算法特征分析,涵盖了宇宙N体模拟、地球系统模式、计算材料相场 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向非确定性的软件质量保障方法与技术专题前言
摘要:随着互联网、物联网、云计算等新计算平台、新应用模式、及智能化等新软件模式的广泛运用,软件系统内外各种来源的非确定性不断增强.从软件系统内部的不确定性看,并发程序是一类典型的非确定性软件系统.并发程序由于其随机性高的特点,容易导致并发缺陷且难以调试.从软件系统外部的不确定性看,软件所处的网络环境 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02复杂软件系统的不确定性
摘要:复杂软件系统(如信息物理系统CPS、物联网IoT以及自适应软件系统等)在其开发和运行过程中会遇到各种类型的不确定性问题.针对这些不确定性问题,研究人员开展了大量的研究工作,提出了一系列的方法,取得了诸多成果.然而,由于此类系统本身固有的复杂性和其内在与外在不确定性的共同作用,截止目前研究人员针 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02高精度的大规模程序数据竞争检测方法
摘要:随着技术的不断发展,软件系统的非确定性(uncertainty)不断增强,数据竞争是并发系统这一类典型的非确定性软件系统中常见的缺陷.尽管数据竞争静态检测近年来取得了巨大进展,但其面临的重要问题仍然存在.先前的静态技术要么以分析精度为代价达到高扩展性,要么由于高精度分析而导致可扩展性问题.提出 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02