白盒测试中的六种覆盖方法.docx

上传人:李司机 文档编号:1250296 上传时间:2022-09-02 格式:DOCX 页数:6 大小:40.33KB
返回 下载 相关 举报
白盒测试中的六种覆盖方法.docx_第1页
第1页 / 共6页
白盒测试中的六种覆盖方法.docx_第2页
第2页 / 共6页
白盒测试中的六种覆盖方法.docx_第3页
第3页 / 共6页
白盒测试中的六种覆盖方法.docx_第4页
第4页 / 共6页
白盒测试中的六种覆盖方法.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《白盒测试中的六种覆盖方法.docx》由会员分享,可在线阅读,更多相关《白盒测试中的六种覆盖方法.docx(6页珍藏版)》请在三一办公上搜索。

1、白盒测试中的六种掩盖方法摘要:白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简洁的依据代码设计用例,而是需要依据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。由于对于不同简单度的代码规律,可以衍生出很多种执行路径,只有适当的测试方法,才能关心我们从代码的迷雾森林中找到正确的方向。本文介绍六种白盒子测试方法:语句掩盖、判定掩盖、条件掩盖、判定条件掩盖、条件组合掩盖、路径掩盖。白盒测试的概述由于规律错误和不正确假设与一条程序路径被运行的可能性成反比。由于我们常常信任某规律路径不行能被执行,而事实上,它可能在正常的状况下被执行。由于代码中的笔误是随机

2、且无法杜绝的,因此我们要进行白盒测试。白盒测试又称结构测试,透亮盒测试、规律驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清晰盒子内部的东西以及里面是如何运作的。白盒的测试用例需要做到: 保证一个模块中的全部独立路径至少被使用一次 对全部规律值均需测试true和false 在上下边界及可操作范围内运行全部循环 检查内部数据结构以确保其有效性白盒测试的目的:通过检查软件内部的规律结构,对软件中的规律路径进行掩盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否全都。白盒测试的特点:依据软件设计说明书进行测

3、试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的规律路径进行掩盖测试。白盒测试的实施步骤:1 .测试方案阶段:依据需求说明书,制定测试进度。2 .测试设计阶段:依据程序设计说明书,依据肯定法律规范化的方法进行软件结构划分和设计测试用例。3 .测试执行阶段:输入测试用例,得到测试结果。4 .测试总结阶段:对比测试的结果和代码的预期结果,分析错误缘由,找到并解决错误。白盒测试的方法:总体上分为静态方法和动态方法两大类。静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描述是否全都,没有冲突或者没有歧义。动态分析的主要特点是当软件系统在模拟的或真实的环

4、境中执行之前、之中和之后,对软件系统行为的分析。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个系统在检查状态下是正确还是不正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种掩盖测试方法属于动态分析方法。白盒测试的优缺点1.优点 迫使测试人员去认真思索软件的实现 可以检测代码中的每条分支和路径 揭示隐蔽在代码中的错误 对代码的测试比较彻底 最优化2.缺点 昂贵 无法检测代码中遗漏的路径和数据敏感性错误 不验证规格的正确性六种掩盖方法首先为了下文的举例描述便利,这里先给出一张程序流程图。(本文以1995年软件设计师考试的一道考试题目为例,图中红色

5、字母代表程序执行路径)。1、语句掩盖1)主要特点:语句掩盖是最起码的结构掩盖要求,语句掩盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。2)用例设计:(假如此时将A路径上的语句1T去掉,那么用例如下)XY路径15050OBDE29070OBCE3)优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。4)缺点:由于这种测试方法仅仅针对程序规律中显式存在的语句,但对于隐蔽的条件和可能到达的隐式规律分支,是无法测试的。在本例中去掉了语句1一T去掉,那么就少了一条测试路径。在if结构中若源代码没有给出else后面的执行分支,那么语句掩盖测试就不会考虑这种状况。但是我们不能排解

