如何做好单元测试
上一篇 / 下一篇 2007-01-11 14:32:53 / 个人分类:测试理论
文章出处:www.51testing.com作者:周峰 发布时间:2005-10-1951Testing软件测试网 `F
Z1V%zRE
&~+?9la'S5FS%Ta0【摘要】 单元测试是软件开发过程中重要的质量保证活动,单元测试的质量将很大程度上影响软件产品的最终质量。本文从组织、流程和技术三个方面来阐述了做好单元测试的一些关键因素,可以作为软件企业开展单元测试活动的参考。
s8s^z ?\O0
1T3nl2I:j2_F0【关键字】 单元测试,组织,流程,技术51Testing软件测试网4gdd3wC.yo
5g8?!Ww&F9k\;n0前言51Testing软件测试网\3W [q,YM~0BJ)W
51Testing软件测试网Pm U3x1@6A'Yr
单元测试是对软件基本组成单元进行的测试,是属于白盒测试的范畴,它主要通过对代码的逻辑结构进行分析来设计测试用例。在动态测试手段中,单元测试是一种非常高效的测试方法,并且是软件测试周期中第一个进行的测试。从成本角度考虑,缺陷发现越早越好,加强单元测试力度有利于降低缺陷定位和修复难度,从而降低缺陷解决成本,同时加强单元测试也减轻了后续集成测试和系统测试的负担。根据业界的统计,一个 BUG 在单元测试阶段发现花费是 1 的话,到集成测试就变为 10 ,到系统测试就高达 100 ,到实际推向市场量产后就高达 1000 。但单元测试在目前国内软件企业中开展得并不好,一方面是由于对单元测试重视程度不够,测试投入不足,另一方面是由于在单元测试实践方面积累得也不够,单元测试处于一种摸索状态。
9X3}-ul{)f0V0
/gWQ2I5D`0软件的质量由组织、流程和技术三个维度来决定,任何一个维度都不能单独决定软件的质量。好的组织结构可以保证流程的顺利实施,好的流程能提高软件开发的规范性和可控性,从而提高软件开发的效率和质量,而采用了好的技术和有好的技术的载体 —— 人,则从根本上保证了软件的质量。51Testing软件测试网w*Z}*M\*mJ
51Testing软件测试网b3Pu}3ST
总而言之,组织、流程和技术是软件质量三角,本文将从这三个方面对如何做好单元测试进行论述。51Testing软件测试网4Wvbc S'@rvsP
51Testing软件测试网 i"Y,Zx nw"t ^}$lQ
• 组织结构应该保证测试组参与单元测试
!o#jz-Xq f8c.t051Testing软件测试网LM4GY7U OY@
目前无论是工业界还是学术界都认为单元测试应该由开发人员开展,这是因为从单元测试的过程看,单元测试普遍采用白盒测试的方法,离不开深入被测对象的代码,同时还需要构造驱动模块、桩函数,因此开展单元测试需要较好的开发知识。从人员的知识结构、对代码的熟悉程度考虑,开发人员具有一定的优势。51Testing软件测试网pwZ&["O1i
51Testing软件测试网}3B0u O9e.i1gS6K
单元测试由开发人员进行能带来一些特别的收益。我们知道,在实践中开发人员进行单元测试一般推荐采用交叉测试的方法,例如由被测单元的调用方进行该单元的测试,即尽量避免对自己的代码进行单元测试。这种交叉的测试安排可以避免测试受开发思路影响太大,局限于原来的思路不容易发现开发过程中制造的问题;二来也达到一个技术备份或充分交流的目的,这对组织非常有利。即使不采用交叉测试的方法,而安排单元的生产者自行开展单元测试,也是有很大的优越性的,其最大的优点是快速,且能更好的实现 “ 预防错误 ” 。在人员紧张的情况下这种自行测试的安排也是不错的选择。51Testing软件测试网3P Mp8J{H%XmA&C
51Testing软件测试网.n|$JWJ{:f.D|'O
从经验值来看,单元测试投入和编码投入相比基本上是一比一,如果由专职测试队伍来进行单元测试,维持这样庞大的单一任务队伍显然是不合适的。51Testing软件测试网b|8e:j7XA
+~Sk~8\}#?0以上谈的是由开发人员进行单元测试的优点,其中主要是从单元测试的效率角度来考虑。但是从单元测试效果的角度考虑,必须从组织结构上保证测试组参与单元测试,这是因为:51Testing软件测试网6[Fy`u Wuk1^
51Testing软件测试网:S|kvR
首先,从目前国内企业普遍现状来看,测试人员质量意识要高于开发人员,测试人员参与单元测试能够提高测试质量。51Testing软件测试网v5\ph Ls"X4BV|
51Testing软件测试网$@,t[!mF5~ EIV8vk
其次,对被测系统越了解,测试才有可能越深入,测试人员参与单元测试,将使得测试人员能够从代码级熟悉被测系统,这对测试组后期集成测试和系统测试活动非常有帮助,会很大的提升集成测试和系统测试质量。51Testing软件测试网3i4|L.~)M4a,t#q?4oS;F
51Testing软件测试网 KtX0Yv E2Ov]^
测试组以何种方式参与单元测试,应该结合软件组织的实际情况来定。如果软件组织测试资源充分,测试人员对开发人员的比例较高,那么可以由测试人员独立承担部分重要模块的单元测试工作;如果测试资源不足,测试人员对开发人员的比例较低,那么可以采取由测试人员进行单元测试计划、单元测试设计的工作,而单元测试的实现和执行由开发人员来完成;而如果测试资源非常缺乏,连单元测试计划、单元测试设计都无法承担,那么测试组至少应该参与开发组的各相关单元测试文档、单元测试报告的评审,保证单元测试的质量。
&c:LX6b6n*w051Testing软件测试网j#u)dD1PJQ+s4Vc sW
• 加强单元测试流程规范性51Testing软件测试网6tgb+W/]R$k?M
51Testing软件测试网]8W2B#xR.p9MZC
• 制订单元测试的过程定义51Testing软件测试网R)t$L1^kx
51Testing软件测试网(Nb+k_i x+P4F
软件质量的提高需要规范的流程,对软件开发过程进行管理也需要依据规范的过程定义。过程定义包含阶段的划分、阶段的入口 / 出口准则、阶段的输入 / 输出、角色和职责、模板和查检表等等。将单元测试划分为几个阶段便于对单元测试过程进行控制,体现软件测试可控性。要提高单元测试的质量,首先要制定规范的单元测试过程,开发组、测试组、 SCM 组、 SQA 组等可以依据单元测试过程定义开展各自的工作,共同保证单元测试的质量。51Testing软件测试网+_7C'k1Vz@;O?*q
y7@)[}"[,TZv0单元测试过程的定义需要参照企业的实际情况,例如阶段划分可以分为四个阶段:计划、设计、实现、执行。其中计划阶段应当考虑整个单元测试过程的时间表,工作量,任务的划分情况,人员和资源的安排情况,需要的测试工具和测试方法,单元测试结束的标准及验收的标准等,同时还应当考虑可能存在的风险,以及针对这些风险的具体处理办法,并输出《单元测试计划》文档,作为整个单元测试过程的指导。设计阶段需要具体考虑对哪些单元进行测试,被测单元之间的关系以及同其他模块之间单元的关系,具体测试的策略采用哪一种、如何进行单元测试用例的设计、如何进行单元测试代码设计、采用何种工具等,并输出《单元测试方案》文档,用来指导具体的单元测试操作。实现阶段需要完成单元测试用例设计、脚本的编写,测试驱动模块的编写,测试桩模块的编写工作,输出《单元测试用例》文档、相关测试代码。执行阶段的主要工作是搭建单元测试环境,执行测试脚本,记录测试结果,如果发现错误,开发人员需要负责错误的修改,同时进行回归测试,该阶段结束需要提交《单元测试报告》。
"oK S#wwP6?/D3s:A051Testing软件测试网8{6D*\)u0oK9Q1v!Q
具体进行单元测试过程定义的时候,可以进行一定的裁减,例如可以裁减为设计和执行两个阶段,将《单元测试方案》和《单元测试用例》合二为一。51Testing软件测试网"T&~s8O0_5M
51Testing软件测试网$Ry*e N2w3r
• 单元测试工作产品必须纳入配置管理51Testing软件测试网o&Fr*Hi#h*[8L
51Testing软件测试网sqKi:Ip^#H
单元测试工作产品指单元测试完成后应交付的测试文档、测试代码及测试工具等,一般包括但不限于如下工作产品,可以根据实际情况进行适当裁剪:51Testing软件测试网-v&Ewlm9z;x1_
JFO _5J7TS1D7~0• 单元测试计划
wBw#V?051Testing软件测试网R+c:m*|*M"NI
• 单元测试方案
a Bs7C"M2[0
Uc pk:]M8mk0• 单元测试用例
$m"_ caku|,zq3m0
UlL6b.D|u0• 单元测试规程51Testing软件测试网F#U'}A[-x)D dc
"~ hj My!` E+j0• 单元测试日报51Testing软件测试网n&M|-Z+m5KG:rgO
&a7@*E0FA g0• 单元测试问题单51Testing软件测试网vJ0v,N%A.anX6U&p9T
51Testing软件测试网 C*O#~O)S~#~0h
• 单元测试报告
*LvmC `n oA051Testing软件测试网wtTN*c
• 单元测试输入及输出数据
wfnA(ZC051Testing软件测试网0QD UA L5f
• 单元测试工具
kXy-`h0
E,t\t4f+|(\$F0• 单元测试代码及设计文档
t5x&V:C%f zL051Testing软件测试网;w8uM5[3V4A_o
为了保证单元测试工作产品的准确性,需要对测试代码和脚本进行走读或检视,对测试文档进行评审。这些工作产品应该纳入到配置管理,对于其修改要走配置变更流程,并及时发布其配置状态,这样可以保持单元测试工作产品的一致性和可回溯性。51Testing软件测试网 f0s'a%NwM6_c+D%C&T
51Testing软件测试网"h [x8_4n
• 必须制订覆盖率指标和质量目标来指导和验收单元测试51Testing软件测试网c#D2YY(zf??
51Testing软件测试网0kX(n,fD
单元测试必须制订一定的覆盖率指标和质量目标,来指导单元测试设计和执行,同时作为单元测试验收的标准。设计用例时,可针对要达到的覆盖率指标来设计用例,而在测试执行时,可以依据覆盖率分析工具分析测试是否达到了覆盖率指标,如果没达到,需要分析哪些部分没有覆盖到,从而补充用例来达到覆盖率指标。而单元测试质量目标的制订,需要符合软件企业的实际过程能力,这依赖于软件企业以前单元测试过程度量数据的积累,不能凭空制造出来。有了以前度量数据的积累,完全可以了解当前组织的单元测试能力,例如单元测试每千行代码发现的缺陷数是多少。如果单元测试统计结果没有落到这个质量目标范围内,说明单元测试过程中某些方面存在一些问题,需要对过程进行审计后找出问题原因进行改进。
p)G6AO4r#sY0
^~;gq(p4S:U a Xk0t0这些指标确定下来后,一定要严格推行。会有一些测试人员找出各种理由证明覆盖率指标达不到等等,这需要 QA 根据实际情况分析指标是否合理。实际证明有一个相对简单的标准也比没有标准要好得多,我们的实践发现,通过推行硬性指标,单元测试发现的问题数目比没有标准前至少增加了 2 倍。51Testing软件测试网0x Q*cn$f,i*z&e
51Testing软件测试网1p DtZq
下面是印度 SASKEN 公司的质量目标:
:qp+c)W!B Q }051Testing软件测试网-vK2\Z5BU X
印度 SASKEN公司质量目标51Testing软件测试网-@8w$]T5r
bl+O0x*I$bv0阶段51Testing软件测试网.S1U&p5D!K:Oq
组织目标51Testing软件测试网^"Gi/H om
目标上限
)Hqv"pf0目标下限51Testing软件测试网6SOBR5b(HfV
51Testing软件测试网)xtgi(dtbr0C
HLD (概要设计)51Testing软件测试网4`Z!n3y6k-d"q ]
50 Major Defects / 100 pages51Testing软件测试网^;H&}.E"Z
55 Major Defects/100 pages51Testing软件测试网:?4q*s#N8I1hC
45 Major Defects /100 pages51Testing软件测试网 F9}h Om8y Q^S m ~
y6t `:uDao.i`na0LLD(详细设计)51Testing软件测试网"s/Wo"tB DK+sO]
40 Major Defects / 100 pages
Jv~ ~rA:iV044 Major Defects/100 pages51Testing软件测试网v q-Qj6\
36 Major Defects / 100 pages
#n^yl:f_?.v051Testing软件测试网4E]upJ
Unit Test Plan51Testing软件测试网 d4hE7O)O@
$I1e*vO7j R%h.I$^9Q0(单元测试计划)
$[;[B'Li,zR025 Major Defects / 100 pages
?@a.B.hp027.5 Major Defects /100 pages51Testing软件测试网8K7i$\Xu)A\y
22.5 Major Defects / 100 pages51Testing软件测试网 }Ak4K(v'Z
51Testing软件测试网k%]%s!|'\I(v
Code Review51Testing软件测试网l5p']`-b q yzo
&~+?9la'S5FS%Ta0【摘要】 单元测试是软件开发过程中重要的质量保证活动,单元测试的质量将很大程度上影响软件产品的最终质量。本文从组织、流程和技术三个方面来阐述了做好单元测试的一些关键因素,可以作为软件企业开展单元测试活动的参考。
s8s^z ?\O0
1T3nl2I:j2_F0【关键字】 单元测试,组织,流程,技术51Testing软件测试网4gdd3wC.yo
5g8?!Ww&F9k\;n0前言51Testing软件测试网\3W [q,YM~0BJ)W
51Testing软件测试网Pm U3x1@6A'Yr
单元测试是对软件基本组成单元进行的测试,是属于白盒测试的范畴,它主要通过对代码的逻辑结构进行分析来设计测试用例。在动态测试手段中,单元测试是一种非常高效的测试方法,并且是软件测试周期中第一个进行的测试。从成本角度考虑,缺陷发现越早越好,加强单元测试力度有利于降低缺陷定位和修复难度,从而降低缺陷解决成本,同时加强单元测试也减轻了后续集成测试和系统测试的负担。根据业界的统计,一个 BUG 在单元测试阶段发现花费是 1 的话,到集成测试就变为 10 ,到系统测试就高达 100 ,到实际推向市场量产后就高达 1000 。但单元测试在目前国内软件企业中开展得并不好,一方面是由于对单元测试重视程度不够,测试投入不足,另一方面是由于在单元测试实践方面积累得也不够,单元测试处于一种摸索状态。
9X3}-ul{)f0V0
/gWQ2I5D`0软件的质量由组织、流程和技术三个维度来决定,任何一个维度都不能单独决定软件的质量。好的组织结构可以保证流程的顺利实施,好的流程能提高软件开发的规范性和可控性,从而提高软件开发的效率和质量,而采用了好的技术和有好的技术的载体 —— 人,则从根本上保证了软件的质量。51Testing软件测试网w*Z}*M\*mJ
51Testing软件测试网b3Pu}3ST
总而言之,组织、流程和技术是软件质量三角,本文将从这三个方面对如何做好单元测试进行论述。51Testing软件测试网4Wvbc S'@rvsP
51Testing软件测试网 i"Y,Zx nw"t ^}$lQ
• 组织结构应该保证测试组参与单元测试
!o#jz-Xq f8c.t051Testing软件测试网LM4GY7U OY@
目前无论是工业界还是学术界都认为单元测试应该由开发人员开展,这是因为从单元测试的过程看,单元测试普遍采用白盒测试的方法,离不开深入被测对象的代码,同时还需要构造驱动模块、桩函数,因此开展单元测试需要较好的开发知识。从人员的知识结构、对代码的熟悉程度考虑,开发人员具有一定的优势。51Testing软件测试网pwZ&["O1i
51Testing软件测试网}3B0u O9e.i1gS6K
单元测试由开发人员进行能带来一些特别的收益。我们知道,在实践中开发人员进行单元测试一般推荐采用交叉测试的方法,例如由被测单元的调用方进行该单元的测试,即尽量避免对自己的代码进行单元测试。这种交叉的测试安排可以避免测试受开发思路影响太大,局限于原来的思路不容易发现开发过程中制造的问题;二来也达到一个技术备份或充分交流的目的,这对组织非常有利。即使不采用交叉测试的方法,而安排单元的生产者自行开展单元测试,也是有很大的优越性的,其最大的优点是快速,且能更好的实现 “ 预防错误 ” 。在人员紧张的情况下这种自行测试的安排也是不错的选择。51Testing软件测试网3P Mp8J{H%XmA&C
51Testing软件测试网.n|$JWJ{:f.D|'O
从经验值来看,单元测试投入和编码投入相比基本上是一比一,如果由专职测试队伍来进行单元测试,维持这样庞大的单一任务队伍显然是不合适的。51Testing软件测试网b|8e:j7XA
+~Sk~8\}#?0以上谈的是由开发人员进行单元测试的优点,其中主要是从单元测试的效率角度来考虑。但是从单元测试效果的角度考虑,必须从组织结构上保证测试组参与单元测试,这是因为:51Testing软件测试网6[Fy`u Wuk1^
51Testing软件测试网:S|kvR
首先,从目前国内企业普遍现状来看,测试人员质量意识要高于开发人员,测试人员参与单元测试能够提高测试质量。51Testing软件测试网v5\ph Ls"X4BV|
51Testing软件测试网$@,t[!mF5~ EIV8vk
其次,对被测系统越了解,测试才有可能越深入,测试人员参与单元测试,将使得测试人员能够从代码级熟悉被测系统,这对测试组后期集成测试和系统测试活动非常有帮助,会很大的提升集成测试和系统测试质量。51Testing软件测试网3i4|L.~)M4a,t#q?4oS;F
51Testing软件测试网 KtX0Yv E2Ov]^
测试组以何种方式参与单元测试,应该结合软件组织的实际情况来定。如果软件组织测试资源充分,测试人员对开发人员的比例较高,那么可以由测试人员独立承担部分重要模块的单元测试工作;如果测试资源不足,测试人员对开发人员的比例较低,那么可以采取由测试人员进行单元测试计划、单元测试设计的工作,而单元测试的实现和执行由开发人员来完成;而如果测试资源非常缺乏,连单元测试计划、单元测试设计都无法承担,那么测试组至少应该参与开发组的各相关单元测试文档、单元测试报告的评审,保证单元测试的质量。
&c:LX6b6n*w051Testing软件测试网j#u)dD1PJQ+s4Vc sW
• 加强单元测试流程规范性51Testing软件测试网6tgb+W/]R$k?M
51Testing软件测试网]8W2B#xR.p9MZC
• 制订单元测试的过程定义51Testing软件测试网R)t$L1^kx
51Testing软件测试网(Nb+k_i x+P4F
软件质量的提高需要规范的流程,对软件开发过程进行管理也需要依据规范的过程定义。过程定义包含阶段的划分、阶段的入口 / 出口准则、阶段的输入 / 输出、角色和职责、模板和查检表等等。将单元测试划分为几个阶段便于对单元测试过程进行控制,体现软件测试可控性。要提高单元测试的质量,首先要制定规范的单元测试过程,开发组、测试组、 SCM 组、 SQA 组等可以依据单元测试过程定义开展各自的工作,共同保证单元测试的质量。51Testing软件测试网+_7C'k1Vz@;O?*q
y7@)[}"[,TZv0单元测试过程的定义需要参照企业的实际情况,例如阶段划分可以分为四个阶段:计划、设计、实现、执行。其中计划阶段应当考虑整个单元测试过程的时间表,工作量,任务的划分情况,人员和资源的安排情况,需要的测试工具和测试方法,单元测试结束的标准及验收的标准等,同时还应当考虑可能存在的风险,以及针对这些风险的具体处理办法,并输出《单元测试计划》文档,作为整个单元测试过程的指导。设计阶段需要具体考虑对哪些单元进行测试,被测单元之间的关系以及同其他模块之间单元的关系,具体测试的策略采用哪一种、如何进行单元测试用例的设计、如何进行单元测试代码设计、采用何种工具等,并输出《单元测试方案》文档,用来指导具体的单元测试操作。实现阶段需要完成单元测试用例设计、脚本的编写,测试驱动模块的编写,测试桩模块的编写工作,输出《单元测试用例》文档、相关测试代码。执行阶段的主要工作是搭建单元测试环境,执行测试脚本,记录测试结果,如果发现错误,开发人员需要负责错误的修改,同时进行回归测试,该阶段结束需要提交《单元测试报告》。
"oK S#wwP6?/D3s:A051Testing软件测试网8{6D*\)u0oK9Q1v!Q
具体进行单元测试过程定义的时候,可以进行一定的裁减,例如可以裁减为设计和执行两个阶段,将《单元测试方案》和《单元测试用例》合二为一。51Testing软件测试网"T&~s8O0_5M
51Testing软件测试网$Ry*e N2w3r
• 单元测试工作产品必须纳入配置管理51Testing软件测试网o&Fr*Hi#h*[8L
51Testing软件测试网sqKi:Ip^#H
单元测试工作产品指单元测试完成后应交付的测试文档、测试代码及测试工具等,一般包括但不限于如下工作产品,可以根据实际情况进行适当裁剪:51Testing软件测试网-v&Ewlm9z;x1_
JFO _5J7TS1D7~0• 单元测试计划
wBw#V?051Testing软件测试网R+c:m*|*M"NI
• 单元测试方案
a Bs7C"M2[0
Uc pk:]M8mk0• 单元测试用例
$m"_ caku|,zq3m0
UlL6b.D|u0• 单元测试规程51Testing软件测试网F#U'}A[-x)D dc
"~ hj My!` E+j0• 单元测试日报51Testing软件测试网n&M|-Z+m5KG:rgO
&a7@*E0FA g0• 单元测试问题单51Testing软件测试网vJ0v,N%A.anX6U&p9T
51Testing软件测试网 C*O#~O)S~#~0h
• 单元测试报告
*LvmC `n oA051Testing软件测试网wtTN*c
• 单元测试输入及输出数据
wfnA(ZC051Testing软件测试网0QD UA L5f
• 单元测试工具
kXy-`h0
E,t\t4f+|(\$F0• 单元测试代码及设计文档
t5x&V:C%f zL051Testing软件测试网;w8uM5[3V4A_o
为了保证单元测试工作产品的准确性,需要对测试代码和脚本进行走读或检视,对测试文档进行评审。这些工作产品应该纳入到配置管理,对于其修改要走配置变更流程,并及时发布其配置状态,这样可以保持单元测试工作产品的一致性和可回溯性。51Testing软件测试网 f0s'a%NwM6_c+D%C&T
51Testing软件测试网"h [x8_4n
• 必须制订覆盖率指标和质量目标来指导和验收单元测试51Testing软件测试网c#D2YY(zf??
51Testing软件测试网0kX(n,fD
单元测试必须制订一定的覆盖率指标和质量目标,来指导单元测试设计和执行,同时作为单元测试验收的标准。设计用例时,可针对要达到的覆盖率指标来设计用例,而在测试执行时,可以依据覆盖率分析工具分析测试是否达到了覆盖率指标,如果没达到,需要分析哪些部分没有覆盖到,从而补充用例来达到覆盖率指标。而单元测试质量目标的制订,需要符合软件企业的实际过程能力,这依赖于软件企业以前单元测试过程度量数据的积累,不能凭空制造出来。有了以前度量数据的积累,完全可以了解当前组织的单元测试能力,例如单元测试每千行代码发现的缺陷数是多少。如果单元测试统计结果没有落到这个质量目标范围内,说明单元测试过程中某些方面存在一些问题,需要对过程进行审计后找出问题原因进行改进。
p)G6AO4r#sY0
^~;gq(p4S:U a Xk0t0这些指标确定下来后,一定要严格推行。会有一些测试人员找出各种理由证明覆盖率指标达不到等等,这需要 QA 根据实际情况分析指标是否合理。实际证明有一个相对简单的标准也比没有标准要好得多,我们的实践发现,通过推行硬性指标,单元测试发现的问题数目比没有标准前至少增加了 2 倍。51Testing软件测试网0x Q*cn$f,i*z&e
51Testing软件测试网1p DtZq
下面是印度 SASKEN 公司的质量目标:
:qp+c)W!B Q }051Testing软件测试网-vK2\Z5BU X
印度 SASKEN公司质量目标51Testing软件测试网-@8w$]T5r
bl+O0x*I$bv0阶段51Testing软件测试网.S1U&p5D!K:Oq
组织目标51Testing软件测试网^"Gi/H om
目标上限
)Hqv"pf0目标下限51Testing软件测试网6SOBR5b(HfV
51Testing软件测试网)xtgi(dtbr0C
HLD (概要设计)51Testing软件测试网4`Z!n3y6k-d"q ]
50 Major Defects / 100 pages51Testing软件测试网^;H&}.E"Z
55 Major Defects/100 pages51Testing软件测试网:?4q*s#N8I1hC
45 Major Defects /100 pages51Testing软件测试网 F9}h Om8y Q^S m ~
y6t `:uDao.i`na0LLD(详细设计)51Testing软件测试网"s/Wo"tB DK+sO]
40 Major Defects / 100 pages
Jv~ ~rA:iV044 Major Defects/100 pages51Testing软件测试网v q-Qj6\
36 Major Defects / 100 pages
#n^yl:f_?.v051Testing软件测试网4E]upJ
Unit Test Plan51Testing软件测试网 d4hE7O)O@
$I1e*vO7j R%h.I$^9Q0(单元测试计划)
$[;[B'Li,zR025 Major Defects / 100 pages
?@a.B.hp027.5 Major Defects /100 pages51Testing软件测试网8K7i$\Xu)A\y
22.5 Major Defects / 100 pages51Testing软件测试网 }Ak4K(v'Z
51Testing软件测试网k%]%s!|'\I(v
Code Review51Testing软件测试网l5p']`-b q yzo