




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章软件测试基本技术3.1 黑盒测试与白盒测试 3.2 白 盒 测 试技术 3.3 黑 盒 测 试技术本讲教学目标了解黑盒测试和白盒测试的基本概念; 了解黑盒测试和白盒测试的基本概念; 掌握几中白盒测试技术:静态测试、程 掌握几中白盒测试技术:静态测试、 序插桩和逻辑覆盖技术。 序插桩和逻辑覆盖技术。3.1 黑盒测试与白盒测试任何工程产品都可以使用白盒测试和黑 盒测试两种方法之一进行测试。 盒测试两种方法之一进行测试。1黑盒测试黑盒测试:已知产品的功能设计规格和 黑盒测试: 用户手册, 用户手册,可以进行测试证明每个功能是否 实现、每个实现了的功能是否符合要求, 实现、每个实现了的功能是否符合要求,以 及产品的性能是否满足用户的要求。 及产品的性能是否满足用户的要求。软件的黑盒测试意味着测试要在软件 的接口处进行, 的接口处进行 , 测试人员完全不考虑程序 内部的逻辑结构和内部特性, 内部的逻辑结构和内部特性 , 只依据程序 的需求规格说明书和用户手册, 的需求规格说明书和用户手册 , 检查程序 的功能是否符合它的功能说明, 的功能是否符合它的功能说明 , 以及性能 是否满足用户的要求。 是否满足用户的要求 。 因此黑盒测试又叫 功能测试或数据驱动测试。 功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类 错误: 错误:1. 是否有不正确或遗漏的功能? 是否有不正确或遗漏的功能? 2. 在接口上,输入是否能正确的接受?能 在接口上,输入是否能正确的接受? 否输出正确的结果? 否输出正确的结果? 3. 是否有数据结构错误或外部信息(例如 是否有数据结构错误或外部信息( 数据文件)访问错误? 数据文件)访问错误? 4. 性能上是否能够满足要求? 性能上是否能够满足要求? 5. 是否有初始化或终止性错误? 是否有初始化或终止性错误?2白盒测试白盒测试:已知产品的内部工作过程,可 白盒测试:已知产品的内部工作过程, 以通过测试证明每种内部操作是否符合设计规 格要求,所有内部成分是否以经过检查。 格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做 细致的检查, 细致的检查,它允许测试人员利用程序内部的 逻辑结构及有关信息,设计或选择测试用例, 逻辑结构及有关信息,设计或选择测试用例, 对程序所有逻辑路径进行测试, 对程序所有逻辑路径进行测试,通过在不同点 检查程序状态,确定实际状态是否与预期的状 检查程序状态, 态一致。 态一致。因此白盒测试又称为结构测试或逻辑 驱动测试。 驱动测试。白盒测试须对程序模块进行如下 检查: 检查:1. 保证一个模块中的所有独立路径至少 被使用一次 2. 对所有逻辑值均测试true和false。 对所有逻辑值均测试true和false。 3. 在循环的边界和运行的界限内执行循 环体。 环体。 4. 检查内部数据结构以确定其有效性。 检查内部数据结构以确定其有效性。3.2 白 盒 测 试 技 术白盒测试是一种被广泛使用的逻辑测 试方法,也称为结构测试或逻辑驱动测试。 试方法,也称为结构测试或逻辑驱动测试。 白盒测试对象基本上是源程序, 白盒测试对象基本上是源程序,是以 程序的内部逻辑为基础的一种测试方法。 程序的内部逻辑为基础的一种测试方法。白盒测试方法又可分为静态测试和动态测 试。静态测试是一种不通过执行程序而进行 测试的技术, 测试的技术,其关键功能是检查软件的表示 和描述是否一致,没有冲突或者没有歧义。 和描述是否一致,没有冲突或者没有歧义 。 它瞄准的是纠正软件系统在描述、 它瞄准的是纠正软件系统在描述、表示和规 格上的错误,是任何进一步测试的前提。 格上的错误,是任何进一步测试的前提。 而 动态测试需要软件的执行, 动态测试需要软件的执行,当软件系统在模 拟的或真实的环境中执行之前、之中和之后, 拟的或真实的环境中执行之前、之中和之后 , 对软件系统行为的分析是动态测试的主要特 点。它显示了一个系统在检查状态下是正确 还是不正确。 还是不正确。3.2.1 白盒测试静态测试最常见的静态测试是找出源代码的语 法错误,这类测试可由编译器来完成, 法错误 , 这类测试可由编译器来完成 , 因 为编译器可以逐行分析检验程序的语法, 为编译器可以逐行分析检验程序的语法 , 找出错误并报告。除此之外, 找出错误并报告 。 除此之外 , 测试人员须 采用人工的方法来检验程序, 采用人工的方法来检验程序 , 有些地方存 在非语法方面的错误, 在非语法方面的错误 , 只能通过人工检测 的方法来判断。 的方法来判断。 人工检测的方法主要有代码检查法、 人工检测的方法主要有代码检查法 、 静态结构分析法等。 静态结构分析法等。1代码检查法代码检查法主要是通过桌面检查, 代码检查法主要是通过桌面检查,代码审 查和走查方式,对以下内容进行检查: 查和走查方式,对以下内容进行检查: (1) 检查代码和设计的一致性; 检查代码和设计的一致性; (2) 代码的可读性以及对软件设计标准的遵循 情况; 情况; (3) 代码逻辑表达的正确性; 代码逻辑表达的正确性; (4) 代码结构的合理性; 代码结构的合理性; (5) 程序中不安全、不明确和模糊的部分; 程序中不安全、不明确和模糊的部分; (6) 编程风格方面的问题等。 编程风格方面的问题等。代码检查方式主要有: 代码检查方式主要有:(1)桌面检查 (2)代码审查 (3)走查2静态结构分析法在静态结构分析中, 在静态结构分析中,测试人员通常通过使 用测试工具分析程序源代码的系统结构、 用测试工具分析程序源代码的系统结构、数据 结构、数据接口、内部控制逻辑等内部结构, 结构、数据接口、内部控制逻辑等内部结构, 生成函数调用关系图、模块控制流图、 生成函数调用关系图、模块控制流图、内部文 件调用关系图等各种图形、图表, 件调用关系图等各种图形、图表,清晰地标识 整个软件的组成结构。 整个软件的组成结构。 通过分析这些图表,包括控制流分析、 通过分析这些图表,包括控制流分析、数 据据流分析、接口分析、表达式分析等, 据据流分析、接口分析、表达式分析等,使其 便于阅读与理解,然后可以通过分析这些图表, 便于阅读与理解,然后可以通过分析这些图表, 检槿砑忻挥写嬖谌毕莼虼砦蟆?检查软件有没有存在缺陷或错误。静态结构分析法通常采用以下一些方法进 行源程序的静态分析: 行源程序的静态分析: (1) 通过生成各种图表,来帮助对源程序 通过生成各种图表, 的静态分析 常用的的各种引用表主要有: 常用的的各种引用表主要有: 标号交叉引用表 变量交叉引用表 子程序( 函数) 子程序(宏、函数)引用表 等价表 常数表常用的的各种关系图、控制流图主要有: 常用的的各种关系图、控制流图主要有: 函数调用关系图:列出所有函数, 函数调用关系图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年环保法律法规知识测试试卷及答案
- 2025年护士资格考试试题范围总结试题及答案
- 冷链医疗器械培训试题(含答案)
- 供电所电网知识产权培训课件
- 供电公司计量知识培训总结课件
- 2025年医疗设备器械不良事件报告制度规范
- 供水管道防冻知识培训课件
- 2025年高温蠕变试验机项目建议书
- 供水安全知识培训计划课件
- 2026届内蒙古乌海市乌达区化学高三上期中经典模拟试题含解析
- 微信小店2025爆品爆单宝典
- 2025年贵州省存量房买卖合同
- 2024-2025学年湖北省武汉市高一上学期1月期末考试英语试题(解析版)
- 复印打字服务协议书
- 2025 年全国保密教育线上培训考试测试卷及答案
- 村医依法执业培训
- 保育师项目附件
- 电信装维人员服务规范
- 2025年安徽宣城市宣州区国有资本运营集团招聘笔试参考题库附带答案详解
- 2025年教师招聘考试教育法律法规高分题库及答案(共101题)
- 电厂水处理值班员(第二版)中级工
评论
0/150
提交评论