白盒测试的六种覆盖准则

上传人:鲁** 文档编号:473154020 上传时间:2023-07-20 格式:DOC 页数:6 大小:32KB
返回 下载 相关 举报
白盒测试的六种覆盖准则_第1页
第1页 / 共6页
白盒测试的六种覆盖准则_第2页
第2页 / 共6页
白盒测试的六种覆盖准则_第3页
第3页 / 共6页
白盒测试的六种覆盖准则_第4页
第4页 / 共6页
白盒测试的六种覆盖准则_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《白盒测试的六种覆盖准则》由会员分享,可在线阅读,更多相关《白盒测试的六种覆盖准则(6页珍藏版)》请在金锄头文库上搜索。

1、白盒测试作为测试人员常用的一种测试措施,越来越受到测试工程师的注重。白盒测试并不是简朴的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的措施进行测试。由于对于不同复杂度的代码逻辑,可以衍生出许多种执行途径,只有合适的测试措施,才干协助我们从代码的迷雾森林中找到对的的方向。本文简介六种白盒子测试措施:语句覆盖、鉴定覆盖、条件覆盖、鉴定条件覆盖、条件组合覆盖、途径覆盖。 白盒测试的概述 由于逻辑错误和不对的假设与一条程序途径被运营的也许性成反比。由于我们常常相信某逻辑途径不也许被执行, 而事实上,它也许在正常的状况下被执行。由于代码中的笔误是随机且无法杜绝的,因此我们要

2、进行白盒测试。 白盒测试又称构造测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计措施,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清晰盒子内部的东西以及里面是如何运作的。 白盒的测试用例需要做到: 保证一种模块中的所有独立途径至少 被使用一次 对所有逻辑值均需测试 rue 和 alse 在上下边界及可操作范畴内运营所有循环检查内部数据构造以保证其有效性 白盒测试的目的:通过检查软件内部的逻辑构造,对软件中的逻辑途径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以拟定实际运营状态与预期状态与否一致。 白盒测试的特点:根据软件设计阐明书进行测试、对程序内部

3、细节的严密检查、针对特定条件设计测试用例、对软件的逻辑途径进行覆盖测试。 白盒测试的实行环节: .测试筹划阶段:根据需求阐明书,制定测试进度。2.测试设计阶段:根据程序设计阐明书,按照一定规范化的措施进行软件构造划分和设计测试用例。.测试执行阶段:输入测试用例,得到测试成果。 4测试总结阶段:对比测试的成果和代码的预期成果,分析错误因素,找到并解决错误。白盒测试的措施:总体上分为静态措施和动态措施两大类。 静态分析是一种不通过执行程序而进行测试的技术。静态分析的核心功能是检查软件的表达和描述与否一致,没有冲突或者没有歧义。 动态分析的重要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之

4、后 ,对软件系统行为的分析。动态分析涉及了程序在受控的环境下使用特定的盼望成果进行正式的运营。它显示了一种系统在检查状态下是对的还是不对的。在动态分析技术中,最重要的技术是途径和分支测试。下面要简介的六种覆盖测试措施属于动态分析措施。 白盒测试的优缺陷 1. 长处迫使测试人员去仔细思考软件的实现 可以检测代码中的每条分支和途径 揭示隐藏在代码中的错误 对代码的测试比较彻底 最优化 2.缺陷 昂贵 无法检测代码中漏掉的途径和数据敏感性错误不验证规格的对的性六种覆盖措施 一方面为了下文的举例描述以便,这里先给出一张程序流程图。(本文以195年软件设计师考试的一道考试题目为例,图中红色字母代表程序执

5、行途径)。 、语句覆盖1)重要特点:语句覆盖是最起码的构造覆盖规定,语句覆盖规定设计足够多的测试用例,使得程序中每条语句至少被执行一次。 2)用例设计:(如果此时将A途径上的语句1T去掉,那么用例如下) Y 途径 150 0BE 290 70E )长处:可以很直观地从源代码得到测试用例,不必细分每条鉴定体现式。 )缺陷:由于这种测试措施仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和也许达到的隐式逻辑分支,是无法测试的。在本例中去掉了语句1T去掉,那么就少了一条测试途径。在i构造中若源代码没有给出else背面的执行分支,那么语句覆盖测试就不会考虑这种状况。但是我们不能排除这种以外的分支不会

