- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的
按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。
因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们
从代码的迷雾森林中找到正确的方向。本文介绍六种白盒子测试方法:语句覆盖、判定覆盖、条件覆
盖、判定条件覆盖、条件组合覆盖、路径覆盖。
白盒测试的概述
由于逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。由于我们经常相信某逻辑路
径不可能被执行,而事实上,它可能在正常的情况下被执行。由于代码中的笔误是随机且无法杜绝的,
因此我们要进行白盒测试。
白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用
例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面
是如何运作的。
白盒的测试用例需要做到:
·保证一个模块中的所有独立路径至少被使用一次
·对所有逻辑值均需测试true和false
·在上下边界及可操作范围内运行所有循环
·检查内部数据结构以确保其有效性
白盒测试的目的:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不
同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
白盒测试的特点:依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设
计测试用例、对软件的逻辑路径进行覆盖测试。
白盒测试的实施步骤:
1.测试计划阶段:根据需求说明书,制定测试进度。
2.测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用
例。
3.测试执行阶段:输入测试用例,得到测试结果。
4.测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。
白盒测试的方法:总体上分为静态方法和动态方法两大类。
静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描
述是否一致,没有冲突或者没有歧义。
动态分析的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系
统行为的分析。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了
一个系统在检查状态下是正确还是不正确。在动态分析技术中,最重要的技术是路径和分支测试。下
面要介绍的六种覆盖测试方法属于动态分析方法。
白盒测试的优缺点
1.优点
·迫使测试人员去仔细思考软件的实现
·可以检测代码中的每条分支和路径
·揭示隐藏在代码中的错误
·对代码的测试比较彻底
·最优化
2.缺点
·昂贵
·无法检测代码中遗漏的路径和数据敏感性错误
·不验证规格的正确性
六种覆盖方法
首先为了下文的举例描述方便,这里先给出一张程序流程图。(本文以1995年软件设计师考试
的一道考试题目为例,图中红色字母代表程序执行路径)。
1、语句覆盖
1)主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得
程序中每条语句至少被执行一次。
2)用例设计:(如果此时将A路径上的语句1—〉T去掉,那么用例如下)
XY路径
15050OBDE
29070OBCE
3)优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。
4)缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到
达的隐式逻辑分支,是无法测试的。在本例中去掉了语句1—〉T去掉,那么就少了一条测试路径。
在if结构中若源代码没有给出else后面的执行分支,那么语句覆盖测试就不会考虑这种情况。但是
我们不能排除这种以外的分支不会被执行,而往往这种错误会经常出现。再如,在Do-While结构中,
语句覆盖执行其中某一个条件分支。那么显然,语句覆盖对于多分支的逻辑运算是无法全面反映的,
它只在乎运行一次,而不考虑其他情况。
2、判定覆盖
1)主要特点:判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定
至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至
少执行
您可能关注的文档
- 用VC++实现USB接口读写数据的程序.pdf
- 用全站仪进行工程施工放样.pdf
- 用心培育静待花开.pdf
- 用认知策略记忆知识点.pdf
- 用联系与发展的观点看问题.pdf
- 田家炳中学九年级第三次月考政史试题(卷).pdf
- 甲乙两方的责任书怎么写范文 (16页).pdf
- 由韩剧引发的韩国思想政治教育方法探析.pdf
- 申报材料范文精选0.pdf
- 甲醇水溶液的密度.pdf
- 2025年利时集团股份有限公司校园招聘模拟试题及完整答案一套.docx
- 2025年高档数控机床项目可行性研究报告.docx
- (2025)60万吨年甲醇制烯烃项目可行性研究报告建议书案例(一).docx
- 初中生物多样性保护教育实践与教学效果评估教学研究课题报告.docx
- 小学科学探究活动中多媒体数据记录与分析工具研究教学研究课题报告[001].docx
- 提高学生音乐艺术素养方案.pptx
- 初中化学课堂中化学反应实验对学生实验操作技能的培养研究教学研究课题报告.docx
- 基于核心素养的初中物理教学评价体系构建与应用教学研究课题报告.docx
- 初中舞蹈校本课程与民族传统文化的深度融合研究教学研究课题报告.docx
- 2025年利时集团股份有限公司校园招聘模拟试题有答案.docx
文档评论(0)