总:黑盒测试主要包括:等价类划分、边界值分析

白盒测试主要包括:路径覆盖法、逻辑覆盖法等

1.黑盒测试

不考虑内部结构,在软件的接口处进行测试

核心技术:等价类划分、边界值分析。

等价类划分:

等价类:有集合S,R为S上的一种等价关系,则对于S中的任意元素x,称集合S’={ y| R(x,y) }为元素x的等价类。

例如:大学生的集合S,等价关系为同一个时代出生。那么对于90后的张三,其等价类为所有90后学生组成的集合。

基本过程

  • 将所有可能的输入分为有效输入和无效输入两个集合,通过定义等价关系,细分成多个有效等价类和多个无效等价类;
  • 若必要,也可以对输出进行等价类划分;
  • 在各等价类中构造用例,最终形成测试用例集。
  • 用例集必须覆盖全部有效等价类
  • 每个无效等价类至少对应一个用例
  • 为测试用例设计测试数据;
  • 执行测试;

还有弱健壮、强健壮分类等。

边界值分析:

输入域、输出域的边界。

一般边界值分析过程:
选定问题域中的一个变化因子,让其余的变化因子取正常值,被选定的变化因子依次取min,min+,norm,max-和max;
对问题域中的每个变化因子重复①。
特点
检查有效域中的边界和一般情况
检查有效域中单因素的边界值影响

例子:

函数CheckTriangle(float a,float b,float c)

根据给出的3个数,判定是否能构成一个三角型,若能判定构成的是一个等边三角形、锐角等腰三角型、直角等腰三角型、钝角等腰三角形、一般锐角三角形、一般钝角三角形、还是一般直角三角型。

输入域分析
有3个因素构成,每个因素的范围为(-∞,+∞)
即使考虑到计算机精度,也难以确定min,max

针对输入域做边界值分析,意义不大

重点分析输出域
输出可为(共8种不同输出):
非三角形
是三角形
锐角三角形(细分为等边,等腰,普通)
直角三角形(细分为等腰,普通)
钝角三角形(细分为等腰,普通)
可知:
输出是8个离散值:导致”突变”的多组输入数据
输出不是连续范围,但涵盖了整个输出空间

输出不是有序集合

2.白盒测试

路径覆盖法:

基本路径覆盖法过程:

  • 确定图(流程图/状态图)
  • 确定基本路径数目
  • 构造基本路径集
  • 为每条基本路径生成测试用例

还有全路径覆盖等。

逻辑覆盖法:

语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、多条件覆盖、增强的判定/条件覆盖、组合覆盖

软件质量测试一般方法相关推荐

  1. 敏捷测试的方法和实践 (上)

    有一次,当开发人员完成当前Sprint 任务的代码之后,测试人员与开发人员.产品经理一起来浏览产品.从头到尾走一边,产品经理发现了问题,认为需要对功能进行比较大的修改.这时开发人员估计需要两天时间才能 ...

  2. 测试驱动开发与行为驱动开发中的测试先行方法

    Gil Zilberfeld将在 Agile Practitioners会议上举办小型研讨会,讨论测试先行(test first)方法,测试驱动开发(TDD)和行为驱动开发(BDD)的基础. \\ \ ...

  3. PHP并发验证,PHP接口并发测试的方法(推荐)

    如下所示: header('Content-type:text/html; Charset=utf-8'); $uri = "输入你的url"; $data = array( 't ...

  4. Mockito测试void方法会引发异常

    本文翻译自:Mockito test a void method throws an exception I have a method with a void return type. 我有一个vo ...

  5. JUnit 3.8 通过反射测试私有方法

    测试私有(private)的方法有两种: 1)把目标类的私有方法(修饰符:private)修改为(public),不推荐,因为修改了源程序不佳 2)通过反射 (推荐) 代码演示: 目标程序 Priva ...

  6. 怎么测并发 PHP,PHP接口并发测试的方法(推荐)

    如下所示:header("Content-type:text/html; Charset=utf-8"); $uri = "输入你的url"; $data = ...

  7. php 模拟并发请求_PHP接口并发测试的方法

    PHP接口并发测试的方法 header('Content-type:text/html; Charset=utf-8'); $uri = "输入你的url"; $data = ar ...

  8. 简单学习kali高级渗透测试思路方法

    前言 KaliLinux面向专业的渗透测试和安全审计,集成了大量精心挑选的安全检测工具.Kali Linux高级渗透测试在KaliLinux平台上从一个攻击者的角度来审视网络框架,详细介绍了攻击者&q ...

  9. python服务器稳定性,一种基于Python服务器稳定性测试的方法技术

    [技术实现步骤摘要] 本专利技术涉及一种服务器稳定性测试的方法,具体地说是. 技术介绍 随着服务器行业的快速发展,越来越多的客户开始偏向于购买大批量的服务器作为自己的核心应用.所以对服务器的稳定性也提 ...

  10. python caffe 训练自己的模型_python接口调用已训练好的caffe模型测试分类方法

    训练好了model后,可以通过python调用caffe的模型,然后进行模型测试的输出. 本次测试主要依靠的模型是在caffe模型里面自带训练好的结构参数:~/caffe/models/bvlc_re ...

最新文章

  1. spring mvc 篇
  2. Android中的数据存储方式
  3. 在 Linux 上安装 Oracle 数据库 11g
  4. .net 后台读取pdf的值
  5. Jmeter(二十五)Jmeter之系统函数
  6. 荐书丨被Dubbo虐过吗,反击开始!——《深入理解Apache Dubbo与实战》
  7. mysql实例 oracle实例 区别_ORACLE实例与数据库的区别
  8. Activity详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
  9. Golang 之协程详解
  10. Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据
  11. Python调试工具——ipdb
  12. 随机测试数据生成 与 Pandas迭代方法性能对比
  13. 登上大别山主景区天堂寨
  14. html5广告具有什么特性,最快认知什么才是HTML5广告!
  15. php实现服务器访问统计,服务器端统计网站总访问人数
  16. JavaScript Core -- 不可小视的标点符号
  17. 拉卡拉前三季度净利润7.35亿元 继续保持高速增长态势
  18. 公众号内文章懒得翻,巧用搜索神器轻松搞定
  19. 网页小技巧-360doc个人图书馆复制文字
  20. 计算机考研数学和英语考什么,考研英语几与数学几的区别?

热门文章

  1. div css3 border-radius 之圆角 div圆角 图片圆角
  2. java报销流程的实现_Filenet实现报销流程
  3. 修改整个app的字体
  4. layer使用心得3
  5. URI和URL的区别比较与理解
  6. 红外图像高低温校正【待补充】
  7. 什么是黑盒测试,和白盒测试的区别有哪些?
  8. 扎克伯格让员工学会高效工作的26张PPT
  9. ccc加拿大计算机竞赛在线评测系统,加拿大CCC计算机竞赛
  10. CVPR2021 | 视频超分辨率中时空蒸馏方案