黑盒测试白盒测试 黑
1.1黑盒测试 黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。 1.2白盒测试 白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。 二、测试方式 2.1黑盒测试 目前已知的有四种方法:1等价类划分法 2边界值分析法 3因果图法 4错误推测法 毕竟等价类划分法是比较常用,因此下面举例介绍此方法: 根据其定义:等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据划分为若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例。测试用例由有效等价类和无效等价类的代表数据组成,从而保证测试用例具有完整性和代表性。使用该方法设计测试用例主要有两个步骤:(1)确定等价类;(2)生成测试用例。 对于等价类划分法的测试常用的有2种:1笛卡尔乘积列出所有可能 2较为高效的部分测试 第一种方法比较好理解,就是将所有的可能列出。而第二种方法,举一个例子。需测试的方法一共有3个互相独立的条件,而这3中条件分别对应4,5,6种,那我最终所需写的测试方法则至少得为6种(在独立的情况下,取最大的数字)。
2.2白盒测试 概念:白盒测试又名为结构测试,主要目的是发现软件程序编码过程中的错误。 白盒测试的方法有三种,一是程序结构分析,根据源代码可以首先绘制程序的流程图,然后根据流程图分析程序的结构。二是逻辑覆盖方测试,根据程序的内部结构,对所有的路径进行测试,是一种穷举路径的测试方法。三是基本路径测试,根据程序的逻辑判断,分析程序中的路径,再进行用例的设计。
三、区别黑盒测试只在软件接口处进行,黑盒顾名思义,我们把测试对象看作一个黑盒子,我们无法看清里面具体是什么,只能给定输入,通过观察输出来判断是否有效。 白盒测试则是可以看见程序内部,是对于一个模块一个模块进行较为精细的测试。
黑盒测试白盒测试 黑
黑盒测试和白盒测试优缺点 黑盒测试的优点有: 比较简单,不需要了解程序内部的代码及实现; 与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 在做软件自动化测试时较为方便。 黑盒测试的缺点有: 不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%; 自动化测试的复用性较低。白盒测试的优点有: 帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 白盒测试的缺点有: 程序运行会有很多不同的路径,不可能测试所有的运行路径; 测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求; 系统庞大时,测试开销会非常大。
黑盒测试白盒测试 黑
// 通过这次复习内容,对于黑盒测试与白盒测试的概念以及区别有了深入的理解;也希望对大伙有所帮助。 用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。语句覆盖原则覆盖程序中所有可执行的语句设计的 测试 用例如下编号输入项执行语句1{x=17,y=6}执行语句32{x=1,y=-1}执行语句23{x=-1.y=-1}执行语句1判定覆盖覆盖所有的路径设计的. 和 动态方法 两大类. 强度由低到高有 "语句覆盖, 判定覆盖, 条件覆盖, 判定条件覆盖, 条件组合覆盖, 路径覆盖". 静态方法: 不运行程序, 测试的是代码及文档(语法, 业务逻辑, 词义, 数据结构). 对代码的测试: 代码走查, 代码审查, coderiviwer.对文档的测试: 验证文档的一致性, 完整性, 可读性 动态方法: 运行程序, 通常所说的测试, 就是动态测试, 根据需求对功能进行测试白盒测试的方法:
语句覆盖 , 就是设计若干个测试用例, 运行被测程序, 使得每一可执行语句至少执行一次. 判定覆盖 , 使设计的测试用例保证程序中每个判断的每个取值分支(true or false)至少经历一次, 判定覆盖具有比语句覆盖更强的测试能力, 而且具有和语句覆盖一样的简单性, 无需细分每个判定就可以得到测试用例. 条件覆盖 , 条件覆盖是指选择足够的测试用例, 使得运行这些测试用例时, 判定中每个条件的所有可能结果至少出现一次, 但未必能覆盖全部分支, 条件覆盖要检查每个符合谓词的子表达式值为真和假两种情况, 要独立衡量每个子表达式的结果, 以确保每个子表达式的值为真和假两种情况都被测试到. 判定条件覆盖 , 就是设计足够的测试用例, 使得判断中每个条件的所有可能取值至少执行一次, 同时每个判断的所有可能判断结果至少执行, 即要求各个判断条件的所有可能的条件取值组合至少执行一次.条件组合覆盖
在白盒测试法中, 选择足够的测试用例, 使所有判定中各条件判断结果的所有组合至少出现一次, 满足这种覆盖标准称为条件组合覆盖. 路径覆盖 , 是每条可能执行到的路径至少执行一次.语句覆盖是一种最弱的覆盖, 判定覆盖和条件覆盖比语句覆盖强, 满足判定/条件覆盖标准的测试用例一定也满足判定覆盖, 条件覆盖和语句覆盖, 条件组合覆盖是除路径覆盖外最强的, 路径覆盖也是一种比较强的覆盖, 但未必考虑判定条件结果的组合, 并不能代替条件覆盖和条件组合覆盖.
白盒测试作用, 通过检查软件内部的逻辑结构, 对软件中的逻辑路径进行覆盖测试, 在程序不同地方设立检查点, 检查程序的状态, 以确定实际运行状态与预期状态是否一致.
黑盒测试白盒测试 黑