黑盒测试和白盒测试
一、黑盒测试和白盒测试
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。
1. 第一认识:
黑盒测试
测试特点:测试功能;
测试依据:需求规格说明书
方法举例:等价类划分、边界值测试
优点:能站在用户的立场上进行测试
缺点:不能测试程序内部特定部位,如程序有误,则无法发现。
白盒测试
测试特点:测试程序接口与结构
测试依据:软件程序
方法举例:逻辑覆盖
优点:对程序内部特定部位进行覆盖测试。
缺点:无法检验程序外部特性。
2.第二认识:
黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,针对“软件界面”和”软件功能“进行测试,只检查功能是否符合需求规格说明书能正常使用。因此黑盒测试又叫功能测试或数据驱动测试。
白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个打开的盒子,他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为”结构测试“或”逻辑驱动测试“。白盒测试是按照程序内部的结构来测试程序,通过测试检验产品内部动作是否按照设计规格说明书的要求正常进行,检验程序中的每条通道是否都按照规定正常工作。
3.第三认识:
黑盒测试主要是为了发现以下错误:
(1)是否有不正确或者遗漏了的功能;
(2)在接口上,输入能否正确的接受?能否输出正确的结果?
(3)是否有数据结构错误或外部信息(例如数据库文件)访问错误?
(4)性能上是否能够满足要求?
(5)是否有初始化或终止性错误?
黑盒的测试用例技术设计有三种: 边界值分析、等价类划分、错误推测法。
白盒测试主要是想对程序模块进行以下检查:
(1)对程序模块的所有独立的执行路径至少测试一遍;
(2)对所有的逻辑判定,取”真“与”假“的两种情况都能至少测一遍;
(3)在循环的边界和运行的界限内执行循环体;
(4)测试内部数据结构的有效性,等等;
(5)静态白盒测试 :即代码审查,正式审查和检验设计和程序代码;
(6)动态白盒测试 利用查看代码功能和实现方式得到的信息来设计和执行测试,也叫结构测试;
白盒的测试用例技术包括逻辑覆盖和基本路径测试。
逻辑覆盖:是以程序内在逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。
基本路径测试:在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
相关阅读
经销商,代理商,分销商的区别
left join、inner join、right join的区别
sql的left join 、right join 、inner join之间的区别 -left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等
对于刚刚接触用户体验交互设计的同学来说,很多云里雾里的英文缩写,分不清各个概念代表着什么含义,今天给大家做一个简单地介绍。简述
细心的小伙伴应该已经发现了微信出来了一个零钱通,这个的功能就跟支付宝的余额宝有点类似,但又不完全相同,如果你们也不太清楚这其中
文章给大家慢慢梳理一下计算机科学家们是如何将人工智能从最早的一点点苗头,发展到能够支撑那些每天被数亿用户使用的应用的。人工