共查询到20条相似文献,搜索用时 171 毫秒
1.
为提高中大型嵌入式软件回归测试的效率,克服因程序微小变动而导致对整个嵌入式软件系统重新测试的弊端,提出一种函数切片算法FunctionSlice。给出代码影响域的概念,采用函数切片思想对待回归测试用例集进行约简,选取和源代码变化相关的测试用例进行回归测试。实验结果表明,该算法能约简嵌入式软件中的待回归测试用例集,提高回归测试效率,且适用于较复杂的嵌入式系统回归测试过程。 相似文献
2.
为节省回归测试的时间和资源,提出了一种基于回归测试的软件测试方法(Hierarchy-PS-TCP)。该方法首先按照分层程序切片技术搜索程序的不同版本,利用UML类图及顺序图,从而定位不同版本程序间的差别。仅对差别部分生成测试用例集,节省大量开支。再利用优先级技术按照测试用例优先级公式对测试用例划分优先级,根据优先级高低进行排序,按照次序进行回归测试。从而提高了回归测试的效率,有效地缩减了回归测试用例集,同时降低了回归测试的成本。 相似文献
3.
为节省回归测试的时间和资源,提出了一种基于回归测试的软件测试方法(Hierarchy-PS-TCP)。该方法首先按照分层程序切片技术搜索程序的不同版本,利用UML类图及顺序图,从而定位不同版本程序间的差别。仅对差别部分生成测试用例集,节省大量开支。再利用优先级技术按照测试用例优先级公式对测试用例划分优先级,根据优先级高低进行排序,按照次序进行回归测试。从而提高了回归测试的效率,有效地缩减了回归测试用例集,同时降低了回归测试的成本。 相似文献
4.
针对基于UML设计的面向对象软件在修改后进行回归测试的情况,提出一种回归测试用例生成的新方法。获取软件修改后进行回归测试时必须重新测试的类和方法,分析与需要重测试类有关的UML顺序图,对顺序图中每个包含不等关系的条件断言生成与其有关的动态程序切片,根据该动态程序切片生成与其相应的回归测试用例。 相似文献
5.
为了全面测试演化软件,回归测试通常需要生成新的测试用例。concolic测试是一种沿着具体执行路径进行符号执行的软件验证技术,通过生成测试数据来执行程序的所有可行路径。回归测试中,由于concolic测试关注于程序本身,没有利用已有测试用例和软件演化信息,导致生成大量无效测试数据,浪费资源和时间。为解决此问题,提出一种基于路径引导的回归测试用例集扩增方法。该方法将目标路径作为引导,根据软件演化信息选择有利于覆盖目标路径的测试用例,利用已有测试用例跳过重叠初始子路径,对后续目标子路径进行concolic测试并生成覆盖目标路径的测试数据。案例分析表明,本文方法相比传统concolic测试,本方法在覆盖程序可行路径的同时,可有效减少concolic测试路径,提高测试数据生成效率。 相似文献
6.
基于扩展有限状态机(EFSM)的回归测试过程需要根据依赖关系变化对软件所做修改的影响域进行分析。为了针对软件某一功能进行修复,通常需要对多处代码进行同步修改,已有依赖分析方法在这种情况下暴露模型中触发条件和行为语句错误的效率不高。提出以ALL-Uses覆盖准则引导回归测试的方法,引入依赖关系变化因素的概念,修改待覆盖子路径的产生规则,对已有测试用例集中能有效覆盖子路径的用例进行选择、排序。针对已有测试用例无法覆盖的子路径,利用AOE活动图中求关键路径的方法将其补充为一条完整的迁移执行序列。选取三个软件进行实验,结果表明,本文方法可以在减小测试用例集规模的前提下有效提升ALL-Uses和植入错误的覆盖率,提高回归测试效率。 相似文献
7.
基于程序行为特征的错误定位方法由于只孤立地看待每个程序实体,使其错误定位的效率受到影响,而回归测试错误定位又由于需要执行全部测试用例将大大增加开发和测试成本。针对以上问题,提出一种基于影响分析的回归测试优先级错误定位方法,该方法将联合依赖图、基于程序行为特征的错误定位方法和回归测试优先级进行有机结合。实验结果表明,与Ochiai,Tarantula,PPDG,CP和Naish等经典方法相比,该方法可更加有效地定位软件错误。 相似文献
8.
本文通过分析基于GUI的面向对象软件系统中界面元素和类方法之间的依赖关系,应用程序切片技术,给出系统回归测试的方案.在系统修改后,通过系统中对象之间的依赖性界定修改波及的影响,再根据切片技术计算出相应的程序切片,进一步设计或选择有效的测试用例进行测试. 相似文献
9.
近年来,随着敏捷方法的广泛应用,回归测试取得了显著的发展。针对敏捷开发环境下,软件版本交付频繁以及测试用例数目不断增多的问题,回归测试优化技术得到了广泛的关注。本文研究敏捷回归测试中关键技术的发展现状,包括回归测试用例选择与回归测试用例优化技术,以提高敏捷回归测试的效率,为回归测试优化技术的发展奠定基础。 相似文献
10.
针对在回归测试过程中,因为不断修复软件中存在的缺陷所造成的测试工作量大、测试效率低等问题,论文将测试用例选择与优先级排序技术相结合,以面向函数调用的路径覆盖生成方法为基础,提出了一种面向函数调用路径(Functions Calling Path, FCP)的测试用例选择与排序方法。首先根据函数调用关系图,对程序中被修改函数与其他函数的关联性进行分析,从初始测试用例集中选择测试用例,形成回归测试用例集;然后对这些测试用例进行优先级排序,并动态地调整优先级排序结果;最后,对优先级排序结果进行再次选择,确定最小的回归测试用例集。实验结果表明,测试用例选择与排序方法对优化回归测试用例是有效的,大大减少了回归测试用例数量,降低了回归测试成本。 相似文献
11.
回归测试是一个昂贵的测试过程,它验证修改的软件,确认是否给已经测试的代码引进了新的错误.因为在软件开发的过程中,测试人员给测试包中增加了新的测试用例,使软件确认更加困难.为了使回归测试更经济划算,提出了很多技术和方法.测试用例选择,测试包缩减,测试用例排序可以帮助我们减少需要运行的测试用例数目,同时能够更快地满足测试目标.测试用例排序是在满足某个性能目标的基础上,保证在测试过程中首先执行更重要的功能.以前的研究提出了一个性能目标:缺陷发现率(APFD),以及很多改善缺陷发现率的技术.但是这些技术运用起来非常昂贵,而且可能不会减少回归测试的成本.在以往研究的基础上,提出了一个成本-收益模型,为比较各种排序算法提供了一定依据.并在此基础上,提供了一个测试用例排序算法. 相似文献
12.
回归测试就是验证对程序的修改是否迭到了预期的目的,同时检查修改是否损害了程序原有的正常功能。随着程序新版本的不断推出,测试用例集不断扩大,回归测试成本越来越高。测试用例最小化就是从已有的用例集中,找到一个测试运行代价最小的用例子集用于回归测试,并保持原来的测试覆盖率。本文主要研究用遗传算法解决测试用例最小化问题:基于测试历史数据,设计基因编码并构建初始种群;利用测试覆盖率和测试运行代价设计适应度函数;通过遗传算子完成进化过程并找到最优或近似最优解。最后本文给出了对算法进行实例研究的结果。结果表明,本文提出的用例最小化技术能有效缩减回归测试用例集,大幅度降低回归测试费用。 相似文献
13.
测试是软件质量的直接保障,然而人工书写测试代码不但繁琐而且会带来很多问题,自动化的测试方法的研究仍然停留在理论阶段.基于(SPEC# NUnit)平台,提出了一种切实可行的面向对象软件的自动化测试方法.这种方法使用形式化谓词断言来作为标准判断测试成功与否,搜索测试用例空间,同时可以模拟对象中间状态,自动生成复杂数据的测试用例.这一平台的建立也使得测试应绝对反映设计,由设计来直接指导测试的思想成为可能. 相似文献
14.
Regression testing is an important but expensive software maintenance activity performed with the aim of providing confidence in modified software. Regression test selection techniques reduce the cost of regression testing by selecting test cases for a modified program from a previously existing test suite. Many researchers have addressed the regression test selection problem for procedural language software, but few have addressed the problem for object‐oriented software. This paper presents a regression test selection technique for use with object‐oriented software. The technique constructs graph representations for software, and uses these graphs to select test cases, from the original test suite, that execute code that has been changed for the new version of the software. The technique is strictly code based, and requires no assumptions about the approach used to specify or test the software initially. The technique applies to modified and derived classes, and to application programs that use modified classes. Copyright © 2000 John Wiley & Sons, Ltd. 相似文献
15.
In software maintenance, after modifying the software a system needs regression testing. Execution of regression testing confirms that any modified code has no adverse effect as well as does not introduce new faults in the existing functionality of the software. When working with object-oriented programming code-based testing is generally expensive. In this study, we proposed a technique for regression testing using unified modeling language (UML) diagrams and code-based analysis for object-oriented software. In this research work, the design and code based technique with an evolutionary approach are presented to select the best possible test cases from the test suite. We used the dependency graph for intermediate representation for the objectoriented program to identify the change. The selection of test cases is done at the design level using the UML model. The models are compared to identify the change between these two models. The proposed approached maximizes the value of APFD. 相似文献
16.
Software testing and retesting occurs continuously during the software development lifecycle to detect errors as early as possible and to gain confidence that changes to software do not introduce defects. Once developed, test suites are reused and updated frequently, and their sizes grow as software evolves. Due to time and resource constraints, an important goal during regression testing of software is to prioritize the execution of test cases in a suite so as to improve the chances of increasing the rate of fault detection. Prior techniques for test case prioritization are based on the total number of coverage requirements exercised by the test cases. In this paper, we present a new approach to prioritize test cases that takes into account the coverage requirements present in the relevant slices of the outputs of test cases. We have implemented three different heuristics based on our relevant slicing based approach to prioritize test cases and conducted experiments to compare the effectiveness of our techniques with those of the traditional techniques that only account for the total requirement coverage. Our detailed experimental study and results provide interesting insights into the effectiveness of using relevant slices for test case prioritization in terms of ability to achieve high rate of fault detection. 相似文献
17.
Test case prioritization techniques schedule test cases for execution in an order that attempts to increase their effectiveness at meeting some performance goal. Various goals are possible; one involves rate of fault detection, a measure of how quickly faults are detected within the testing process. An improved rate of fault detection during testing can provide faster feedback on the system under test and let software engineers begin correcting faults earlier than might otherwise be possible. One application of prioritization techniques involves regression testing, the retesting of software following modifications; in this context, prioritization techniques can take advantage of information gathered about the previous execution of test cases to obtain test case orderings. We describe several techniques for using test execution information to prioritize test cases for regression testing, including: 1) techniques that order test cases based on their total coverage of code components; 2) techniques that order test cases based on their coverage of code components not previously covered; and 3) techniques that order test cases based on their estimated ability to reveal faults in the code components that they cover. We report the results of several experiments in which we applied these techniques to various test suites for various programs and measured the rates of fault detection achieved by the prioritized test suites, comparing those rates to the rates achieved by untreated, randomly ordered, and optimally ordered suites 相似文献
18.
利用设计模型信息,提高测试自动化程度是测试领域的重要课题。UML顺序图是广泛使用的场景规约语言。本文研究了面向场案规约的运行时测试方法,并应用该方法实现了一个基于UML顺序图场景规约的测试工具SDT;它从Ration Rose的规约文件中提取顺序图信息,生成表示预期行为属性的事件有向无环图,对代码进行插装,并利用随机测试用例执行代码,最后将反向工程得到的运行时轨迹与有向无环图进行比较,对实现和设计的一致性进行自动化验证。 相似文献
19.
持续集成环境下,软件快速更新加快了回归测试执行的频率,但缺陷快速反馈的需求对回归测试又提出了更高要求。测试用例优先排序技术研究测试用例的重要性,通常将缺陷探测能力强的测试用例优先执行,使其提早发现软件缺陷,其可解决持续集成环境下的快速反馈需求。缺陷预测技术可通过被测系统代码特征和历史缺陷来预估信息预测软件在新版本中发现缺陷的可能性,传统基于聚类的测试用例优先排序方法大多未考虑不同类簇数和特征子集对聚类结果的影响。文中将缺陷预测应用到聚类优先排序方法,构建测试用例和代码关联矩阵,对测试用例进行聚类分析,结合缺陷预测结果和最大最小距离策略指导簇间和簇内排序。通过实验验证发现,类簇数和聚类特征子集选择对排序效果有一定影响,当未能获取最佳类簇数和特征子集时,相比单一的聚类优先排序方法,所提方法可更有效地提高回归测试效率。 相似文献
20.
软件测试在目前的软件开发过程中的地位日益重要。特别是目前的软件功能愈来愈多,必须保证各功能组合之间不产生冲突。如果以无条件地测试所有功能组合,则测试项目数会呈指数级增长而使得实际测试不可能。为了抑制这种组合的发散,利用正交表来设计测试是一种有效的方法。本文阐述了一种基于正交表的功能组合测试设计方法和应用,并开发了相应的测试用例生成工具,基于正交表原理,对测试对象程序的各功能项进行组合,确保用较少的测试用例达到较大的测试覆盖率。实验表明,与传统手工测试用例设计方法相比,利用该方法生成的测试用例覆盖率提高2倍,Bug发现率增加3倍,测试用例设计工时压缩为1/6。 相似文献
|