TBrun在单元测试中的应用
基于Ldra Tbrun的单元测试

误,避免测试过度和测试不足 定义回归测试策略,回归测试会面临修可能修复一个问题时引入另外的错误、需求的变
更、新需求增加等,需要补充测试用例,并能快速的将所有的测试用例回归一遍。 确定单元测试的执行环境,尽可能的在主机环境上进行,除非少数情况,特别具体指定
7 单元测试实施
单元测试是高收益难实施的过程改进,尝试的企业很多,成功实施的企业很少,失败的 原因很多是因为困难太多、成本太重、效率低、效果差等。
单元测试的实施的成败受几个因素影响:是否制定切实可行的目标、是否选择合适的测 试工具、是否有好的测试设计、是否有好的测试效果评估机制和完善的组织管理。
本文介绍运用 ldra tbrun 单元工具、由测试人员实施单元测试的整个实施流程。
如果开发流程非常规范且条件允许,最好在编写代码之前设计测试用例,以后再逐步完 善这样的设计效果会更好。
如果看代码进行测试设计,会导致测试设计倾向于按照代码的逻辑,而不是设计应该做 什么。
测试设计的输入是被测单元的设计文档,在某些情况下,需要将试验实际代码作为测试 设计过程的输入,测试设计者必须意识到不是在测试代码本身,从代码构建出来的测试 说明只能证明代码执行代码完成的工作,而不是代码应该完成的工作。
用于评估测试结果和测试是否完成的评测和标准、对测试策略所述的测试工作存在影响的特 殊事项等内容。
测试测试包含以下内容: 单元测试主要采用白盒测试方法,辅以黑盒测试方法。 采取测试设计优先,避免没有用例进行的随机测试 根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级和测试重点;将有
Testbed中文简介

LDRA公司是专业性软件测试工具与测试技术、咨询服务提供者,成立于1975 年,具有丰富的软件测试经验,其总部位于英国利物浦,中国设有总代理上海创景计算机系统有限公司。
其旗舰产品Testbed/TBrun 功能强大、功能全面、易于使用,不仅适合于主机平台软件测试,同时适合于嵌入式软件测试,已成功地应用于国内各大研究机构、软件测试部门。
LDRA Testbed/TBrun 软件测试产品功能介绍一、静态分析功能1、编程标准编程标准验证是高可靠性软件开发不可缺少的软件质量保证方法,使用LDRA Testbed 自动地验证应用软件是否遵循了所选择的编程规则。
编程规则由软件项目管理者根据自身项目的特点并参考现有的成熟的软件编程标准制定,如DERA(欧洲防务标准),MISRA(汽车软件标准),LDRA Testbed 依据此规则搜索应用程序,并判断代码是否违反所制定的编程规则。
LDRA Testbed 报告所有违反编程规则的代码并以文本方式或图形反标注的方式显示。
测试人员或编程人员可根据显示的信息对违反编程规则的代码进行修改。
2、软件度量分析、质量标准验证对于软件开发工程师、项目负责人及高级管理者来说,软件质量的管理与监控是非常困难的且费时。
LDRA Testbed 很好地解决了这一问题,使得管理者很容易地收集正在开发的软件系统的相关信息并判断软件是否满足软件质量标准要求,从而达到对软件项目的质量跟踪与控制,用户可基于现行软件标准自行定义适合本系统或项目的软件质量模型。
LDRA Testbed 支持下列主要软件度量元分析:* 控制流结点度量(Control Flow Knots) ;* LCSAJ 密度度量(LCSAJ Density) ;* 扇入/ 扇出度量;* 循环深度度量;* McCabe 圈复杂度;* Halstead 软件科学度量;* McCabe Essential 复杂度;* 注释行度量;* 代码可达性度量;3、静态数据流分析LDRA Testbed 分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTMI或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,此种方法既可使用于单元级,亦可使用于集成级、系统级。
(完整版)LDRATestbed单元测试操作步骤

