实验:测试用例设计(二)
作者:强官涛   类型:测试开发    类别:实验   日期:2020-03-26    阅读:428 次   消耗积分:0 分

本周分享《测试用例设计》实验内容,由于知识含量较多,现在拆分为多篇分享,今日是第一篇。

回顾上周内容,请点击

教材连载:测试用例设计(一)


 实 验 简 介 


本实验主要讲解测试用例设计方法,包括等价类,边界值,正交试验表,判定表,流程分析法,状态迁移法,错误猜测等。



 实 验 目 的 


(1)、掌握测试用例设计方法,以便设计高效的测试用例。



 实 验 流 程 


2、边界值


边值分析方法的理论基础,是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附件的取值不会导致程序出错,那么其它的取值导致程序错误的可能性也很小。

 

  • n 边值分析使用条件:

(1). 输入条件明确了一个值的取值范围,或是规定了值的个数。

(2). 输入条件明确了一个有序集合。

 

  • n 边值点定义:


(1). 上点:边界上的点,如果域的边界是封闭的,上点就在域范围内;如果域的边界是开放的,上点就在域范围外。

(2). 离点:就是离上点最近的一个点,如果域的边界是封闭的,离点就在域范围外,如果域的边界是开放的,离点就在域范围内。

(3). 内点:顾名思义,就是在域范围内的任意一个点。


20200326_140353_893.png


假设a是整数,a的一个边界描述是a>0,是开放的,那么上点是0,离点是1。如果边界描述是a>=0,是封闭的,上点仍然是0,离点是-1。

假设a是实数,首先确定一个精度,比如精确到0.001。那么如果a的边界描述是a>0,是开放的,上点是0,离点是0.001。如果边界描述是a>=0,是封闭的,上点仍然是0,离点是-0.001。

 

  • n 边界值分析的原则:


(1).如果输入(输出)条件规定了取值范围,或是规定了值的个数,则应该以该范围的边界内及边界附近的值作为测试用例。

(2). 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

(3). 如果程序规格说明中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试用例。

(4). 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

 

  • n 边值分析法设计用例的步骤:


(1).分析输入参数的类型:从测试规格中分析得到输入参数类型。

(2). 等价类划分(可选):对于输入等价类划分方法进行等价类的划分。

(3). 确定边界:运用域测试分析方法确定域范围的边界(上点、离点与内点)

(4). 相关性分析(可选):如果存在多个输入域,则需要运用因果图、判定表方法对这些输入域边界值的组合情况进行进一步分析。

(5). 形成测试项:选择这些上点、离点与内点或者这些点的组合形成测试项。

 

  • n 基于边界值分析方法选择测试用例的原则:


(1). 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……"。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。


(2). 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。


(3). 将规则1和2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.24、还可取一0.01及1165.26等。再如一程序属于情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括1和4,还应包括0和5等。


(4). 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。


(5). 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。


(6). 分析规格说明,找出其它可能的边界条件。


  • n 练习:


20200326_140433_619.png


用户名和密码的规则如下:

1. 用户名长度为6至10位(含6位和10位)

2. 用户名由字符(a-z、A-Z)和数字(0-9)组成

3. 不能为空、空格和特殊字符

4. 密码规则同用户名规则

针对用户名和密码写出所有边界值。


  • n 等价类和边界值实战应用:保险费率计算


人人保险公司承担人寿保险已有多年历史,该公司保费计算方式为投保额*保 险率,保险率又依点数不同而有别,10点以上费率为0.6 % ,10点以下费率为0.1 %。

保险率和以下参数有关:

(1). 年龄:数字 0-150

(2). 性别:字符组合 区分大小写

(3). 婚姻:字符组合

(4). 扶养人:数字 1-9人

其中前三个为必填项,最后一个为选填项

 

年龄

20~39岁

6点

40~59岁

4点

60岁以上20岁以下

2点

性别

MALE

5点

FEMALE

3点

婚姻

已婚

3点

未婚

5点

扶养人数

一 人 扣 0.5 点 最 多 扣 3 点 ( 四 舍 五 入 取 整 数 )


第一步:确定每个输入的输入条件


(1). 年龄:非负整数、0-150、必填

(2). 性别:字符组合、区分大小写、MALE或者FEMALE、必填

(3). 婚姻:字符组合、已婚或者未婚、必填

(4). 抚养人数:正整数、1-9、选填


第二步:对每个输入的输入条件进行等价类划分


输入

输入条件

有效等价类

无效等价类

年龄

非负整数

非负整数(1)

负整数(7)

小数(8)

字母(9)

特殊字符(10)

0-150

0-19(2)

20-39(3)

40-59(4)

60-150(5)

<0(11)

>150(12)

必填

填(6)

不填(13)

性别

字符组合

字符组合(1)

非字符组合(6)

区分大小写

大写(2)

小写(7)

大小写混合(8)

MALE或者FEMALE

MALE(3)

FEMALE(4)

