首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 78 毫秒
1.
自动化单元测试是现代软件开发研究的热点。Randoop自动化单元测试用例生成工具针对Java和.NET代码,基于反馈指导随机生成测试用例,在业界应用广泛。为了有效使用Randoop进行自动化测试,采用经验软件工程的方法,通过实验分析Randoop的性能特点;实验选取4个有代表性的Java开源项目,分析Randoop生成测试用例的代码覆盖率和变异体检测能力,以及它们与时间成本和被测类源代码的代码结构之间的关系。实验发现,Randoop可以在短时间内生成有效的测试用例,生成测试用例的性能随时间增加而上升,并在测试用例生成时间为120 s时趋于稳定,其平均变异体覆盖率达55.59%,且平均变异体杀死率为28.15%。Randoop生成的测试用例的性能与被测类源代码的代码结构和复杂度存在一定的关系。该研究为软件测试人员有效使用Randoop工具提供了有价值的参考。  相似文献   

2.
从对单元测试内容和要求出发,明确了单元测试过程及形成的文档要求,并结合实际工作经验,梳理了单元测试的测试类型的要求,以及对不同重要度等级的软件单元测试覆盖率的要求.从支持的平台、对覆盖率要求的满足情况、实际使用过程3个方面对LDRA TestBed 9.4和C++Test 9.2两款单元测试工具进行了详细的比对分析,并以表格对比的形式,详细的描述了两款测试工具的比对分析结果和数据.  相似文献   

3.
自动生成多线程程序的单元测试用例是一种能节约测试成本的技术。为提高并发类单元测试用例生成效率,先依据死锁故障的特征分析出并发类中潜在的死锁代码,然后再针对这些代码自动生成测试用例。实验在7个常用Java类库中的并发类上进行验证。实验结果显示提出的方法(CTCG)不仅找到了现有死锁故障,而且当检测到死锁故障时,其所生成的测试用例数更少,其所花费的时间更少,提高了并发类单元测试用例自动生成的效率。  相似文献   

4.
李斌  陈榕 《福建电脑》2008,24(6):1-3
本文提出了在和欣项目中一种分析代码覆盖率的简单而经济的方法。和欣项目有多种测试手段用以保证软件质量,如单元测试已经积累了大量测试用例。但是如果不应用应用代码覆盖率分析,很难发现未测试到的被测对象和重复的测试用例。我们应用了基本块度量方法,并且移植和应用了GCOV和LCOV工具到和欣开发环境,建立了一种代码覆盖率分析方法。另外本文还演示了对一个简单单元测试的分析。基于这种覆盖率分析方法,可以开展进一步的流程改进工作,比如:灵巧的回归测试以及测试驱动开发等。  相似文献   

5.
王晓毅 《程序员》2006,(12):82-84
项目进行到集成测试阶段了.开发经理Jack收到邮件.得知明天公司高层要来亲自视察一下项目的开发近况。下午.各模块的开发人员进行完各自代码的最新修改并根据自动单元测试框架执行测试后.看到执行结果.然后分析了一下语句、分支等的测试覆盖率.根据情况扩展和增加了部分测试用例.将最新的代码和测试代码修改统一提交到CVS系统中。因为是弹性工作制.开发人员信心十足地早早离开了办公室。  相似文献   

6.
单元测试在软件开发过程中起着非常重要的作用。JUnit是一个用于Java单元测试的开放源代码的测试框架,本文通过具体案例,介绍应用JUnit进行自动化测试的方法。  相似文献   

7.
单元测试的自动化实践   总被引:2,自引:0,他引:2  
介绍了单元测试的概念以及自动化的方法,并结合C语言测试框架Check的具体应用进行了分析。  相似文献   

8.
刘升华  王成耀 《计算机工程与设计》2007,28(23):5588-5590,5612
软件测试的自动化技术是软件测试技术研究的重点问题,对于提高软件测试的客观性和效率有着非常重要的意义.实现了一个可以自动生成、执行测试用例的工具,该工具针对软件测试过程中的单元测试,以容易发生异常例外的条件语句为中心,对其进行覆盖检查,实现了单元测试的自动化.  相似文献   

9.
董彬 《程序员》2007,(10):108-110
对于Rails应用的自动化测试,本文介绍了如何使用矩阵测试来提高测试覆盖率,减少编写测试代码的工作量,文中使用的测试工具是RSpec,但是原理上Test::Unit同样适用。  相似文献   