使用LDRA Testbed对代码进行单元测试单元测试的主要操作:⑴被测对象选择⑵编译器的确认与切换⑶单元测试模块Tbrun的打开⑷测试序列(Sequence)的创建⑸测试用例的创建⑹测试用例的IO值设定⑺测试用例中桩的设定⑻测试用例的执行⑼测试结果的查看⑽测试用例的保存⑾测试用例中增加用户全局变量⑿测试用例创建向导中对全局数组和指针的处理详细操作如下:一、测试对象的选择在Testbed中C码中的“单元”就是一个函数,每次对一个函数的代码进行测试,测试时每次打开一个源文件。
打开程序LDRA Testbed,点击Testbed的菜单File select file 通过文件浏览窗口打开文件要分析的文件,如C:\LDRA_Workarea\Examples\C_testbed_examples\Testrian\Testrian.c 。
点击select之后,可以在工具快捷按钮栏的下方看见目前选择的文件二、编译器的确认与切换在使用TBrun进行单元测试前需要先确认当前使用的编译器是否是正确的,如果不是正确的编译器可以切换为正确的编译器,其操作如下:1.确认编译器是否为目标编译器在Testbed中右上角的”Options Window”中要确认”Current Compiler”和”Default Compiler”所显示的内容,需要注意两点,“Current”和“Default”是否是目标编译器“Current”和“Default”是否是一样的,应该相同才可以2.切换编译器如果编译器不是用户想要的目标编译器需要切换,切换方法如下:点击Testbed菜单Configure—>Switch Compiler,在弹出窗口的编译器列表中选择目标编译器,然后点击Select按钮即可。
如果编译器选项中的”Current Compiler”和”Default Compiler”不一致,也需要设置为一致的,设置方式为点击Testbed菜单Configure—>Switch Compiler,在弹出窗口中点击Reset Current Set按钮来设置。
Python技术在单元测试中的应用

