我可以: 邀请好友来看>>
ZOL星空(中国) > 软件星空(中国) > 单元测试大揭密
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

单元测试大揭密

20浏览 / 0回复

k70s7r

k70s7r

0
精华
10
帖子

等  级:Lv.2
经  验:305
  • Z金豆: 52

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:2023-05-17
  • 登  录:2025-05-14
发表于 2023-11-02 14:38:04
电梯直达 确定
楼主

 EC),段覆盖(segmentcoverage)和基本覆盖(bAS)。它度量每一个可句是否被行到了。icblockcoverageoverage

·       判定覆盖(DecisionCoverage):也被称分支覆盖(branchcoverage),所有界覆盖(all-edgescoverage),基本路径覆盖(basispathcoverage),判定路径覆盖(decision-decision-path或DDPtesting)。它度量是否每个BOO型的表式取true和false在控制结构中都被测试到了。L

·        条件覆盖(ConDI):它独立的度量每一个子表式,告每一个子表式的果的true或false个度量和判定覆盖(decisioncoverage)相似,但是控制流更敏感。不,完全的条件覆盖并不能保完全的判定覆盖。tionCoverage

·        路径覆盖(PathCoverage):也称断言覆盖(prEDI),它度量了是否函数的每一个可能的分支都被行了。路径覆盖的一个好是:需要底的测试。但有个缺点:一是,路径是以分支的指数级别增加的,例如:一个函数包含10个IF句,就有1024个路径要测试。如果加入一个IF句,路径数就2048;二是,多路径不可能与行的数据无关。catecoverage

·       覆盖(LOOP):个度量告你是否行了每个循体零次、只有一次是多余一次(连续地)。do-while,循覆盖告你是否行了每个循体只有一次是多余一次(连续地)。个度量的有价的方面是确定是否whilefor环执行了多于一次,个信息在其它的覆盖率告中是没有的。 

单元测试大揭密

1)   接口:测试的数据流。如果数据不能正确地入和出,就不上行其他测试。因此,于模接口需要如下的测试项目:

·       用所块时入参数与模的形式参数在个数、属性、序上是否匹配;

·       块调用子模块时,它入个子模的参数与子模的形式参数在个数、属性、序上是否匹配;

·       是否修改了只做入用的形式参数;

·       给标准函数的参数在个数、属性、序上是否匹配;

·       全局量的定在各模中是否一致;

·        限制是否通形式参数来送。

2)  局部数据结构测试:模的局部数据结构是最常错误来源,应设计测试用例以检查以下各种错误

·        检查不正确或不一致的数据明;

·       使用尚未赋值或尚未初始化的量;

·        错误的初始错误的默认值

·       量名拼写错误错误

·        不一致的数据型。

3)路径测试基本行路径和循环进测试发现大量的错误。根据白盒测试和黑盒测试用例设计方法设计测试用例。设计测试用例找由于错误算、不正确的比或不正常的控制流而致的错误

·       的不正确的算有:

?         算的先次序不正确或解了算的先次序;

?         算的方式错误算的象彼此在型上不相容);

?         算法错误

?         初始化不正确;

?         算精度不

?         式的符号表示不正确等。

·        的比和控制流错误有:

?         不同数据型的比

?         不正确的逻辑运算符或先次序;

?         因浮点算精度问题而造成的两值不等;

?         关系表式中不正确的量和比符;

?         “差1”,即不正确地多循或少循一次;

?         错误的或不可能的循环终止条件;

?         当遇到散的迭代不能止循

?         不适当地修改了循环变量等。

4) 错误处测试:比完善的模块设计要求能预见的条件,并置适当的出错处策,以便在程序出错时,能程序重新做安排,保逻辑上的正确性。种出错处理也是模功能的一部分。表明出错处理模错误或缺陷的情况有:

·       的描述以理解;

·       的描述不足以对错误定位和确定出的原因;

·       示的错误实际错误不符;

·       对错误条件的理不正确;

·       对错误进理之前,错误条件已引起系的干

·        如果出情况不予考,那么检查恢复正常后模可否正常工作。

5) 测试界上出现错误上常的。设计测试用例检查

·        在n次循的第0次、1次、n次是否有错误

