当前位置:文档之家› 软件测试工程师章节之03一之测试理论(软件测试黑盒篇)

软件测试工程师章节之03一之测试理论(软件测试黑盒篇)


无效等价类 成绩>100
15
等价类划分法原则二
• (2) 如果输入条件规定了输入值的集合或者规定了“必 须如何”的条件的情况下,可以确立一个有效等价类和一
个无效等价类。
• 例如:在提款机主界面,系统只接受‘查询’、‘取款’和‘取消’ 按钮,并分别进入对应的功能。则可以划分为 三个有效等价类:‘查询’、‘取款’、‘取消’ 。 一个无效等价类:其它按钮。
判定表驱动法
• 定义:判定表是分析和表达多逻辑条件下执行不同操作的 情况的工具。
• 判定表的优缺点: • 优点:能够将复杂的问题按照各种可能的情况全部列举出
来,简明并避免遗漏。因此,利用判定表能够设计出完整 的测试用例集合。 • 缺点:不能表达重复执行的动作,如循环结构。 • 判定表不能很好的伸缩。如有n个条件的判定表有2n个规 则。 • 在一些数据处理问题当中,某些操作的实施依赖于多个逻 辑条件的组合,即:针对不同逻辑条件的组合值,分别执 行不同的操作。判定表很适合于处理这类问题。
21
等价类划分法经典且重要例子
• 举例
– 例1:某程序规定:“输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程 序判定所构成的三角形的类型,当此三角形 为一般三角形、等腰三角形及等边三角形时, 分别作计算 … ”。用等价类划分方法为该程 序进行测试用例设计。 (三角形问题的复杂之处在于输入与输出之 间的关系比较复杂。 )
边界值分析法
边界值分析法
• 边界值分析方法是对等价类划分方法的补充.
1)边界值分析方法的考虑: 长期的测试工作经验告诉我们,大量的错误是发
生在输入或输出范围的边界上,而不是发生在输入 输出范围的内部.因此针对各种边界情况设计测试 用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定 边界情况。通常输入和输出等价类的边界,就是应 着重测试的边界情况.应当选取正好等于,刚刚大于 或刚刚小于边界的值作为测试数据,而不是选取等 价类中的典型值或任意值作为测试数据.
等价类划分法
• 是把所有可能的输入数据,即程序的输入 域划分成若干部分(子集),然后从每一 个子集中选取少数具有代表性的数据作为 测试用例.该方法是一种重要的,常用的黑 盒测试用例设计方法.
11
等价类划分法
方法简介 1)划分等价类: 等价类是指某个输入域的子集合.在该 子集合中,各个输入数据对于揭露程序中 的错误都是等效的.并合理地假定:测试 某等价类的代表值就等于对这一类其它 值的测试.因此,可以把全部输入数据合 理划分为若干等价类,在每一个等价类中 取一个数据作为测试的输入条件,就可以 用少量代表性的测试数据.取得较好的测 试结果.等价类划分可有两种不同的情况: 有效等价类和无效等价类.
例如,某程序的规格说明要求计算出“每月保险金扣 除额为0至1165.25元”,其测试用例可取0.00及 1165.25、还可取一0.01及1165.26等。
再如一程序属于情报检索系统,要求每次”最少显示1 条、最多显示4条情报摘要”,这时我们应考虑的测 试用例包括1和4,还应包括0和5等。
边界值分析法原则
12
等价类划分法
有效等价类 是指对于程序的规格说明来说是合理的,有意义的 输入数据构成的集合.利用有效等价类可检验程序是 否实现了规格说明中所规定的功能和性能
无效等价类 与有效等价类的定义恰巧相反。无效等价类指对 程序的规格说明是不合理的或无意义的输入数据所 构成的集合。对于具体的问题,无效等价类至少应 有一个,也可能有多个。
2. 设计一个新的测试用例,使其尽可能多地覆盖 那些尚未被涵盖的有效等价类,重复这一步, 直到所列出的所有有效等价类都被覆盖为止
3. 设计一个新的测试用例,使其覆盖一个且仅一 个尚未被涵盖的无效等价类,重复这一步,直 到所列出的所有无效等价类都被覆盖为止。
20
等价类划分法实例
• 在证券柜台系统中规定:“用户密码是由字母开头,后跟字母或数 字的任意组合构成。最少字符数为4个,最大字符数为12个。”
类中,往往处理相同,相同处理映射到“相同 的执行路径”
14
等价类划分法原则一
3)划分等价类的方法
下面给出六条确定等价类的原则
(1)在输入条件规定了取值范围或值的个数的情况下, 则可以确立一个有效等价类和两个无效等价类。 如:输入值是学生成绩,范围是0~100
0 无效等价类
成绩<0
100
有效 等价类 1≤成绩≤100
5)如果程序的规格说明给出的输入域或输出域是有 序集合,则应选取集合的第一个元素和最后一个元 素作为测试用例。
6)如果程序中使用了一个内部数据结构,则应当选 择这个内部数据结构的边界上的值作为测试用例。
7)分析规格说明,找出其它可能的边界条件。
错误推测法
• 错误推测法: 基于经验和直觉推测程序中所有可 能存在的各种错误, 从而有针对性的设计测试用 例的方法。
例如,用户名由字符和数字组成,必须以字符开头,不能 包括特殊字符或空格,不能为空,长度介于6-12位之间 。
则可以确立一个有效等价类(符合规则) 若干个无效等价类:以数字开头;包括空格;包括特殊字 符;为空;小于6位
19
根据等价类划分选取用例/数据
1. 根据上述原则,列出所有的有效等价类和无效 等价类
• 并且规定:“用户密码不能与用户注册号相同,且不能全为字母。 ”
• 用等价类划分方法,建立输入等价类表:
输入条件
有效等价类
密码字符数 (1)4-12
密码组成
(4)字母数字
第一个字符 (9)字母
无效等价类
(2)<4、(3)>12
(5)字母、 (6)数字、(7)用户 号、 (8)其他字符 (10)数字、 (11)其他字符
– 单元测试中发现的模块错误; – 产品的以前版本曾经发现的错误; – 输入数据为0或字符为空; – 当软件要求输入时(比如在文本框中),不是没有输入正确的信息,
而是根本没有输入任何内容,单单按了Enter键; – 这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但
是在实际使用中却时有发生。程序员总会习惯性的认为用户要么 输入信息,不管是看起来合法的或非法的信息,要不就会选择 Cancel键放弃输入
22
等价类划分法经典且重要例子
分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列 四种情况之一: 1. 如果不满足条件(5),则程序输出为 “ 非三角 形”。 2. 如果三条边相等即满足条件(7),则程序输出为 “ 等边三角形 ” 。 3. 如果只有两条边相等、即满足条件(6),则程序输 出为 “ 等腰三角形 ” 。 4. 如果三条边都不相等,则程序输出为 “ 一般三角 形”。
第三章 软件测试黑盒篇 简介
课程目的
(1)黑盒测试的概念 (2)黑盒测试的实施过程 (3)黑盒测试用例设计技术
2
黑盒测试
• 黑盒测试的概念 什么是黑盒测试: 黑盒测试又称功能测试、数据驱动测试或基于 规格说明书的测试,是一种从用户观点出发的测试。 黑盒测试示意图
测试人员把被测程序当作一个黑类型有: ①不正确或遗漏的功能; ②接口、界面错误; ③性能错误; ④数据结构或外部数据访问错误; ⑤初始化或终止条件错误等等。
黑盒测试
黑盒测试用于回答以下问题: 1)如何测试功能的有效性? 2)何种类型的输入会产生好的测试用例? 3)系统是否对特定的输入值尤其敏感? 4)如何分隔数据类的边界? 5)系统能够承受何种数据率和数据量? 6)特定类型的数据组合会对系统产生何种影响?
设计测试用例时,要同时考虑这两种等价类.因为,软件 不仅要能接收合理的数据,也要能经受意外的考验. 这样的测试才能确保软件具有更高的可靠性.
13
等价类划分法
2)划分等价类的标准: 完备测试、避免冗余 划分等价类重要的是:集合的划分,划分为互不相
交的一组子集,而子集的并是整个集合 并是整个集合:完备性 子集互不相交:保证一种形式的无冗余性 同一类中标识(选择)一个测试用例,同一等价
16
等价类划分法原则三
• (3) 如果输入条件是一个布尔量,则可以确定一个有 效等价类和一个无效等价类。
• 例如:安装程序时,询问客户是否接受“软件许可协议 ”。 一个有效等价类‘是’ 一个无效等价类‘否’
17
等价类划分法原则四
• (4)在规定了输入数据的一组值(假定n个),并且程 序要对每一个输入值分别处理的情况下,可确立n个有效 等价类和一个无效等价类。
黑盒测试
运用黑盒测试方法,可以导出满足以下标准的测试用例 集: 1)所设计的测试用例能够减少达到合理测试所需的 附加测试用例数; 2)所设计的测试用例能够告知某些类型错误的存在 或不存在,而不是仅仅与特定测试相关的错误。
黑盒测试
用黑盒测试发现程序中的错误,必须在 所有可能的输入条件和输出条件中确定 测试数据,来检查程序是否都能产生正 确的输出。但这是不可能的,因为穷举 测试数量太大,无法完成。
• 错误推测方法的基本思想: 列举出程序中所有可 能有的错误和容易发生错误的特殊情况,根据他 们选择测试用例。
例如:输入数据和输出数据为0的情况;输入表格为空格或输入表 格只有一行. 这些都是容易发生错误的情况。可选择这些情况 下的例子作为测试用例。
错误推测法之cases
• 案例:
– 电话簿复制过程中来电,是否会破坏数据库的完整性? – 如果两位学生的名字相同,电话簿能否正确查询。 – 忽然断电了,输入了一半的数据是否能找回? – 正常的压缩文件手动破坏后是否能修复? – 配置文件手动修改一下是否能被软件正确解析? – 如果我离开计算机忘了锁定当前软件,别人是否也能用?
相关主题