黑盒白盒测试

简介: 黑盒白盒测试

黑盒测试

黑盒测试:把测试的对象看作是一个黑盒子,检查程序的功能是否符合说明。(数据驱动)

存在的问题:举个例子

假设一个程序P有输入量X和Y及输出量Z,在字长为32位的计算机上运行,若X和Y取整数,按黑盒方法进行穷举测试

我们来分析分析这道题,当我们按黑盒方法进行穷举测试,可能采用的测试数据组2^64.

如果测试一组数据需要一毫秒,我们完成测试需要5亿年。

黑盒测试用例设计

等价类划分

把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分选取少数有代表性的数据作为测试用例。

有效等价类

无效等价类

划分等价类的原则:

1、如果输入条件规定了取值范围,或者是值的个数,可以确定一个有效得等价类和两个无效得等价类。

2、如果输入条件规定了输入值的集合,或者规定了“必须如何”得条件,这时可以确定一个有效等价类和一个无效等价类。

3、如果输入条件是一个布尔量,可以确定一个有效等价类和一个无效等价类。

4、如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理,可以确定一个有效等价类和一个无效等价类。

5、如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同的角度违反规则)

边界值分析方法

三角形三条边ABC,应该满足ABC都大于0,两边之和大于第三边,

这里的任何一个范围都不能有差错,比如三条边都不能是大于等于0,这里不能有等于。这就是边界值的问题。

边界值分析设计测试用例应该遵循的原则:

1、如果规定了取值范围,则对应该范围的边界内附近,恰好在边界个边界外附件(无效等价类中)设计测试用例。

这里举个例子:规定1—5千克邮件收费两元,我们应该选取0.9,1,1.1,4.9,5,5.1千克设计测试用例。

2、如果规定了数据的个数,则应对最小个数,最大个数,比最小个数少1,比最大个数大1进行测试。

3、针对规格说明中的每个输出条件使用前面的准则。

4、如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件,线性表),等选有序集的第一个和最后一个元素作为测试用例。

等价类和边界值方法的区别

1、编辑遏制不是从等价类中随便选取一个数据作为代表,而是选一个或者特定的值,使这个等价类每个边界都作为测试的目标。

2、边界值分析不能只考虑输入条件,还要考虑输出条件。

一般联合等价类划分和边界值分析两种方法。

错误推测法

直觉

因果图

适用范围:测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这样就需要用因果图。

步骤:

1、找出原因,结果

2、找出原因和原因之间有什么关系,原因和结果之间有什么关系。

3、特殊情况,用记号标明约束限制条件

4、转换成判定表

5、把判定表每一列拿出来做位依据,设计测试用例。

基本符号

约束条件的符号

其实最后这我也没有看懂奥,先留着吧,总有一天会豁然开朗的。

白盒测试

白盒测试:看作一个透明的盒子,对程序所有逻辑路径进行测试。(逻辑驱动)

这个图包括了执行20次的循环,路径覆盖的话,包含了5^20条路径,每条路径需要1毫秒,我们需要3170年。所以还是有很大的问题。

逻辑覆盖

两个判断,四条路径。

语句覆盖

:设计若干个测试用例,运行被测程序,使得每一个可执行语句至少被执行一次.

判定覆盖:判定点全部为真或者全部为假,分别至少经历一次。

条件覆盖

:设计若干个测试用例,运行被测程序,使得程序中每个判断每个条件的可能值至少执行一次。

判定条件覆盖:设计足够的测试用例, 使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次。

条件组合覆盖

:设计足够的测试用例,运行被测程序,使得每个判断所有可能的条件取值组合至少被执行一次。

路径覆盖

相关文章
|
4月前
|
测试技术
黑盒功能测试工具UFT的使用
黑盒功能测试工具UFT的使用
56 0
黑盒功能测试工具UFT的使用
|
5月前
|
SQL 安全 网络协议
黑盒渗透测试:揭开未知的安全隐患
【8月更文挑战第31天】
157 0
|
测试技术 开发工具
我眼中的黑盒与白盒测试
记录一下黑盒与白盒的体会
372 0
|
测试技术 关系型数据库 Oracle
|
Java PHP C++
黑盒白盒测试工具
http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis C/C++ 1、flawfinder http://www.
1578 0
|
测试技术 API C#
C#借助API实现黑盒自动化测试工具的编写
C#借助API实现黑盒自动化测试工具的编写 本文代码下载(VS2010开发):http://download.csdn.net/source/2796362 本文摘要: 1:一个简单的例子        1.1:EnumChildWindows介绍    1.2:主要源码 2:难点:如何获取指定的控件句柄    2.1:使用SPY++    2.2:获取控件位置    2.3:获取控件ID 1:一个简单的例子        在日常编码过程中,我们常常会进行自动化测试。
1250 0
|
1月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
5天前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
43 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
3天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
24 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡

热门文章

最新文章