·       算或判断中取最大最小值时是否有错误

·       数据流、控制流中好等于、大于、小于确定的比较值时是否出现错误

 

单元测试大揭密


 

3         测试方法与

3.1      用例设计

1.测试用例的成(在测试测试用例基本上由测试脚本成)

·       用例行前置条件

·       /元所需境(全局赋值或初始化体)

·       启动测试驱动

·      

·       用被

·       出条件判断

2.测试用例的设计

·       一个好的测试用例在于能够发现至今没有发现错误

·       测试用例测试输入数据和与之对应这两部分成;

·       测试用例设计时当包含合理的入条件和不合理的入条件;

·       统运行起来而设计测试用例;

·       正向测试设计测试用例;

·       逆向测试设计测试用例;

·       为满足特殊需求而设计测试用例;

·       覆盖而设计测试用例;

3.用例设计方法

1)        范(格)

2)        等价划分法

3)        分析法

4)        态转测试

5)        分支测试

6)        条件测试

7)        数据定-使用测试法(又名数据流测试法)

8)        内部值测试

9)        错误

4. 特定的用例测试设计

1)声明测试检查中的所有量是否被声明。经验表明,大量重要的错误都是由于量没有被声明或没有被正确的声明而引起的。

2)路径测试:要求模中所有可能的路径都被行一遍,属逻辑覆盖测试

基本路径测试:由于实际中,一个模中的路径可能非常多,由于时间源有限,不可能一一测试到。就需要把测试所有可能路径的目标减少到测试多的路径,以的信心。要测试的最小路径集就是基本测试路径集。基本测试路径集要保

·       每个确定句的每一个方向要测试到;

·       每条句最少行一次。

3)环测试:重点检查的条件-判断部分以及界条件。测试是一种特殊的路径测试,因比其他句都复一些。循错误生机会比其他代码构成部分多。因此,于任何定的循环测试应该包括测试下面每一条件的测试用例:

·        行;

·        行一次循

·       次循

·       反映行典型的循行次数;

·       如果有最大循次数,最大循次数1

·       最大循次数;

·       大于最大循次数。

于增量和量不是1的FOR句,要特注意,因程序员习惯于增量1

4) 嵌套:循嵌套使逻辑的次数呈几何数增设计测试嵌套循测试用例应该包括的测试条件有:

·       把外循环设最小,并行内循所有可能的情况;

·       把内循环设最小,并行外循所有可能的情况;

·       把所有的循环变量都最小值运行;

·       把所有的循环变量都最大值运行;

·        把外循环设最大,并行内循所有可能的情况;

·       把内循环设最大,并行外循所有可能的情况;

5) 值测试:指程序内部测试检查确定代在任何界情况下都不会出差。重点检查小于、等于和大于界条件的情况。值测试是指专门设计用来测试当条件句中引用的值处界或界附近反映的测试。被测试语句的最好的例子就是“IF-THEN…ELSE-ENDIF”部分。这样语句的例子如:

IF a <= 123 THEN

b = 1

ELSE IF a >= 123 THEN

b = 2

ELSE b = 3

END IF

           上面例子中的值测试用例应该至少包括a的以下122,123,124。当a=123b=12。(找出逻辑判断的矛盾)

6)接口测试检查的数据流(入、出)是否正确。检查输入的参数和声明的自量的个数,数据型和序是否一致。检查全局量是否被正确的定和使用等。

7)认测试:是否接受有效入数据(操作),拒无效数据(操作)。

8)务测试入->出,错误处理。

3.2      用例

一般来,做测试均采用的是商用的测试工具或自行开测试工具,用例的写都是在测试工具上完成,测试用例都是一些测试脚本,都以文件的方式来保存,故其用例的程主要是由测试工具根据所写的具体的测试用例脚本来完成,这样对于用例的管理和行也非常灵活。

在特定合,比如某种测试或极限测试测试执时间长时(几个小以上),一般都写好用例(确保用例无),使用空机或非工作时间执测试用例,这样操作起来较节约时间

在用例的程中必注意如下事

·        程序的程―――便于散用例

·       不要放任何细节―――细节可能就是问题

 

3.3      测试优化和策略

