《软件测试》课堂笔记03

黑盒测试的方法有很多种,主要分为以下几种:

1.边界值分析法

2.因果图法

3.决策表法

边界值分析方法:

  定义:大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。

    条件:边界是一些特殊情况。程序在处理大量中间数值时都是正确,但是在边界处可能出现错误。边界条件就是软件计划的操作界限所在的边缘条件。

  边界值与等价类关系:等价类划分就是以边界来划分。等价类测试用例选择时应该选边界值作为测试用例。

  方法:(这里只讨论两个变量的例子,多变量可根据双变量延伸即可)

  1. 通过使所有变量取正常值(nom),只使一个变量分别取最小值(min),略高于最小值(min+)、略低于最大值(max-)和最大值(max)。

  2. 即通过使所有变量取正常值(nom),只使一个变量分别取略低于最小值(min-)、最小值(min),最大值(max)和略高于最大值(max+)。

  3. 健壮性(Robust)边界值测试。

4. 最坏情况测试(Worst Case)。

因果图法:

  定义:如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。

  表示符号:

  1.

  2.

  3.

  4.

  5.

  6.

  7.

决策表法:(最严格)

  定义:决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

  结构:决策表通常由条件桩(Conditions)、条件项(Condition Alternatives)、动作桩(Actions)和动作项(Action Entries)4部分组成。

  步骤:

(1)列出所有的条件桩和动作桩。

(2)确定动作规则(条件项)的个数。

(3)填入条件项。

(4)填入动作项,得到初始决策表。

(5)简化决策表,合并相似规则。

以上就是对黑河测试的三种方法的介绍。大部分内容来源于老师的课件。

自我总结:

1.对于边界值方法来说,我认为所有的程序都应该进就行边界值测试。写了好几年代码,大部分错误都出现在值的域,是否溢出等情况,也就是边界值问题。希望在以后的程序当中尽量将边界值得情况考虑清楚。

2.决策变法是黑盒测试中最为严格的一种测试方法,也是必不可少的一步,但相对来说决策表法有些困难,所以得十分注意。

  

时间: 2024-11-08 13:30:58

《软件测试》课堂笔记03的相关文章

2017年5月12号课堂笔记

2017年5月12号 星期五 空气质量:轻度污染(昨天的北风转今天的南风) 内容:html表格的基本使用,表格跨行跨列,高级表格,播放音乐,播放视频,网页布局,iframe内联框架: 文本框,密码框,单选按钮,复选框,下拉框  备注:周日晚想起来补上的周五课堂笔记(一带一路今天开会天气好晴朗) 一.html表格的基本使用 模仿老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset=&q

2017年5月26日课堂笔记

2017年5月26日 星期五 晴 空气质量:中度污染 内容:JavaScript:初识js,按钮的点击事件,变量的使用,数据类型,typeof的使用, string的使用,数组的使用,运算符的运用,逻辑控制语句的使用 备注:5月28日补课堂笔记 一.初识js 老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>初

2017年5月29号课堂笔记

2017年5月29号 阴天 空气质量:良 内容:JavaScript基础:输入输出及确认,统计字符出现的次数,系统函数,自定义函数, 自定义函数和事件的连用,四则运算小练习,方法的作用域 JavaScriptBOM对象(下次课堂笔记再补上,一起记录)history,location,open,document 一.输入输出及确认 仿写老师代码: <!DOCTYPE html><html><head lang="en"> <meta charse

2017年5月24号课堂笔记

2017年5月24号 星期三 晴 空气质量:优 内容:定位属性,CSS3动画  备注:5月25日补课堂笔记 一.定位属性  01.定位属性 仿写老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>定位属性</title> <!-- position:定位属性 属性值: 01.static:默认值

九章算法系列(#2 Binary Search)-课堂笔记

前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一节课,说真的很实用,特别是对于我这种算法不扎实,并且又想找工作,提高自己的情况. 那就不多说废话了,以后每周都写个总结吧,就趁着这一个月好好把算法提高一下.具体就从:课堂笔记.leetcode和lintcode相关习题.hdu和poj相关习题三个方面来写吧.希望自己能够坚持下来,给大家分享一些好的东

?统计学习精要(The Elements of Statistical Learning)?课堂笔记(一)

前两天微博上转出来的,复旦计算机学院的吴立德吴老师在开?统计学习精要(The Elements of Statistical Learning)?这门课,还在张江...大牛的课怎能错过,果断请假去蹭课...为了减轻心理压力,还拉了一帮同事一起去听,eBay浩浩荡荡的十几人杀过去好不壮观!总感觉我们的人有超过复旦本身学生的阵势,五六十人的教室坐的满满当当,壮观啊. 这本书正好前阵子一直在看,所以才会屁颠屁颠的跑过去听.确实是一本深入浅出讲data mining models的好书.作者网站上提供免

?统计学习精要(The Elements of Statistical Learning)?课堂笔记(三)

照例文章第一段跑题,先附上个段子(转载的哦~): I hate CS people. They don't know linear algebra but want to teach projective geometry. They don't know any probability but want to use graphical models. They don't understand stats at all but still do machine learning like c

线程(java课堂笔记)

1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同份资源不共享 B implements Runnable:( 推荐) )多个线程共享一个目标资源,适合多线程处理同一份资源. 该类还可以继承其他类,也可以实现其他接口. 二. 线程的生命周期 新建:当程序使用new创建一个线程后,该线程处于新建状态,此时他和其他java对象一样,仅仅由Java虚拟机

CSS基础入门 第4天课堂笔记

CSS基础入门 第4天课堂笔记(本课程共6天) 前端与移动开发学院 http://web.itcast.cn 目录 目录 2 一.复习 3 二.浮动性质的复习 4 三.浮动的清除 5 3.1 清除浮动方法1:给浮动的元素的祖先元素加高度. 5 3.2 清除浮动方法2:clear:both; 6 3.3 清除浮动方法3:隔墙法 7 3.4 清除浮动方法4:overflow:hidden; 8 3.5 清除浮动总结与案例 9 3.6 浏览器兼容问题 11 四.margin 13 4.1 margin