测试方法和测试工具解决方案(2)
三、相关工具软件测试网l4mxCH mFhm.D3f
软件测试网7KW C ~ va
#b,c2up LD!Hc7K0 在我们了解了测试所涉及的内容之后,测试方法和采用相对应的自动化测试工具是至关重要的。自动化的测试工具意味着在测试活动中减少相当部分开销,真正的含义是它参加了测试的很大部分活动;同时,有些测试活动是靠手工方式难以实现,难以度量的。我们在对自动化的测试工具做成本效益分析时,应当考虑到项目的预期时间和人工消耗,一些测试用手工来做可能由几个人需要几个星期甚至更长时间来完成,而采用自动化的测试工具可能只需要几个小时或者几分钟;象基于Client-Server的负载测试或者是基于Web系统的测试如果要用手工测试来完成是很困难和不现实的。所以,在测试活动中选择自动化的测试工具是非常必要的。软件测试网R+bWatB8_7`
软件测试网5j"A~J0{5@
下面我们就相应工具进行简要的介绍。
m$W o:u:dM?Mr0 软件测试网3|.ZlF` Gd;H1. 嵌入式软件测试工具--LOGISCOPE软件测试网N P&CpwJv&B
%\:L9v?9i:w
kpfy0 LOGISCOPE 是一组嵌入式软件测试工具集。它贯穿于软件开发、代码评审、单元/集成测试、系统测试、以及软件维护阶段。它面向源代码进行工作。LOGISCOPE 针对编码、测试和维护。因此,LOGISCOPE 的重点是帮助代码评审(Review )和动态覆盖测试(Testing )。软件测试网"U4E,rQ/cH:S
LOGISCOPE对软件的分析,采用基于国际间使用的度量方法(Halstead、McCabe等)的质量模型,以及从多家公司收集的编程规则集,可以从软件的编程规则,静态特征和动态测试覆盖等多个方面,量化地定义质量模型,并检查、评估软件质量。
h1oW-R,L\sf6w0VnfP2i1P4d6I-_0 LOGISCOPE 在开发阶段,查找可寻找潜在的错误。软件测试网#m5FI)xZ#h3o
在代码评审阶段,LOGISCOPE 定位那些具有80%错误的程序模块。
@9i8A-c&YDP0 通过对未被测试代码的定位,LOGISCOPE 帮助找到隐藏在未测试代码中的缺陷。
V)m%@#T ur7{
?0 项目领导和质量工程师用LOGISCOPE 定期地检查整个软件的质量。
1Ls(?LKW\ A0 在各个阶段用LOGISCOPE ,改进软件工程的实践,训练程序员的编写良好的代码和测试活动,确保系统易于维护,减少风险。软件测试网}H.B:T"J
在有合同关系时,合同方可以用LOGISCOPE 明确定义验收时质量等级和执行测试。承制方可以用LOGISCOPE 演示其软件的质量。
A-ow_ T\!]${0 LOGISCOPE 获取ISO/IEC9126 定义的"Quality Characteristics ";软件测试网l1tehCp,W9c
LOGISCOPE 为ISO-9001提供需求(test acceptance criteria and qulity records );
X$acDt/D@~Z;b0 LOGISCOPE 为开发者提供SEI/CMM在第2 级(Repeatable )所要求的软件质量跟踪等关键实践的要求,推进开发组织尽快达到SEI/SMM 的3 级。
H-}t{ ff|D01)LOGISCOPE 用于开发阶段
(q"s8K S0q7c5X'^0
(Cc$`*Q}0定义质量模型软件测试网,U3PE*cLV"]G-a@
软件测试网I1{lo#F,O h
8S7kV*GyR0 RuleChecker 预定义了50 个的编程规则:名称约定(如:局部变量用小写等);表示约定(如:每行一条指令); 限制(如:不能用GOTO 语句,不能修改循环体中的计数器等)。用户可以从这些规则中选择,也可以用Tcl 、脚本和编程语言定义新的规则。此外,还提供50 个面向安全-关键系统的编程规则。软件测试网2_
w.zY!?K5T
s)H1F
@M*PWM0 Audit 以ISO9126 模型作为质量评价模型的基础。质量评价模型描述了从Halstend 、McCabe 的度量方法学和VERILOG 引入的质量方法学中的质量因素(可维护性、可重用性、等)和质量准则(可测试性、可读性、等)。软件测试网^Q/aHb|
软件测试网ga
yJH&z,es {
)Qd6cuF}2E0 工程项目领导或质量管理人员可以根据准则、应用软件的生存周期、合同需求等,挑选并采纳适用于项目需求的质量模型。
t:]/E5~x(e!j0 软件测试网AMyj5P2e"pkS3N3{%U验证、评审和改进代码软件测试网x3R wyg^&[;S0N
软件测试网iQ,J G&f+nG$b Yd
RuleChecker 用所选的规则对源代码进行验证。指出所有不符合编程规则的代码,并提出改进源代码的解释和建议。RulrChecker 通过文本编辑器直接访问源代码并指出需要纠正的位置。
7b f+l7R.k7\0X9q3X Q0软件测试网'zeN2a6i6{l7xl}R
2E C xg l}G+AL;Gc5g0 Audit 将被评价的软件与规定的质量模型进行比较,用图形形式显示软件质量的级别,因此,质量人员可以把精力集中到需要修改的代码部分。对度量元素和质量模型不一致的地方作出解释并提出纠正的方法。软件测试网9RC+R{$G$f/K:Z
软件测试网)XQ7Z"@+ov:F
2)LOGISCOPE 用于测试阶段软件测试网H2McygLd*Y
定义测试准则软件测试网 Jm&Ko,Y%T A$er
#QG9J%D M6C-pQ"W0 LOGISCOPE 推荐对指令(IB)、逻辑路径(DDP)和调用路径(PPP)的覆盖测试。此外对安全-关键软件还提供了MC/DC 的覆盖测试。
U#~yAK0'Y&Z5B&FEc0m`0测试的有效性软件测试网+^PX.u%d
TestChecker 产生每个测试的测试覆盖信息和累计信息。用直方图显示覆盖比率,并根据测试运行情况实时在线更改。随时显示新的测试所反映的测试覆盖情况。
9hX;`3AHG5EiT'u0
Sy&iO1or7Y0 TestChecker 允许所有的测试运行依据其有效性进行管理。用户可以减少那些用于非回归测试的测试。软件测试网2mBs|T1n]C8\,u^
软件测试网_uyn)d'~测试的优化软件测试网2RR0jCi
}M
j5yCy"l0xq'X U0 在测试阶段的第一步,执行的测试是功能性(黑箱)测试。其目的是检查所期望的功能是否已实现。在测试初期,覆盖率会迅速增加。象样的测试工作一般能达到70%的覆盖率。但是,要提高此比率是十分困难的。主要是由于测试用例覆盖了相同的测试路径。这时,需要对测试策略做一些改变。执行结构化(白箱)测试,即,要检测没有执行过的逻辑路径,定义新的测试用例覆盖这些路径。
2dYd/PD7qt PD0
w%{P\/B2VHyk#kQ0 在执行测试期间,当测试策略改变时,综合的运用TestChecker 检测关键因素以提高效率。将TestChecker与Audit 配合使用能够帮助用户分析未测试的代码。
:aZ0g"u;EN"ni0
$H@-[v'Dp0 用户可以显示所关心的代码,并通过对执行未覆盖的路径的观察得到有关的信息。信息以图形(控制流图)和文本(伪代码和源文件)的形式提交,并在其间建立导航关联。
#?|2eP3n q*t,o0
KD;Lz2B[%Y#b0 TestChecker 管理系统声明新的测试、生成有关文档、定义启动命令、以及自动执行的方法。
mP_9|v0~9M0 软件测试网&|-_"A$K F4~5w#\"]3)LOGISCOPE 用于维护阶段
;dU|6R2L5n B0U2l0软件测试网AI"y$Z#uBKe
p.F`f9X0 人们广泛的认识到应用系统的维护费用与开发费用基本相等。经验表明50%的软件维软件测试网y6DU1D!CW
软件测试网g5qo&F"I\}
-S'`9U |$H/{ No0 护时间化在对结构、逻辑和运行的理解上。LOGISCOPE 可以大大的减少对未知系统的理解所需的时间。软件测试网]:jh2Oi(|
u]
yu2yNO Q$Vd0 Audit 将应用系统的框架以文件形式(部件文件间的关系)和调用图的形式(函数和过程间的关系)可视化。函数的逻辑结构以控制流图的形式显示。在控制流图上选定一个节点,即可得到相对应的代码。可以在不同的抽象层上对应用系统进行分析,不同层次间的导航,促进对整体的理解。
#e+a1Q#O:z#Tly#A0 软件测试网KD]V&Ocn u4)对嵌入式领域的支持
3WU2T#v{`0软件测试网 _
D Uu1l&^
9aQ.vz4nsg g*o;`0 LOGISCOPE 支持多种测试方式。特别是对嵌入式领域软件的支持。