黑盒VS白盒 静态VS动态 手工VS自动化

软件测试的分类:
按可见度:黑盒 白盒
按状态:静态、动态
按测试执行方式:手工、自动化

           

一、黑盒测试:在完全不考虑程序内部结构和特性的情况下,通过暴露出来的接口对程序进行测试 测试程序是否能正常接收输入,正确输出,一般针对界面或可见功能
用户视角,通过结果判断
优:1、容易实施,不需要关注内部实现,操作简单 
       2、更贴近用户视角,测试场景与正式场景更接近

缺:1、覆盖率较近,只能覆盖代码量的不足40% (不了解内部实现不知道内部分支)
       2、针对黑盒的自动化测试,复用率较低,维护成本较高
黑盒针对功能进行测试,变动较大,用例使用率较低

主要测试的地方
1、功能是否正确或遗漏
2、接口上 输入、输出是否正确
3、数据结构或外部信息是否有访问错误
4、性能是否满足 
系统测试阶段主要使用 黑盒测试 其它各个阶段也会用到

 

黑盒测试的主要设计方法
1、 等价类划分 针对程序有很多输入条件,把所有的输入把等价的归为一类,形成若干等价的代表形输入,通过典型数据进行测试用例的设计。
2、边界值分析法 特殊的等价类划分,更关注各种边界条件,开发时容易出现失误的地方 需要重点关注
3、错误推测法 基于经验或直觉,判断出程序中容易失误的地方,从而制作测试用例 例如:特殊字符、文件不存在,或文件超大等
4、因果图法 拿到程序的需求规格说明书,针对输入输出在因果图中看作原因和结果,
根据规划说明生成判断表
5、正交试验分析法 筛选出典型数据分析,主要用于筛选输入数据
6、状态迁移图法 通过处理功能点的状态迁移关系,例如审批 流程中的状态变化
7、流程分析法 通过梳理逻辑程序的路径

 

白盒测试: 逻辑结构对测试人员是透明的,又叫结构化测试或透明盒,通过对逻辑结构来设计测试用例。用逻辑的覆盖率来测试逻辑的完整性。
逻辑的单位:语句、条件、条件组合、分支、路径
语句覆盖:保证每条语句至少被执行一次
判定:
条件覆盖:覆盖表达式
分支是路径的一部分

优:

1、迫使测试人员去仔细思考软件的实现,理解原理
2、可以检测代码中的每条分支和路径
3、揭示隐藏在代码中的错误
4、对代码的测试比较彻底


缺:

1、昂贵 (较高的覆盖率,工作量大)
2 、无法检测代码中遗漏的路径和数据敏感性错误
3 、针对代码不是针对需求,不能正确验证需求实现是否正确

白盒测试的方法:
1、代码检测法 对代码进行检测
2、静态结构分析法 通过测试工具分析 系统结构 数据结构、内部控制逻辑来制定测试用例
3 、静态质量度量法 iso标准制作度量模型 
4 逻辑覆盖法 6种主要覆盖测试方法:语句 条件 条件组合 分支 路径 条件vs判定覆盖
5、基本路径测试法 白盒中主要的一种测试方法 在程序控制流图的基础上,通过分析控制构造复杂度导出基本可执行的路径的集合 进而制作测试用例的方法(控制流图:描述控制流)

 

灰盒测试
介于黑、白盒测试之间的,关注输入、输出的正确性、同时也关注内部表现
结合了黑、白的测试要素,主要用于系统组件的测试

 

二、静态测试无须执行被测程序,通过评审软件文档或代码,度量复杂度,检查软件是否符合编程标准以发现程序的不足之处,减少错误出现的概率
可以通过人工,也可以通过自动化工具
方式:互审-走查(小组)-会议(记录 正式),不正式到正式的集体活动
动态测试:通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等


黑盒:主要是动态测试方法
白盒:代码检查法和静态代码分析法就是典型的静态方法

 

 

三、手工vs 自动化

手工测试:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试
手工测试方法:众包测试、探索式测试


自动化:使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查
自动化测试方法:单元测试、接口测试、性能测试等

手工:

优:易发现缺陷 容易实施 更具有创造性、灵性性
缺:覆盖量化难 重复测试效率低 不一致性 可靠性低(前后不一致)人力资源依赖

自动化:

优: 高效率、速度快 高复用性 覆盖率容易度量 准确 可靠 不知疲劳
缺:机械、发现缺陷率低 不具备创造性 不灵活
一次性投入较大 (从实施自动化测试之初、从测试工具的选型、框架的设计到自动化测试脚本的编写、维护都需要投入较大的精力和资源)

 

转载于:https://my.oschina.net/u/3019895/blog/789113

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值