10.
该文介绍了在软件测试课程的教学过程中,结合学生所学的Java的相关知识,用案例教学法来讲解面向对象单元测试这一教学内容,让学生既能理解理论知识又能掌握实践技能,提高学生的学习兴趣,培养学生的动手能力。  相似文献   

11.

Unit testing is widely used in software development. One important activity in unit testing is automatic test data generation. Constraint-based test data generation is a technique for automatic generation of test data, which uses symbolic execution to generate constraints. Unit testing only tests functions instead of the whole program, where individual functions typically have preconditions imposed on their inputs. Conventional symbolic execution cannot detect these preconditions, let alone converting these preconditions into constraints. To overcome these limitations, we propose a novel unit test data generation approach using rule-directed symbolic execution for dealing with functions with missing input preconditions. Rule-directed symbolic execution uses predefined rules to detect preconditions in the individual function, and generates constraints for inputs based on preconditions. We introduce implicit constraints to represent preconditions, and unify implicit constraints and program constraints into integrated constraints. Test data generated based on integrated constraints can explore previously unreachable code and help developers find more functional faults and logical faults. We have implemented our approach in a tool called CTS-IC, and applied it to real-world projects. The experimental results show that rule-directed symbolic execution can find preconditions (implicit constraints) automatically from an individual function. Moreover, the unit test data generated by our approach achieves higher coverage than similar tools and efficiently mitigates missing input preconditions problems in unit testing for individual functions.

  相似文献   

12.
覆盖率驱动的验证是功能验证的重要方法,但功能覆盖定义的主观性和手工调整验证输入的冗长过程都极大地影响了覆盖率驱动验证的效率.文中分析了代码行覆盖次数与功能覆盖率的内在联系,建立了基于代码行覆盖次数的概率模型,提出一种新的通过分析代码覆盖提高功能覆盖率的验证输入自动生成方法--FOCDGAG.通过代码行覆盖次数计算验证输入序列的适应度,选取对提高功能覆盖率贡献较高的输入序列,使用遗传算法自动生成新的输入序列组.实验结果表明,采用FOCDGAG时不需要功能覆盖信息,可以将全随机输入生成的功能覆盖率收敛速度提高10倍以上,将约束随机输入生成的功能覆盖率收敛速度提高20倍以上.  相似文献   

13.
提出一种基于基因表达式编程(GEP)算法、编译器技术、虚拟机技术的路径覆盖测试用例生成方法。该方法使用编译器技术获得程序的静态控制流路径集合,针对集合中的每一条静态控制流路径,使用GEP算法生成覆盖特定路径的测试用例,采用虚拟机完成结果计算,其中有效的结果即所需的测试用例。实验结果证明,该方法能高效、准确地得到覆盖特定控制流路径的测试用例。  相似文献   

14.
测试用例的自动生成是软件测试的一个重要方面,测试用例生成的复杂度与质量直接影响测试的效率和覆盖面,已有的针对软件功能测试的自动测试理论和方法在针对CAD和图像处理这类人机交互复杂、系统状态繁多的系统时,因复杂度大或者测试效率较低而难以在实际中应用.本文提出的一种针对复杂人机交互软件的测试模型一基于功能对象的测试用例生成模型,将用户使用被测试系统的操作流程看成是若干个处理过程的组合,采用面向对象的思想将用户的操作流程进行分解和封装,构建出用以生成测试流程的功能对象,并依照一定约束条件对功能对象的实例进行重组,派生出测试用例.本文提出的测试用例生成模型,已在三维数字化设计系统的专用测试平台CADTesting中成功实现,实践证明,该模型与现有的一些模型相比,实现复杂度低且测试用例的质量较高.  相似文献   

15.
提出一种能兼顾状态内部分杜的状态覆盖方法.在状态内部分枝树的终端结点处添加状态转换语句,将原先的单个转换分成多个转换分枝;从而实现对原先的状态转换进行扩展,使得用传统的状态测试方法就能够覆盖到状态内部的分枝.为了准确描述该过程,文中给出了分枝扩展的形式化方法.在此基础上,给出一个测试向量生成算法:遍历状态转换有向图;依状态间转换条件生成测试向量;依遍历顺序收集测试向量.通过对ITC99-benchmark中时序电路的试验表明,本文方法是有效的.  相似文献   