6、这种以外的分支不会被执行,而往往这种错误会常常消失。再如,在DoThile结构中,语句掩盖执行其中某一个条件分支。那么明显,语句掩盖对于多分支的规律运算是无法全面反映的,它只在乎运行一次,而不考虑其他状况。2、判定掩盖(整个推断式子TTFFTF)1)主要特点:判定掩盖又称为分支掩盖,它要求设计足够多的测试用例,使得程序中每个判定(整体结果)至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个推断的取真、取假至少执行一次。2)用例设计:XY路径19090OAE25050OBDE39070OBCE3)优点:判定掩盖比语句掩盖要多几乎一倍的测试路径,当然也就具有比语句掩盖更强的测试

7、力量。同样判定掩盖也具有和语句掩盖一样的简洁性,无须细分每个判定就可以得到测试用例。4)缺点:往往大部分的判定语句是由多个规律条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅推断其整个最终结果,而忽视每个条件的取值状况,必定会遗漏部分测试路径。3、条件掩盖1)主要特点:条件掩盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。2)用例设计:XY路径19070OBC21070OBD3)优点:明显条件掩盖比判定掩盖,增加了对符合判定状况的测试,增加了测试路径。4)缺点:要达到条件掩盖,需要足够多的测试用例,但条件掩盖并不能保

8、证判定掩盖。条件掩盖只能保证每个条件至少有一次为真,而不考虑全部的判定结果。4、判定/条件掩盖D主要特点:设计足够多的测试用例,使得判定中每个条件的全部可能结果至少消失一次,每个判定本身全部可能结果也至少消失一次。2)用例设计:XY路径19090OAE25050OBDE39070OBCE47090OBCE3)优点:判定/条件掩盖满意判定掩盖准则和条件掩盖准则,弥补了二者的不足。4)缺点:判定/条件掩盖准则的缺点是未考虑条件的组合状况。5、组合掩盖D主要特点:要求设计足够多的测试用例,使得每个判定中条件结果的全部可能组合至少消失一次。2)用例设计:XY路径19090OAE29070OBCE390

9、30OBDE47090OBCE53090OBDE67070OBDE75050OBDE3)优点:多重条件掩盖准则满意判定掩盖、条件掩盖和判定/条件掩盖准则。更改的判定/条件掩盖要求设计足够多的测试用例,使得判定中每个条件的全部可能结果至少消失一次,每个判定本身的全部可能结果也至少消失一次。并且每个条件都显示能单独影响判定结果。4)缺点:线性地增加了测试用例的数量。6、路径掩盖1)主要特点:设计足够的测试用例,掩盖程序中全部可能的路径。2)用例设计:XY路径19090OAE25050OBDE39070OBCE47090OBCE3)优点:这种测试方法可以对程序进行彻底的测试,比前面五种的掩盖面都广。

10、4)缺点:由于路径掩盖需要对全部可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、简单的测试用例,使得工作量呈指数级增长。而在有些状况下,一些执行路径是不行能被执行的,如:If(!A)B+;If(!A)D-;这两个语句实际只包括了2条执行路径,即A为真或假时候对B和D的处理,真或假不行能都存在,而路径掩盖测试则认为是包含了真与假的4条执行路径。这样不仅降低了测试效率,而且大量的测试结果的累积,也为排错带来麻烦。总结白盒测试是一种被广泛使用的规律测试方法,是由程序内部规律驱动的一种单元测试方法。只有对程序内部非常了解才能进行适度有效的白盒测试。但是贯穿在程序内部的规律存在着不确定性和无穷性,尤其对于大规模简单软件。因此我们不能穷举全部的规律路径,即使穷举也未必会带来好运(穷举不能查出程序规律规章错误,不能查出数据相关错误,不能查出程序遗漏的路径)。那么正确使用白盒测试,就要先从代码分析入手,依据不同的代码规律规章、语句执行状况,选用适合的掩盖方法。任何一个高效的测试用例,都是针对详细测试场景的。规律测试不是片面的测试正确的结果或是测试错误的结果,而是尽可能全面地掩盖每一个规律路径

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号