6、被执行,而往往这种错误会常常浮现。再如,在o-Wle构造中,语句覆盖执行其中某一种条件分支。那么显然,语句覆盖对于多分支的逻辑运算是无法全面反映的,它只在乎运营一次,而不考虑其她状况。2、鉴定覆盖 1)重要特点:鉴定覆盖又称为分支覆盖,它规定设计足够多的测试用例,使得程序中每个鉴定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。 2)用例设计: X Y途径 1 90 90OE 20 5 ODE 3 90 0 OBC3)长处:鉴定覆盖比语句覆盖要多几乎一倍的测试途径,固然也就具有比语句覆盖更强的测试能力。同样鉴定覆盖也具有和语句覆盖同样的简朴性

7、,不必细分每个鉴定就可以得到测试用例。 4)缺陷:往往大部分的鉴定语句是由多种逻辑条件组合而成(如,鉴定语句中涉及AN、O、AE),若仅仅判断其整个最后成果,而忽视每个条件的取值状况,必然会漏掉部分测试途径。 3、条件覆盖 )重要特点:条件覆盖规定设计足够多的测试用例,使得鉴定中的每个条件获得多种也许的成果,即每个条件至少有一次为真值,有一次为假值。 2)用例设计: Y途径 1 9 0 OBC 2 0OD)长处:显然条件覆盖比鉴定覆盖,增长了对符合鉴定状况的测试,增长了测试途径。 4)缺陷:要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证鉴定覆盖。条件覆盖只能保证每个条件至少有一次为

8、真,而不考虑所有的鉴定成果。 4、鉴定条件覆盖 )重要特点:设计足够多的测试用例,使得鉴定中每个条件的所有也许成果至少浮现一次,每个鉴定自身所有也许成果也至少浮现一次。)用例设计: X Y 途径 900 OAE 20 50OBDE 390 70 OBE 4 7 90 CE 3)长处:鉴定/条件覆盖满足鉴定覆盖准则和条件覆盖准则,弥补了两者的局限性。)缺陷:鉴定/条件覆盖准则的缺陷是未考虑条件的组合状况。5、组合覆盖 1)重要特点:规定设计足够多的测试用例,使得每个鉴定中条件成果的所有也许组合至少浮现一次。 2)用例设计: Y 途径 1990 OAE 2 907 OBCE 3 0 30 OBDE

9、 4 70 90 OE 0 90 BDE 70OB 5050 BDE 3)长处:多重条件覆盖准则满足鉴定覆盖、条件覆盖和鉴定条件覆盖准则。更改的鉴定/条件覆盖规定设计足够多的测试用例,使得鉴定中每个条件的所有也许成果至少浮现一次,每个鉴定自身的所有也许成果也至少浮现一次。并且每个条件都显示能单独影响鉴定成果。 4)缺陷:线性地增长了测试用例的数量。 6、途径覆盖1)重要特点:设计足够的测试用例,覆盖程序中所有也许的途径。2)用例设计:X Y 途径 1 0 OA 2 5 5 OBE 970 OBCE 470 OBCE 3)长处:这种测试措施可以对程序进行彻底的测试,比前面五种的覆盖面都广。 )缺

10、陷:由于途径覆盖需要对所有也许的途径进行测试(涉及循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。而在有些状况下,某些执行途径是不也许被执行的,如: I (!)B+; If(!A)D-;这两个语句实际只涉及了2条执行途径,即A为真或假时候对和的解决,真或假不也许都存在,而途径覆盖测试则觉得是涉及了真与假的条执行途径。这样不仅减少了测试效率,并且大量的测试成果的累积,也为排错带来麻烦。总结白盒测试是一种被广泛使用的逻辑测试措施,是由程序内部逻辑驱动的一种单元测试措施。只有对程序内部十分理解才干进行适度有效的白盒测试。但是贯穿在程序内部的逻辑存在着不拟定性和无穷性,特别对于大规模复杂软件。因此我们不能穷举所有的逻辑途径,虽然穷举也未必会带来好运(穷举不能查出程序逻辑规则错误,不能查出数据有关错误,不能查出程序漏掉的途径)。 那么对的使用白盒测试,就要先从代码分析入手,根据不同的代码逻辑规则、语句执行状况,选用适合的覆盖措施。任何一种高效的测试用例,都是针对具体测试场景的。逻辑测试不是片面的测试对的的成果或是测试错误的成果,而是尽量全面地覆盖每一种逻辑途径。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号