为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

白盒测试入门

2017-09-21 26页 doc 590KB 49阅读

用户头像

is_882336

暂无简介

举报
白盒测试入门白盒测试入门 白盒测试入门 教师介绍 中国软件评测中心 课程安排 白盒测试技术 ? 白盒测试与黑盒测试的差异, ? 理论讲解 ? 白盒测试包括什么, ? 练习 ? 如何安排白盒测试, ? 演示 何谓白盒测试, ? 相对黑盒测试而言 ? 也称结构测试或逻辑驱动测试一、白盒测试与黑盒测试的差异 ? 前提 ? 目标 ? 重点 ? 穷举路径测试 •1 黑盒测试vs白盒测试 Y,f(X)黑盒测试 白盒测试 不涉及程序结构 考查程序逻辑结构 用软件规格说明生成测 用程序结构信息生成测 Y 试用例试用例f(x) X...
白盒测试入门
白盒测试入门 白盒测试入门 教师介绍 中国软件评测中心 课程安排 白盒测试技术 ? 白盒测试与黑盒测试的差异, ? 理论讲解 ? 白盒测试包括什么, ? 练习 ? 如何安排白盒测试, ? 演示 何谓白盒测试, ? 相对黑盒测试而言 ? 也称结构测试或逻辑驱动测试一、白盒测试与黑盒测试的差异 ? 前提 ? 目标 ? 重点 ? 穷举路径测试 •1 黑盒测试vs白盒测试 Y,f(X)黑盒测试 白盒测试 不涉及程序结构 考查程序逻辑结构 用软件规格说明生成测 用程序结构信息生成测 Y 试用例试用例f(x) X 可适用于从单元测试到 通常适用于单元测试和 系统联试集成测试 对所有逻辑路径进行测 某些代码段得不到测试 试 白盒测试与调试的异同 ? 目的相同 ? 基础相同白盒测试: :黑盒测试 IN P OUT ? 范围不同 ? 执行人员不同 白盒测试的内容 ? 静态结构 ? 代码质量度量二、白盒测试包括什么, ? 代码检查 ? 功能确认与接口分析 ? 逻辑覆盖率分析 ? 性能与效率分析 ? 内存分析 •2 白盒测试的方法 静态测试 ? 静态测试 ? 基本概念 ? 类别 ? 动态测试静态结构分析? ?代码质量度量 ? 代码跟踪 ?代码检查 ? 优势 analysis Database Source Code Testing 1、静态结构分析 Tools T esting Reports Quality Visualization 静态结构分析 函数调用关系图 ? 是一种对代码的机械性的、程式化的特性进行 分析的方法 ? 静态结构分析常需使用软件工具进行? 包括控制流分析、数据流分析、接口分析、表 达式分析? 系统结构图 ? 函数调用关系图 ? 文件调用关系图 ? 模块控制流图 类关系图? •3 模块控制流图 •4 •5 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 文件调用关系图 类关系图 Clas s A 289 288 285 278 277 276 +Attrib_A:int +Method_A()284 281 283 C lass BClass C 280 +Attrib_B:int+Attrib_C:int +M etho d_ B ()+M eth od_ C() 287 279 C la ss D +Attrib_D:int275 +M e t h od _ D() 类继承图 软件质量度量 ? 遵循 ISO 9126 标准, 采取度量统计的方法分 析程序的某些质量因素2、软件质量度量 ? 主要评估可维护性 ? 质量模型的建立 •6 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 质量模型 Metrics1 Criteria1 Metrics2 ? 质量因素,Factor, 依据各分类标 Metrics3 准取值组合权重来计算 Criteria2 Metrics4 ? 分类标准,Criteria, Factor 由一系列质量规则组成 Metrics5 Criteria3 ? 规则,Metrics, Metrics6 量化的行为 Metrics7 Criteria4 Metrics8 Line复杂度 Halstead复杂度 ? Halstead复杂度是以程序中出现的运算 ? 错误率与代码规模有关 符和运算元为计数对象 ? 统计程序的源代码行数 ? n1,运算符 ? 简单的、粗糙的方法 ? n2,运算数 ? N1,运算符总数 ? N2,运算数总数 ? 优点 ? 缺点 Halstead复杂度(续) McCabe复杂度 ? Vocabulary,n ? 圈复杂度(Cyclomatic complexity) v(g)定 ? Observed Length,N 义 ? Estimated Length,N*? 优点 ? Volume, V? 缺点 ? 圈复杂度v(g)计算方法? Level,L ? Difficulty,D ? Mental Effort,E •7 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn McCabe复杂度(续) 1 l b c a 1 2、3 d e2 6 4、5f g 3 8 7E=15 1 i h6 4 j n=12 5 9 2 3 4 7 8 5 k v(g)=510 11 用McCabe度量法检查代码的可维护性 McCabe复杂度(续) ? 经验显示,McCabe圈复杂度与错误发生 率密切相关 ? 圈复杂度可以很好的预测 ?错误发生的可能性 ?代码可被理解的程度 维护的工作量? ?调试的容易程度 •8 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn McCabe复杂度(续) ? 基本复杂度(Essential Complexity) ev(g) ? 依照结构化原则简化模块流程后,模块 的复杂度,用于衡量程序非结构化程度 ? 优点: 非结构化的逻辑 非结构化的逻辑 McCabe复杂度(续) McCabe复杂度(续) ? 模块复杂度(Module Design Complexity) ? 基本复杂度ev(g)的计算 iv(g) ? 设计复杂度(Design Complexity) S 0 ? 集成复杂度(Integration Complexity) S 1 ? 全局数据复杂度(Global Data Complexity) gdv(g) ? 局部数据复杂度(Specified Date Complexity) sdv(g) v(g) = 4 ev(g) = 1 ? 病态数据复杂度(Pathological Complexity)pv(g) •9 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn ? 规则Kiviat 图 ? 分类标准Kiviat图 ? 分类标准分布图 100 90 80 70 60 50 40 30 20 10 0 优 良 中 差 •10 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn main( ) ? 质量因素分布图 { int a[10], i, j, tmp; for(i=0; i <=10; i++) scanf("%d", &a[i]); for(i=0; i <=10; i++) for(j=i+1; j <= 10; j++) if ( a[i] < a[j]) { a[i] = a[j]; } for(i=0; i<=10; i++) printf("%d ", a[i]); } 代码检查 ? 目的 ? 排除违背程序编写标准的问题 排除违背程序编程风格的问题 ?3、代码检查 找出程序中不可移植部分 ? 发现程序中不安全、不明确和模糊的部分 ? 确保代码和设计的一致性 ? 确保代码的逻辑表达的正确性 ?? 确保代码结构的合理性 ? 方式? 桌面检查 人工走查 ? ? 代码审查 代码检查(续) 代码检查(续) ? 确保代码编程标准有效的被执行 file1.c 中间文件1 ? 提高代码质量,减轻动态测试负担 file2.c中间文件2 file3.c 中间文件3 词法分析 ? 代码可重复使用,降低项目风险与经费 ? 增加程序的可理解性,降低维护成本 结果显示/ 定位模式匹配 ? 效率高,实践表明,人工走查平均能查 30%~70 %的逻辑设计和 出被测程序的 IBM代码审查会的查错效率高 编码缺陷, 命名规则 80% 达 •11 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 代码检查(续) 代码检查(续) ? ? 需求描述文档变量命名和类型审查 ? 程序设计文档? 变量初始值检查 ? 程序的源代码清单? 变量作用范围检查 ? 代码编码标准? 程序逻辑审查 ? 代码缺陷检查表? 程序语法检查 ? … ? 程序结构检查 代码编码标准 代码缺陷检查表 ? ISO C++ standard (ISO/IEC? 格式14882:1998(E)) 入口和出口的连接? ? Motor Industry Software Reliability ? 程序语言的使用Association制订的MISRA标准 ? 存储器使用 ? 参考软件工程专家的建议,如,Scott ? 测试和转移Meyers和Martin Klaus ? 性能?“Effective C++” ? 可维护性?“More Effective C++” ? 逻辑?“Examining C++ Program Analyzers” ? 可靠性 void main() int main() { { int a = 0, b = 0; float a = 1.0; … switch (a) float b = 2.0; { … case 0: if ((a * 2 – b) == 0.0) b = -1; { case 1: b = b / a; return 1; break; } } return 0; … } } •12 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn void func() int main() { {int sum, i; float a = 72.0; float b = 55.0; for (i =1; i < 30000; i++) long result = 0; { sum = sum + i; } result = (long)(a*b); return 1; return 0; } } int func() void func() { { char c1 = 0; int i = 0; c1 = 145; … if (c1 > 300) for (i = 0; i < 10; i++) { { return 3; if (i == 5) } { break; if (c1 > 25) { } return 2; } } … return 1;return; } } int main() int foo103() { { int *pi = 0; char *pc = 0; char *c = "TEST"; if (pc == pi) char d[20]; {return 1; … } memcpy(d, c, sizeof (d)); else { … return 0; } } } •13 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn int main() { ... char b[8]; 动态测试 strncpy(b, "This is a test", sizeof (b)); printf("%s\n", b); ... } 动态测试特点 测试内容 ? 必须生成测试数据来运行被测试程序, ? 功能确认与接口测试 取得程序运行的真实情况、动态情况, ? 逻辑覆盖率分析 进而进行分析 ? 测试质量依赖于测试数据 ? 性能与效率分析 ? 生成测试数据、分析测试结果的工作量 ? 内存分析 大,使开展测试工作费时、费力、费人 ? 动态测试中涉及多方面工作,人员多、 设备多、数据多,有较好的管理和 工作规程 功能确认与接口测试要求 ? 根据软件概要设计说明书和详细设计说 明书, 4、功能确认与接口测试 ? 验证程序和详细设计说明的一致性, ? 检验每个软件单元模块能否正确的实现 其功能,满足其性能和接口要求, ? 单元测试中测试每个单元模块,集成测 试中进一步把单元组装成部件并测试其 正确性, •14 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 功能确认与接口测试范围 单元接口测试 ? 输入参数的数目是否与模块变元数目相同, ? 单元接口 ? 参数属性与变元属性是否一致, ? 局部数据结构 ? 参数与变元的单位是否一致, ? 重要的执行路径 ? 传到被调用模块的变元的数目是否与参数的数 ? 错误处理的路径 目相同, ? 影响上述几点的边界条件 ? 传到被调用模块的变元的属性是否与参数的属 性相同,? 传到被调用模块的变元的单位是否与参数的单 位相同, 单元接口测试 扩展接口测试 ? 文件属性正确吗, ? 引用内部函数时,变元次序属性和数目 ? open语句正确吗,是否正确, ? 是否引用了与当前入口无关的参数, ? 规定的格式是否与I/O语句相符, ? 缓冲区的大小与记录的大小相匹配吗,? 公用于输入的变量有没有改变, ? 使用文件前文件打开了吗, ? 在经过不同模块时,全局变量的定义是 ? 文件结束的条件安排了吗,否一致, ? 限制条件是否以参量的形式传递, ? I/O错误能处理吗, ? 在输出信息中有文字错误吗, 局部数据结构测试 重要的执行路径 ? 不正确的或不一致的数据说明, ? 指那些处在完成单元功能的算法、控制、 数据处理等重要部位的执行路径,也指 ? 初始化有错或没有赋值, 由于控制较复杂而易错的路径。 ? 不正确的变量名,拼错或缩写了,, 常见的错误有, ? 不一致的数据类型, ? 误解或错误处理算术运算的优先次序, ? 上溢、下溢或引用错。 ? 混用不同类的操作, ? 初始化不正确, ? 计算精度不够, ? 表达式的符号表示不正确。 •15 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 比较操作的错误 错误处理路径 ? 错误的描述不易理解, ? 不同的数据类型比较, ? 指出的错误并不是所遇到的错误, ? 不正确的逻辑操作苻或不正确的优先次序, ? 出错时,还没有进行出错处理就先进行系统干 ? 本应相等,但因精度不够使之不等,如浮点数 预, 相等比较, ? 错误边界条件的处理不正确, ? 不正确地比较变量,如使用错误的变量进行比 ? 描述错误的信息不正确,不足以确定出错的原 较, 因, ? 不正常的或不存在的循环终止条件, ? 错误处理方式是否符合要求,如是否应重置或 ? 当遇到发散的循环时无法跳出循环, 恢复, ? 错误地修改循环变量。? 错误处理是否被适当地激发。 int add( int a, int b ) int division( int a, int b ) { { int result; int result; result = a + b; result = a / b; return (result); return (result); }} #include #include void main() { int a, b, result; 5、逻辑覆盖率分析scanf( "%d %d", &a, &b ); result = add( a, b ); printf( "a+b= %d \n", result ); result = division( a, b ); printf( "a/b= %d \n", result ); return; } •16 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 逻辑覆盖率分析 语句覆盖 ? 依据被测程序的逻辑结构设计测试用例,驱动 ? Statement Coverage 被测程序运行完成测试。? C1覆盖、行覆盖,line coverage,、段 ? 语句覆盖 Statement Coverage覆盖,segment coverage,和基本块覆 ? 判定覆盖 Decision Coverage盖,basic block coverage, ? 条件覆盖 Condition Coverage ? 分支条件组合覆盖 Condition/Decision ? 每一个可执行语句至少执行一次Coverage ? 主要缺点是对一些控制结构很迟钝 ? 多条件覆盖 Multiple Condition Coverage ? 修正条件/判定覆盖 MC/DC ? 路径覆盖 Path Coverage 语句覆盖示例 语句覆盖示例-2 if ( A && ( B || C ) ) x=1; else x=0; 用例1用例2 用例1用例2 A T F A T F B T F B T F C T F C T F A && ( B || C ) T F A && ( B || C ) T F A || ( B || C ) T F 100% 语句覆盖率 100% 语句覆盖率 判定覆盖 判定覆盖(续) ? Decision Coverage ? 这个度量包括IF、For、SWITCH、 ? C2覆盖、分支覆盖,branch coverage,、 所 exception handlers 、interrupt 有边界覆盖,all-edges coverage,、基本路 handlers等的覆盖 径覆盖,basis path coverage ,、判定到判定 ? 缺点,这个度量忽略了BOOL型表达式内 decision-decision-path或DDP 路径覆盖,BOOL取值。整个BOOL型表达式被 部的testing, TRUE 和FALSE,而不 认为是取值一个 ? 程序中每个判定至少都获得一次“真”值和“假”值logical-and 或 考虑是否内部包含了 (例如if-statement和while-statement) logical-or 操作符 •17 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 判定覆盖示例 判定覆盖示例-2 A && ( B | | C )1 2 3 4 5 6 7 8 A F F F F T T T T 1 2 3 4 5 6 7 8 B F F T T F F T T A F F F F T T T T C F T F T F T F T B F F T T F F T T A&&(B||C) F F F F F T T T C F T F T F T F T A&&(B&&C) F F F F F F F T A&&(B||C) F F F F F T T T 50% 50% 50% 50% 判定覆盖率判定覆盖率 条件覆盖 条件覆盖示例 ? Condition Coverage A && ( B || C ) ? 每个判定中的每个条件的可能值至少满 足一次1 2 3 4 5 6 7 8 ? logical-and 和logical-or 独立起来。条件 A F F F F T T T T 覆盖独立的度量每一个子表达式。这个 B F F T T F F T T 度量和decision coverage 相似,但是对 控制流更敏感C F T F T F T F T ? 但是,完全的条件覆盖并不能保证完全A&&(B||C) F F F F F T T T 的判定覆盖 100% 条件覆盖率 50% 判定覆盖率 分支条件组合覆盖 分支条件组合覆盖示例 ? Condition/Decision Coverage A && ( B || C ) ? 是条件覆盖,condition coverage,和分支覆 盖,decision coverage,的一个混血 1 2 3 4 5 6 7 8 ? 判定中每个条件的所有可能至少出现一次,并 A F F F F T T T T 且每个判定本身的判定结果也至少出现一次B F F T T F F T T ? 它有两者的简单性但是没有两者的缺点C F T F T F T F T ? 但是,没有考虑单个判定对整体结果的影响A&&(B||C) F F F F F T T T A&&(B&&C) F F F F F F F T •18 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 多条件覆盖 多条件覆盖(续) ? 对于C, C++和Java等具有short circuit ? Multiple Condition Coverage 的语言,多条件覆盖的益处是 operators? 判定条件中条件的每一个可能组合至少 它进行一个彻底的测试 出现一次? 缺点是它可能是非常冗长乏味的来决定 ? 相对于条件覆盖,即通过logical-and和 一个需要的测试用例的最小设置,尤其 logical-or把子表达式独立起来相比,多 BOOL型表达式是对于非常复杂的条件覆盖需要的测试用例是用一个条件 ? 可能会有路径遗漏 的逻辑操作符的真值表来确定的 多条件覆盖示例 多条件覆盖示例(续) A && ( B || C ) if ((a > 1) && (b == 0)) {1 2 3 4 5 6 7 8 x = x / a; A F F F F T T T T }B F F T T F F T T if ((a == 2) || (x > 1)) C F T F T F T F T {A&&(B||C) F F F F F T T T x = x + 1; } 多条件覆盖示例(续) 多条件覆盖示例(续) 1. A>1,B=0 T1,T2 用例 覆盖组合 覆盖条件 执行路径 2. A>1,B!=0 T1,-T2 A B X 3. A<=1,B=0 -T1,T2 1,5 1 2 0 3 T1,T2,T3,T4 T T 4. A<=1,B!=0 -T1,-T2 5. A=2,X>1 T3,T4 2,6 2 2 1 1 T1,-T2,T3,-T4 F T 6. A=2,X<=1 T3,-T4 7. A!=2,X>1 -T3,T4 4,8 3 1 1 1 -T1,-T2,-T3,-T4 F F 8. A!=2,X<=1 -T3,-T4 3,7 4 1 0 3 -T1,T2,-T3,T4 F T •19 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 修正条件/判定覆盖 修正条件/判定覆盖(续) ? Modified Condition/Decision Coverage ? 每一个程序模块的入口和出口点都要考 ? 也被称为MC/DC 和MCDC。虑要至少被调用一次,每个程序的判定 ? 这个度量需要足够的测试用例来确定每 到所有可能的结果值要至少转换一次 个条件能够影响到包含的判定的结果。? 程序的判定被分解为通过逻辑操作符 ? “航空运输和装备系统软件认证标准”(AND, OR, etc.)连接为BOOL条件。每一 个条件对于判定的结果值是独立的,或 ? 由欧美的航空/航天制造厂商和使用单位 者说单条件的变化将导致判决的变化联合制定,波音公司等,、RTCA颁布 ? 目前在国外的国防、航空航天领域广泛 应用 修正条件/判定覆盖示例 修正条件/判定覆盖示例(续) A&&BA&&B 用例1 用例2 用例3 用例4 用例1 用例2 用例3 用例4 A T T F F A T T F F B T F T F B T F T F A&&B T F F F A&&B T F F F 修正条件/判定覆盖示例(续) 修正条件/判定覆盖示例(续) A&&B A&&B 用例1 用例2 用例3 用例4 用例1 用例2 用例3 用例4 A T T F F A T T F F B T F T F B T F T F A&&B T F F F A&&B T F F F •20 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 修正条件/判定覆盖示例(续) 修正条件/判定覆盖示例(续) A&&BA && ( B || C ) 1 2 3 4 5 6 7 8 用例1 用例2 用例3 用例4 A T T T T F F F F A T T F F B T T F F T T F F C T F T F T F T F B T F T F A&&(B||C) T T T F F F F F A&&B T F F F 修正条件/判定覆盖示例(续) 修正条件/判定覆盖示例(续) A && ( B || C )A && ( B || C ) 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 A T T T T F F F F A T T T T F F F F B T T F F T T F F B T T F F T T F F C T F T F T F T F C T F T F T F T F A&&(B||C) T T T F F F F F A&&(B||C) T T T F F F F F 修正条件/判定覆盖示例(续) 修正条件/判定覆盖示例(续) A && ( B || C ) A && ( B || C ) 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 A T T T T F F F F A T T T T F F F F B T T F F T T F F B T T F F T T F F C T F T F T F T F C T F T F T F T F A&&(B||C) T T T F F F F F A&&(B||C) T T T F F F F F A 5 6 7 1 2 3 B 4 2 C 4 3 •21 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 路径覆盖 路径覆盖(续) ? 路径覆盖的优点是,完全彻底的测试。 ? Path Coverage ? 但有两个缺点,一是,路径是以分支的 ? 也称呼为断言覆盖,predicate coverage,指数级别增加的,二是,许多路径可能 ? 要求覆盖程序中所有可能的路径 与执行的数据相关 ? 一个路径就是一个从函数的入口到函数的? 为解决难题只得把覆盖的路径数压缩到 出口的唯一的系列分支一定限度内,例如,程序的循环体只执 行一次 ? 使用独立路径数 if ((a > 1) && (b == 0)) { x = x / a; } 6、性能与效率分析if ((a == 2) || (x > 1)) { x = x + 1; } •22 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 性能与效率分析 性能与效率分析 ? 单个函数的性能分析 ? 在源代码的入口与出口进行插桩,然后 ? 函数的调用频率分析收集时间数据来测量代码的运行时间与 调用次数 ? 代码执行频率分析 ? 针对影响性能的代码段作优化处理 ? 响应时间 ? 并发性 7、内存分析 •23 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 内存分析 内存错误 ? 内存分配未成功,却使用了它 ? 了解程序内存分配的真实情况 ? 内存分配虽然成功,但是尚未初始化就 监测内存使用情况,发现对内存的不正常使? 用 引用它?在系统崩溃前发现内存泄露错误 ? 内存分配成功并且已经初始化,但操作 越过了内存的边界? 发现内存分配错误 ? 忘记了释放内存,造成内存泄露 精确显示发生错误时的上下文情况? ?指出发生错误的原由? 释放了内存却继续使用它 在问题出现前发现征兆? int i; CString strTitle0[] = {_T("站名"),_T("经度 "),_T("纬度"),_T("高度")}; unsigned short usLen0[] = {70,135,135,40}; …… for ( i = 0; i < 5; i++ ) m_list_equip_deploy.InsertColumn(i,str Title0[i],LVCFMT_LEFT,usLen0[i],-1); …… •24 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 代码跟踪 ? 高级方式 ?在任务或函数级别跟踪程序的运行流程代码跟踪 ? 控制流 ?跟踪所有函数所有分支点的决策执行情况 ? 源代码跟踪 ?跟踪执行的每一条语句 三、如何安排白盒测试, •25 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 按阶段 软件测试方法在实际中的应用 ? 单元测试 ? 黑盒测试和白盒测试相结合 ? 集成测试? 静态和动态相结合 ? 代码审查和静态结构分析、代码质量度 ? 系统测试 量相结合 ? 验收测试 软件测试完成准则 测试工具 ? 使用了特定的测试用例 ? 纯软件的测试工具 ? 查出了预定数目的错误 ? 纯硬件的测试工具,如逻辑分析仪和仿 ? 错误强度曲线下降到预定的水平 真器等, ? 达到测试中所规定的测试项 ? 其它标准 ? 软硬件结合的测试工具 白盒测试工具 基本原理 缺陷 ? 静态结构分析 ? 代码质量度量纯软件测试工具 软件打点 性能数据不精确 ? 代码检查 ? 功能确认与接口测试 一般用于系统运 行频率不高的情 纯硬件测试工具 信号采样 ? 覆盖率分析 况? 性能分析 软件打点 ? 内存分析软硬件结合工具 ,总线捕获 •26 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 谢谢, •27 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
/
本文档为【白盒测试入门】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索