测试程中了提高测试效率和效果,不断的少冗余劳动,也后期的回归测试测试管理来很大的方便,不至于感到测试很混乱无序。因此我对测试用例和测试执行不断的化,以测试策略针进测试

1测试用例的

    测试用例的化主要是指用例的合并、修改和除,少冗余的无价测试,其化依据来源于测试后的测试数据分析和估,其中测试覆盖也是用例化的主要参考。

2测试执行的

        测试执行的化主要是指测试化,测试的手工操作,因太多的手工操作会测试倦,直接影响测试效果,化依据来源于测试总结

3测试策略

    测试过程中由于时间源的原因可能会使测试处紧张的局面,在此情况下我要采取一定的策略来解决此局面。策略来源于测试数据的分析,主要的方法是:各模制定测试优,其的划分依据如下:

·       些是重点模

·        些程序是最复、最容易出的?

·        些程序是相独立,当提前测试的?

·        些程序最容易错误

·       些程序是开者最没有信心的?

·        80-2080%的缺陷聚集在20%的模中,常出的模常出应该列入测试重点。 

3.4      测试评

   测试完成以后,需要对单测试行效果估,主要从以下几方面行:

1)测试估,主要检查测试过程中是否已经执行了所有的测试用例,新增的测试用例是否已及更新测试方案等。

2)覆盖率估,主要是根据代覆盖率工具提供的句覆盖情况告,检查是否到方案中的要求,公司要求句覆盖100%。但很多情况下,第一轮测试用例行完后是很难达到的,这时程中要覆盖率行分析,主要从以下方面来考

·       不可能的路径或条件

·       不可的或冗余的代

·       不充分的测试用例

3) 从覆盖的角度看,测试应该覆盖:

·        功能覆盖

·        入域覆盖

·       出域覆盖

·       函数交互覆盖

·       码执行覆盖

   大多数有效的测试用例都来自于分析,而不是仅仅为测试覆盖率目而草率设计测试用例。千万不要测试覆盖,测试覆盖并不是我最求的目的,它只是测试的一种方式,为测试提供指和依据。

3.5      测试过

1.测试过程中各种人的作用

·       分析设计

     行需求跟踪,确保系需求的实现和更新。元可性分析,确定测试象、范和方法。

·       件开

     负责编码测试过程,完成测试计划、方案和告。

·       测试

     参与测试计划、方案和告的评审对单测试划、设计控。根据实际情况,可选择参与由开员负责的代码检视测试等活

·        配置管理人

    测试文档行配置管理。

·       量保QA)人

     参与编码测试评审对编码测试过审计

2.  测试输

·       件需求

·       详细设计说

·       编码测试工作任务书

·       件集成测试计划》

·       件集成测试方案》

·       文档

3.测试

·       测试计划》

·       测试方案》

·       《需求跟踪》或需求跟踪记录

·        态检查记录

·       《正规检视报告》

·        问题记录

·        问题跟踪和解决记录

·       件代版本

·       测试报告》

·       编码测试务总结报告》

3.6      测试实

1.  测试实施步

1)        制定测试计划和测试方案(包括测试工具的选择

2)        根据划和方案及相关入文档测试用例

3)        搭建测试环

4)        测试

5)        记录和跟踪问题

6)        测试报告和总结报

2.  测试实施遵循的原

·        精心制定测试计

·        评审测试计

·        测试计

·       分析测试结果并提交

4         常用测试工具介

常用的C测试工具介如下:

 winAMS、CasePlayer2

1)        

GAIO公司的覆盖率winAMS得机能安全百准ISO26262/IEC61508工具认证,是日本工制造度域普遍使用的针对C/C++/集成测试工具。winAMS将通交叉编译生成的原始代为评价代,具有使用芯片仿真器行仿真功能的测试工具。不可以C/C++写的程序逻辑水平的测试可以嵌入式件特有的依存于芯片的问题行确

2)        功能特性

·       尽可能使测试境与目标环境相同

·       采用全面支持嵌入式微机的微机化功能测试平台

·       不需要插入测试用代直接使用目机代码进测试

·       取得第三方认证TUVSUD适用于汽机能安全ISO26262件工具的认证

·       测试工程管理

 


高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表