非MALE、FEMALE(9)

必填

填(5)

不填(10)

婚姻

字符组合

字符组合(1)

非字符组合(5)

已婚或者未婚

已婚(2)

未婚(3)

非已婚、未婚(6)

必填

填(4)

不填(7)

抚养人数

正整数

正整数(1)

非正整数(6)

小数(7)

字母(8)

特殊字符(9)

1-9

1-6(2)

7-9(3)

<1(10)

>9(11)

选填

填(4)

不填(5)


 

第三步:针对每个输入设计数据覆盖等价类


输入

有效值

无效值

年龄

15(覆盖1、2、6)

25(覆盖1、3、6)

50(覆盖1、4、6)

80(覆盖1、5、6)

-20(覆盖7)

15.5(覆盖8)

a(覆盖9)

&(覆盖10)

-999.5(覆盖11)

180(覆盖12)

不填(覆盖13)

性别

MALE(覆盖1、2、3、5)

FEMALE(覆盖1、2、4、5)

6553(覆盖6)

male(覆盖7)

fEMALE(覆盖8)

男(覆盖9)

不填(覆盖10)

婚姻

已婚(覆盖1、2、4)

未婚(覆盖1、3、4)

1234(覆盖5)

离婚(覆盖6)

不填(覆盖7)

抚养人数

5(覆盖1、2、4)

8(覆盖1、3、4)

不填(覆盖5)

-6(覆盖6)

5.1(覆盖7)

A(覆盖8)

$(覆盖9)

-100(覆盖10)

100(覆盖11)

 

第四步:考虑边界值


输入

有效值

无效值

年龄

15(覆盖1、2、6)

25(覆盖1、3、6)

50(覆盖1、4、6)

80(覆盖1、5、6)

边界值:

0

19

20

39

40

59

60

150

-20(覆盖7)

15.5(覆盖8)

a(覆盖9)

&(覆盖10)

-999.5(覆盖11)

180(覆盖12)

不填(覆盖13)

边界值:

-1

151

性别

MALE(覆盖1、2、3、5)

FEMALE(覆盖1、2、4、5)

6553(覆盖6)

male(覆盖7)

fEMALE(覆盖8)

男(覆盖9)

不填(覆盖10)

婚姻

已婚(覆盖1、2、4)

未婚(覆盖1、3、4)

1234(覆盖5)

离婚(覆盖6)

不填(覆盖7)

抚养人数

5(覆盖1、2、4)

8(覆盖1、3、4)

不填(覆盖5)

边界值:

1

6

7

9

-6(覆盖6)

5.1(覆盖7)

a(覆盖8)

$(覆盖9)

-100(覆盖10)

100(覆盖11)

边界值:

0

10

 

第五步:设计用例覆盖多个输入的有效值和无效值


用例编号

年龄

性别

婚姻

抚养人数

点数

1

15

MALE

未婚

不填

12

2

25

FEMALE

已婚

8

9

3

50

MALE

未婚

5

11

4

80

FEMALE

已婚

1

7

5

0

MALE

未婚

不填

12

6

19

FEMALE

未婚

不填

10

7

20

MALE

未婚

不填

16

8

39

FEMALE

已婚

6

9

9

40

MALE

已婚

7

9

10

59

FEMALE

已婚

9

7

11

60

MALE

未婚

不填

12

12

150

FEMALE

已婚

9

5

13

-20

FEMALE

已婚

9

14

15.5

FEMALE

已婚

9

15

a

FEMALE

已婚

9

16

&

FEMALE

已婚

9

17

-999.5

FEMALE

已婚

9

18

180

FEMALE

已婚

9

19

不填

FEMALE

已婚

9

20

-1

FEMALE

已婚

9

21

151

FEMALE

已婚

9

22

39

6553

已婚

9

23

39

male

已婚

9

24

39

fEMALE

已婚

9

25

39

已婚

9

26

39

不填

已婚

9

27

39

MALE

1234

9

28

39

MALE

离婚

9

29

39

MALE

不填

9

30

39

FEMALE

已婚

-6

31

39

FEMALE

已婚

5.1

32

39

FEMALE

已婚

a

33

39

FEMALE

已婚

$

34

39

FEMALE

已婚

-100

35

39

FEMALE

已婚

100

36

39

FEMALE

已婚

0

37

39

FEMALE

已婚

10

 

等价类和边界值设计方法适用面非常广,也是最为常用的两种测试用例设计方法。一些基础的功能性测试的BUG几乎都有这两者的影子。



下周分享:测试用例设计(三)




为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。




20190320_095757_834.jpg



版权所有,转载本站文章请注明出处:蜗牛学院在线课堂, http://www.woniuxy.com/note/467
上一篇: 实验:测试用例设计(一)
下一篇: 访谈:学员投稿:读《强哥述:蜗牛学院五年运营及管理经验大揭秘》有感!
提示:登录后添加有效评论可享受积分哦!