- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试牛倩第5章节白盒测试上机作业
软件测试 第五章 白盒测试 牛倩 黑盒测试 等价类划分 边界值分析 因果图 决策表 本章要点 白盒测试的含义 白盒测试无法实现穷举测试的原因 白盒测试的优点和局限性 白盒测试中的静态测试和动态测试 逻辑覆盖法、基本路径测试及控制结构测试 白盒测试方法的综合使用策略 什么是白盒测试? 白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。 测试人员利用程序的内部逻辑结构和相关信息,对程序的内部结构和路径进行测试,检验其是否达到了预期的设计要求。 谁来负责白盒测试? 白盒测试一般由软件开发人员进行 在集成测试阶段,如果需要白盒测试,则由有经验的测试人员和软件开发人员共同完成。 有了黑盒测试为什么还要白盒测试? 白盒测试是一种主要的单元测试方法。如果基础单元不能保证质量,则会给后续测试工作带来很多困难。 黑盒测试只能观察软件的外部表现,即使软件的输入输出都是正确的,却并不能说明软件就是正确的。因为程序有可能用错误的运算方式得出正确的结果,例如“负负得正,错错得对”,只有白盒测试才能发现真正的原因。 白盒测试能发现程序里的隐患,象内存泄漏、误差累计问题。在这方面,黑盒测试存在严重的不足。 白盒测试的优点 与黑盒测试相比,白盒测试深入到程序的内部进行测试,更易于定位错误的原因和具体位置,弥补了黑盒测试只能从程序外部进行测试的不足。 白盒测试的局限性 即使白盒测试覆盖了程序中的所有路径,仍不一定能发现程序中的全部错误。这是因为: 白盒测试不能查出程序中的设计缺陷。 白盒测试不能查出程序是否遗漏了功能或路径。 白盒测试可能发现不了一些与数据相关的错误。 白盒测试的主要目的 保证一个模块中的所有独立路径至少被执行一次; 对所有的逻辑值均需要测试真、假两个分支; 在上下边界及可操作范围内运行所有循环; 检查内部数据结构以确保其有效性。 白盒测试的方法及分类 白盒测试分为静态测试和动态测试两大类。 静态测试:代码检查法、静态结构分析法、代码质量度量法等。 动态测试:逻辑覆盖法、基本路径测试法、控制结构测试、程序插桩等。 静态白盒测试(略) 代码检查法 代码检查包括桌面检查、代码审查和走查等。 代码检查主要检查代码和设计的一致性,代码是否遵循标准,代码的可读性,代码的逻辑正确性,代码结构的合理性等。 代码检查应在编译和动态测试之前进行,并且应尽早进行。 静态白盒测试(略) 静态结构分析法 静态结构分析主要是以图形的方式表现程序的内部结构,供测试人员对程序结构进行分析。 在静态结构分析中,测试人员通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图表,以清晰地表示程序的内部结构,供测试人员对其进行分析,进而查找程序中的错误。 静态白盒测试(略) 代码质量度量法 根据ISO/IEC 9126国际标准的定义,软件质量包括以下 六个方面: 功能性(Functionality) 可靠性(Reliability) 可用性 (Usability) 效率 (Efficiency) 可维护性(Maintainability) 可移植性(Portability) 可根据ISO 9126质量模型构造软件的静态质量度量模 型,通过量化的数据评估被测程序的质量。 逻辑覆盖法 逻辑覆盖法(Logic-coverage Testing)是以程序内部的逻辑结构为基础设计测试用例的方法。 根据对程序内部的逻辑结构的覆盖程度,逻辑覆盖法具有不同的覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、条件组合覆盖、修正条件判定覆盖。 例子程序(画出程序控制流图): if( (a1) (b=0)) x=x/a; if ((a=2) || (x1)) x=x+1; 程序框图 1.语句覆盖 设计若干条测试用例,使程序中每条可执行语句至少执行一次。 Case1:A=2, B=0, X=3 Case2:A=2, B=1, X=3 Case1:A=2, B=0, X=3 2. 判定覆盖(分支覆盖) 设计测试用例,使程序中的每个逻辑判断的取真和取假的分支至少经历一次。 第一组:Case1:A=2, B=0, X=3 第一组:Case3:A=1, B=0, X=1 判定覆盖无法确定判定内部条件的错误。 Case4:A=3, B=0, X=3 Case5:A=2, B=1, X=1 说明:以上仅考虑了两出口的判断,我们还应把判定覆盖准则扩充到多出口判断(如Case语句)的情况。因此,判定覆盖更为广泛的含义应该是使得每一个判定获得每一种可能的结果至少一次。 3.条件覆盖 设计若干测试用
您可能关注的文档
最近下载
- 2024年13起典型火灾案例及消防安全知识专题培训.pptx
- 2024届高考语文复习:+深度分析材料内涵,扣住情境任务写作+课件22张.pptx VIP
- GBT1037-2021 塑料薄膜与薄片水蒸气透过性能测定 杯式增重与减重法.pdf
- 建筑机电工程抗震支架设计规范GB50981-2014.pdf
- SH∕T 3022-2019 石油化工设备和管道涂料防腐蚀设计标准.pdf
- 初中数学知识点(苏教版).doc VIP
- 浅谈我国个人所得税改革对工薪阶层的影响.docx
- 物资采购领域廉洁风险防控建设重要性及对策建议思考.docx
- “三级”安全教育培训记录.docx
- 2021年全国新高考I卷语文试题.doc VIP
文档评论(0)