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

08、白盒测试

2011-07-14 27页 pdf 1MB 25阅读

用户头像

is_259107

暂无简介

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

历史搜索

    清空历史搜索