Python技术在单元测试中的应用Python是一种高级编程语言,广泛应用于各个领域。
其中,Python技术在单元测试中的应用尤为突出。
本文将探讨Python技术在单元测试中的重要性和应用案例,并介绍一些常用的Python单元测试框架和工具。
一、Python技术在单元测试中的重要性单元测试是软件开发中的一项关键工作,用于确保代码的质量和稳定性。
通过针对代码的最小功能单元进行测试,可以发现并预防潜在的问题,保证代码的正确性和可维护性。
Python技术在单元测试中的应用有以下几个重要原因:1. 简洁易读:Python语言的简洁性和易读性使得编写和理解测试代码变得相对容易。
Python代码通常比其他语言的代码更加简洁,从而提高了开发效率和测试效果。
2. 丰富的测试框架和工具:Python社区拥有众多成熟的测试框架和工具,如unittest、pytest和doctest等。
这些工具提供了丰富的功能和灵活的配置选项,满足了不同项目的需求。
3. 跨平台兼容性:Python可以跨平台运行,适用于多种操作系统和环境。
这使得开发人员可以在各种环境下进行单元测试,提高了测试的覆盖范围和准确性。
二、Python技术在单元测试中的应用案例下面将列举几个Python技术在单元测试中的应用案例,以便更好地理解其价值和用途。
1. 软件库的单元测试:Python常用于开发和维护各种软件库。
通过编写单元测试代码,开发人员可以确保每个函数和类的功能和接口都符合预期。
这有助于提供更加稳定和可靠的软件库,提高其他开发人员的开发效率。
2. Web应用的单元测试:Python在Web开发方面非常流行,如Django和Flask框架等。
通过编写单元测试代码,开发人员可以对Web应用的各个组件进行测试,包括请求处理、数据库操作和模板渲染等。
这有助于确保Web应用的功能和性能达到预期,并提高用户满意度。
3. 数据分析的单元测试:Python在数据科学和机器学习领域的应用越来越广泛。
[word格式] 基于Testbed、TBrun的航天型号软件单元测试应用
![[word格式] 基于Testbed、TBrun的航天型号软件单元测试应用](https://img.taocdn.com/s3/m/38b8532e1711cc7930b71600.png)
基于Testbed、TBrun的航天型号软件单元测试应用42基于Testbed,TBrun的航天型号软件单元测试应用基于Testbed,TBrun的航天型号软件单元测试应用韦全芳阳方林(上海航天电子有限公司)摘要本文首先介绍了航天型号软件单元测试的定义和软件单元测试的意义,然后,介绍了主要测试的内容,方法和通过准则,最后以测试工具Testbed,TBrun针对汇编语言举例详细阐述了单元测试的方法.通过这些例子表明单元测试能发现软件调试过程中不能发现的潜在问题,从而有效地提高了软件的可靠性,健壮性,为后续测试,软件验收和交付打下坚实基础.关键宇航天型号软件单元测试测试工具引言航天型号软件的单元测试是软件研制过程中的重要阶段和软件测试的重要环节.航天型号软件对实时性,可靠性和安全性要求较高,工作环境相对复杂,恶劣;使用者相对单一,固定;在轨运行不可维修.这些特点决定了航天型号软件要特别重视软件的测试.软件单元测试是指对软件部件中确定的能单独测试的一部分软件的测试.软件研制过程进行软件单元测试是非常重要且必需的,首先软件单元的规模较小,容易做到全面充分的测试,本阶段若发现软件中的缺陷,定位和排除这些缺陷都相对比较容易;其次软件单元测试一般是在软件实现阶段进行,在软件开发的早期发现软件的缺陷,这对改善软件的质量和可靠性来说,所花的成本最小.程序的调试不能代替单元测试,因为它们的目的是不同的.单元测试完成对最小的软件设计单元的验证工作,单元测试的输入是在编码后已经成功编译的单元.被成功地测试过的单元是单元测试的输出.对传统开发的研究表明,大约65%的软件缺陷可以在单元测试中捕获,其中的一半是白盒测试捕获的….这是因为单元测试中只包含较少的软件代码,所以软件缺陷比较容易被隔离出来,因此,对于排除软件缺陷,单元测试是最有效的一类测基于Testbed,TBrun的航天型号软件单元测试应用43试.1软件单元测试的内容,方法和通过准则担1.1单元测试的内容单元测试主要内容有:单元的功能测试,单元的接口测试,重要执行路径的测试,局部数据结构,错误处理和影响上述各条的边界条件及非法输入.1.2单元测试的方法1.2.1静态测试静态测试是不运行程序而寻找程序代码中可能存在的错误和评估程序代码的过程.其方法主要依靠人工进行的代码审查,代码走查和由软件工具自动进行的静态分析.1.2.2动态测试动态测试是在测试数据上运行程序并全面分析输出以发现错误的过程,动态测试方法一般采用黑盒测试方法和白盒测试方法.黑盒测试方法是一种按照需求规格说明设计测试●数据的测试方法,一般包括功能分解,边界值分析,判定表,因果图,随机测试,猜错法和正交试验法等;白盒测试方法按照程序内部的逻辑结构和编码结构设计测试数据的测试方法,一般包括控制流测试(语句覆盖,分支覆盖,条件覆盖,条件组合覆盖,路径覆盖等),数据流测试,程序变异,程序插桩,域测试和符号求值等.1.3单元测试的通过准则单元测试的通过准则为:软件单元功能,性能和接口与设计一致;语句覆盖率达到100%;分支覆盖率达到100%;软件单元能正确处理输入和运行中的错误;已对发现的问题进行修改并通过了测试;运行时间,程序占用空间满足要求(对实时嵌入式软件而言);完成单元测试报告.2应用实例2.1Test.bed和TBrun工具介绍.Testbed和TBrun是航天型号软件单元测试普遍采用的测试工具. Testbed用来对软件进行静态分析,首先进行软件模块结构的划分,然后给出静态分析结果:如模块数,软件代码长度,注释率,圈复杂度,扇入数,扇出数,压栈深度,整个软件的结构图和单个模块的流程图等信息.TBrun是一个使用脚本语言来构建测试用例,通过对指令的解释,执行来进行测试的一44基于Testbed,TBrun的航天型号软件单元测试应用个汇编语言单元和C语言单元测试工具.使用简捷的脚本方便地进行测试用例的构建,精确的指令解释模拟程序的正确执行,在完成对函数功能全面的验证基础上,同时还进行详细的语句和分支的覆盖率分析,提供可定制的中文测试报告:而且,TBrun还提供方便的测试用例管理,从而使整个单元测试过程更加可靠,高效,易于管理和回归测试.2.2异常输入测试下面是一段查表子程序:TAB1:MOV A,55H;查表子程序M0VCA.@A+PCRETDB55H,76H,0F4H,0ABH,09H,12H,0AOH,33H等于12H和09H,在正常输入O1H~08H范围之外,但是该段程序没有对这种异常值的输入有合理的输出,导致输出不稳定.针基于Testbed,TBrun的航天型号软件单元测试应用45对这种潜在隐患,对程序修改如下:TAB1:MOV A,55H;查表子程序MOVR0,ASUBBA,#09H;对A先进行判断JNCLOTABMOV A,R0OUT1:ADDA,#06HMOVCA,@A+PCLJMPTAB1RETLOTAB:MOVR0,#00H;异常输入的输出MOV A,R0TAB1RET:RETDB55H,76H,0F4H,0ABH,09H,12H,0AOH,33H修改后的软件对异常输入有了一个固定的输出,该输出值根据软件的功能设置,本文为了说明问题,异常输出均设为00H.对修改后的程序再进行测试,结果如图2所示,没有发生错误.8.23,测蠛用恻0氐23,I,剽诚丽删l瑾嘲6.23.2,斟试I嗣麓入6.233试8.2.4,测l漩罔婀46,六4I,罚f陡穗捌说嘲6.2.4.2,测试曩l蹦黛入采el5er0x0O奔el$e【图2异常输入结果报告46基于Testbed,TBrun的航天型号软件单元测试应用2.3编程规范检查下面是一段除法子程序:DIVE16:M0VR7,#10H;除法子程序L00P1:CLRC;被除数(R3R2RIR0)M0V A,R0;除数(R5R4)ADDA,R0;商(RIR0)M0VR0,A;余数(R3R2)M0V A,R1ADDCA,R1M0VR1,AM0V A,R2ADDCA,R2M0VR2,AM0V A,R3ADDCA,R3M0VR3,AcL00P2M0V A,R2SUBBA,R4M0VR2,AM0V A,R3SUBBA,R5M0VR3,AJNCL00P3M0V A,R2ADDA,R4M0VR2,AM0V A,R3ADDCA,R5M0VR3,A基于Testbed,TBrun的航天型号软件单元测试应用47 L00P3:CA.R2A.R4R2.AA.R3A,R5R3.AR0R7.LO0P1该子程序在KeiluVision2和W A VE6000集成开发环境下,编译器编译时无错误,无警告,实际输出与预期输出也一致.采用动态测试工具TBrun对该子程序进行测试,功能测试均正常,但”编程规范检查工具&分析报告”中显示该子程序违反了编程规范¨,如图3所示,№.10下面的两行信息列出违反了规范”出口不唯一”的模块名称.No.9编程时应该有CAST~识的显式模块化(强制)No.10每个子程序一定要做到唯一入口,唯一出口(强制)一乞e8乞.且SM:q2cDIVE16:RET)一t.e~t.ASH:s6(MAIN:出口数为0)No.11中断处理程序中的压栈,出栈指令要匹配(强制)图3违反规范的内容从图3可以看出,该除法子程序的出口不唯一.根据测试结果,对原程序修改如下:DIVE16:M0VR7,#10H;除法子程序L00P1:CLRC;被除数(R3R2RIR0)M0V A,R0;除数(R5R4)ADDA,R0;商(RIR0)M0VR0,A;余数(R3R2)ZBBZNTRVBVVVCNT唧刚基于Tcstbcd,TBrun的航天型号软件单元测试应用M0V A,R1ADDCA,R1M0VR1,AM0V A,R2ADDCA,R2M0VR2,AM0V A,R3ADDCA,R3M0VR3,AJcLOOP2M0V A,R2SUBBA,R4M0VR2,AM0V A,R3SUBBA,R5M0VR3,AJNCLOOP3mOV A,R2ADDA,R4M0VR2,AM0V A,R3ADDCA,R5M0VR3,ADJNZR7,L00P1SJMPDIVERET;修改的语句,使出口唯一L00P2:CLRCM0V A,R2SUBBA,R4m0VR2,AM0V A,R3基于Testbed,TBrun的航天型号软件单元测试应用49SUBBA,R5MOVR3,ALOOP3:INCR0DJNZR7,LOOP1DIVERET:RET再对修改后的程序进行测试,发现该程序的功能没有发生改变,且符合了编程规范,如图4所示,该除法子程序模块已经不在违反规范”出口不唯一”的列表中.No.9编程时应该有CAST~识的显式模块化(强制)No.i0每个子程序一定蔓做到唯一入口,唯一出口(强制)一testne~T.ASM:60cMAIN:出口数为0)No.11中断处理程序中的压栈,出栈指令蔓匹配c强制)图4违反规范的内容3结论本文通过两个汇编子程序的单元测试实例,证明单元测试可以发现软件的一些缺陷,为纠正软件缺陷提供了依据,为航天型号软件的可靠性提供一个衡量标准,使航天型号软件的编程更加规范化,为软件的后续测试,系统验收和交付打下坚实基础.因此,航天型号软件的单元测试具有非常重要的现实意义.参考文献[1]SoftwareTestingTechniques,B,Beizer,VanNostrandReinhold,1983.[2]QJ3027—98航天型号软件测试规范.[3]TBrunfor8051ASM使用指南.[4]Q/QJA30—2005航天型号软件T程化管理要求.。
rust 调试单元测试用例

rust 调试单元测试用例
在Rust中,调试单元测试用例可以通过使用内置的断言宏和标准库中的调试宏来实现。
首先,确保你的单元测试用例被正确放置在tests目录下,并且使用`#[cfg(test)]`属性来标记测试代码。
然后,你可以使用`assert!`宏来断言测试的预期结果是否成立。
如果测试失败,它将打印出详细的错误信息,帮助你找出问题所在。
除了`assert!`宏之外,你还可以使用`assert_eq!`和
`assert_ne!`宏来比较两个值是否相等或不相等。
这些宏在测试失败时会打印出详细的比较信息,帮助你快速定位问题。
此外,你可以使用`dbg!`宏来在测试用例中打印出变量的值,以便在调试过程中观察变量的状态。
这对于定位测试用例中的问题非常有帮助。
最后,你可以在运行测试时使用`--nocapture`标志来阻止测试输出被捕获,这样可以更容易地查看测试中打印的调试信息。
总之,在Rust中调试单元测试用例可以通过使用内置的断言宏
和调试宏来实现,同时结合良好的测试组织和运行参数设置,可以帮助你高效地调试和定位问题。
希望这些信息能够帮助到你。
完整版LDRATestbed单元测试操作步骤

使用 LDRA Testbed对代码进行单元测试单元测试的主要操作:⑴被测对象选择⑵编译器的确认与切换⑶单元测试模块Tbrun 的打开⑷测试序列 (Sequence)的创办⑸测试用例的创办⑹测试用例的IO 值设定⑺测试用例中桩的设定⑻测试用例的执行⑼测试结果的查察⑽测试用例的保存⑾测试用例中增加用户全局变量⑿测试用例创办导游中对全局数组和指针的办理详细操作以下:一、测试对象的选择在 Testbed 中 C 码中的“单元”就是一个函数,每次对一个函数的代码进行测试,测试时每次打开一个源文件。
打开程序LDRA Testbed,点击 Testbed 的菜单 File select file 经过文件阅读窗口打开文件要解析的文件,如。
点击 select 此后,可以在工具快捷按钮栏的下方看见当前选择的文件二、编译器的确认与切换在使用 TBrun 进行单元测试前需要先确认当前使用的编译器是否是正确的,若是否是正确的编译器可以切换为正确的编译器,其操作以下:1.确认编译器可否为目标编译器在 Testbed 中右上角的”Options Window ”中要确认”Current Compiler ”和”Default Compiler ”所显示的内容,需要注意两点,“Current ”和“Default ”是否是目标编译器“Current ”和“Default ”是否是相同的,应该相同才可以2.切换编译器若是编译器不是用户想要的目标编译器需要切换,切换方法以下:点击 Testbed 菜单 Configure —>Switch Compiler ,在弹出窗口的编译器列表中选择目标编译器,尔后点击 Select 按钮即可。
若是编译器选项中的”Current Compiler ”和”Default Compiler ”不一致,也需要设置为一致的,设置方式为点击 Testbed 菜单 Configure —>Switch Compiler ,在弹出窗口中点击 Reset Current Set 按钮来设置。
LDRA软件测试套件

T-VEC在适航认证中的成功应用案例分析背景描述: 航空某所的某产品要通过适航认证,其中两个核心软件配置项被定级为DO-178B A级,适航当局按照DO-178B标准对软件测试工作提出了明确的要求。
挑战: 按照DO-178B对A级软件的要求,其在相关章节对软件的验证过程和目标有明确的要求,其中关于低级需求的测试覆盖,以及测试用例设计是该项目的一个难点。
该项目源代码5万余行,其中有效代码行数2万3千余行,如果采用传统的测试手段,采用人工方式进行测试用例设计,人工方式的测试用例注入执行,人工方式的测试报告整理,该项目预计需要:项目应用情况: 在该项目中,根据应用的特点,分别采用TTM和Simulink进行建模,然后导入到T-VEC 的TVGS中自动生成测试向量,再通过相关脚本自动将生成的用例导出为Testbed/TBrun支持的TCF格式,导入到Testbed/TBrun中进行自动回归,确认功能是否满足要求;同时在此基础上进行白盒覆盖率分析,根据覆盖率情况看是否需要追加测试用例。
最终将T-VEC生成的测试向量导出到报告生成系统自动生成word格式的测试用例说明报告;将Testbed/TBrun测试后的结果导出到报告生成系统自动生成word格式的测试报告。
在提交的问题单经过确认,代码经过修改后,使用脚本实现全自动化的回归测试。
项目收益: 通过采用该方案,项目组总共花了160个人天,其中: 取得了如下收益:项目规划准备20个人天;测试需求建模60个人天;测试执行20个人天;人工完善测试用例20个人天;问题分析提交报告及回归15个人天;测试报告生成及整理15个人天;测试相关自动化脚本编写调试10个人天。
共生成8300多个测试用例;提交经确认的问题报告单20个;全面达到前面列的DO-178B A级的相关要求;最终提交19000多页文档;顺利通过适航当局该阶段的审查;对比采用传统方式预计需要的时间,效率提高了4倍多。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t e c h n o l o g y m a n a g e m e n t t o c r e a t e t e s t as c e a n d f o u r k i n d s o f c o m m o n e x a m p l e a n a l y s i s a n d h o w t o al c c u l a t e t h r e e ov c e e r g e ( s c , d c , m c / d c ) b y u s i n g T b r u n .
强大的源码分析器。本文用实际例子阐述 了T B r u n在单元测试中的应用 , 介绍了三种技术管理测试用例的创建 、 四
种 常 用例 子 的解析 以及 使用 T B r u n 来 计算 三种 覆盖 率 ( S C 、 D C 、 MC / D C o
【 关键词 】 测试 ; 单元测试 ; T B r u n
2 T B r u n介绍
T B n m 提 供 完全 自动 的单 元测 试 解决 方 案 , 它 可 以
使 开 发人 员 和 测 试人 员 在 单元 级 应 用 L DRA工 具 套件
4 T B r u n 在 实际项 目中应 用
4 . 1三 种技 术管 理测 试用例 创 建
4 . 1 . 1迭 代 ( I t e r a t i o n s ) 技 术
技术实践 ・案 例 ・S u c c e s s f u l C a s e s
T B r u n在 单元测试 中的应 用
朱 昭俊 蒋 文 丹 苏 赛
( 中国船 舶 重 工集 团公 司第七 二二研 究所
湖 北武 汉 4 3 0 0 7 9 )
【 摘 要】 T B r u n提供完全 自动的单元测试解决方案 , 它可以使开发人员和测试人员在单元级应用 L D R A工具套件
L D A R t o o l s u i t e i n u n i t l e v e 1 . I n hi t s p a er p . w e u s e t h e p r a c t i c a l e x a m p l e s t o e x p a t i a t e h t a t t h e a p p l i c a t i o n o f T B r u n o t u n i t t e s t , i n t r o d u c e t h r e e k i n d s f o
接 口、 参数 、 全局 ( 输 入 和输 出 ) 、 返 回值 、 变 量 类 型 和 使
数 创 建一 个 新用 例 , T B mn内置 小精 灵 被调 用 ,在 弹 出 的对 话 框 中选 择 I t e r a t i o n s . 并 在 对话 框 中 可以输 入 一个
用、 函数 调用 等信 息 。获 得这 些 信息 的传 统 方法 是 通过
强 大 的 源码 分 析器 。T B r u n利 用 L DR A T e s t b e d提 供 的
一
采用 迭 代技 术 可 以创建 指定 数 量 的测试 用 例 , 重 复 个 内部 的驱 动 变量 生成 不 同的 测试 用例 , 当为某 一 函
全 面地 控 制 流 / 数 据 流分 析方 法 , 得 到详 细 的关 于单元
强 大 的 自动分 析 引擎 可提 高测 试 效率 , 解 放 开发 人员 和
测 试人 员 ; ( 4 ) 完全 自动 的回归 测 试 , 便 于测 试 数据 和 测 试 结 果 的保 存 和维 护 ; ( 5 )自动 侦 测 源 代 码 的变 更 ; ( 6 )
可 在 主机 , 目标 机 ቤተ መጻሕፍቲ ባይዱ仿 真环境 下执 行测 试 。
【 A b  ̄ mc l 】 T B r u n p r o v i d e s a c o m p l e t e l y a u t o m a t i c u n i t t e s t s o l u t i o n , I t c a n m a k e t h e d e v e l o p e r s a n d t e s t e s r u s e t h e p o w e r f u l s o u r c e od c e a n a l y z e r o f t h e
T h e U s e o f T B r u n i n U n i t T e s t i n g
Z h uZ h a o - j u n J i a n g We n - d a n S u S a i ( T h e 7 2 2R e s e a r c h I n s t i t u t e o f C S I C H u b e i Wu h a n 4  ̄o 7 9 )
【K e y w o r d s】 t e s t ; u n i t t e s t ; T B r u n
1 引言
T B n m 是 由英 国 L DR A公 司开 发 . 它使 单元 测 试 过 程 自动化 , 解 决 了传 统 的单 元测 试 大量 消耗 时间 和资 源
的问题 , 减少 了人 力 的投入 。
有 经验 的开发 人员 指定 , 因此 , 这 个过 程 的 自动化 , 解放
需要循环的数值 1 0 . T b r u n 会 自动将 输 入 的数 值 1 O 存
q q t c i t e r a t o r 中 。 使 用 储 在 内 置 变 量 l d r a