16.
针对遗传算法(genetic algorithm,GA)存在搜索初期收敛速度过快、易陷入局部最优解、未能充分结合搜索过程中的反馈信息,同时人工蜂群(artificial bee colony,ABC)算法存在初期寻优速度缓慢、局部搜索具有很大随机性等问题,对遗传算法和人工蜂群算法分别进行了改进,并将改进后的两种算法进行融合,实现两者的优势互补,提出了一种自适应遗传-蜂群(improved adaptive genetic-artificial bee colony, IAG-ABC)算法。采用路径覆盖信息设计引导算法搜索方向的适应度函数,并用IAG-ABC算法实现路径覆盖的测试用例生成,实验结果表明,相对于标准遗传算法和自适应遗传算法,IAG-ABC算法在测试用例生成效率和覆盖率上均有一定的优势。  相似文献   

17.
基于路径覆盖插桩的可执行代码测试工具实现   总被引:1,自引:0,他引:1       下载免费PDF全文
王轶  蒋同海  董军  周喜 《计算机工程》2012,38(5):35-37,40
为解决传统程序插桩技术存在代码膨胀和运行时间较长的问题,提出对可执行代码进行控制流路径覆盖消除冗余的插桩策略。依据该策略设计一种针对Java可执行代码的单元测试工具,完成程序执行路径跟踪和覆盖率分析。对测试工具进行功能验证和性能分析,结果表明,该策略能够有效减少插桩点数量,降低插桩对被测程序时间特性的影响。  相似文献   

18.
机器学习方法可很好地与软件测试相结合, 增强测试效果, 但少有学者将其运用于测试数据生成方面. 为进一步提高测试数据生成效率, 提出一种结合SVM (support vector machine)和XGBoost (extreme gradient boosting)的链式模型, 并基于此模型借助遗传算法实现多路径测试数据生成. 首先, 利用一定样本训练若干个用于预测路径节点状态的子模型(SVM和XGBoost), 通过子模型的预测精度值筛选最优子模型, 并根据路径节点顺序将其依次链接, 形成一个链式模型C-SVMXGBoost (chained SVM and XGBoost). 在利用遗传算法生成测试用例时, 使用训练好的链式模型代替插桩法获取测试数据覆盖路径(预测路径), 寻找预测路径与目标路径相似的路径集, 对存在相似路径集的预测路径进行插桩验证, 获取精确路径, 计算适应度值. 在交叉变异过程中引入样本集中路径层级深度较大的优秀测试用例进行重用, 生成覆盖目标路径的测试数据. 最后, 保留进化生成中产生的适应度较高的个体, 更新链式模型C-SVMXGBoost, 进一步提高测试效率. 实验表明, C-SVMXGBoost较其他各对比链式模型更适合解决路径预测问题, 可提高测试效率. 并且通过与已有经典方法相比, 所提方法在覆盖率上提高可达15%, 平均进化代数也有所降低, 在较大规模程序上其降低百分比可达65%.  相似文献   

19.
数据流覆盖可有效地检测软件中的缺陷与错误.针对该覆盖准则中存在的插装监测开销庞大和测试数据生成效率不高的问题,提出一种新的基于定值-引用对覆盖的测试数据进化生成方法.该方法主要分为两部分,首先,通过约减测试目标来减少插装开销,提出的包含关系算法可找到一个定值—引用对子集,使得覆盖该子集就能保证所有测试目标被覆盖;然后,采用遗传算法为所有测试目标生成测试数据,设计的适应度函数综合考虑个体实际执行的路径与每个测试目标的定义明确路径的匹配程度.将该方法用于8个基准程序的测试数据生成,并与其他方法比较,结果显示其可有效提高程序覆盖率和测试数据生成效率.  相似文献   

20.
图形用户界面(GUI)是底层代码的前端表示。针对基于现有的模型生成的测试用例集不能尽快找到软件缺陷的问题,本文从代码层和界面层出发对待测程序进行分析,提出一种GUI测试模型WEHG,该模型的特点是:1)根据事件处理函数中定义变量和引用变量的数量和给对应的节点设置权重值,从而保证拥有更多变量的节点能够优先生成测试用例;2)根据事件处理函数的定义引用对给节点之间的依赖关系设置依赖值,使依赖度高的节点能够优先加入测试序列中。对比实验结果表明,该方法能够更快地发现软件中的缺陷,提高测试用例的缺陷探测效率,降低软件测试的成本。  相似文献   

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

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