zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【软件测试基础 】等价类分析法

基础 软件测试 等价 分析法
2023-09-14 09:11:14 时间

软件测试基础,软件测试用例分析方法中,等价类是最常用最基本的方法,以下整理出一些参考资料(整理自互联网),希望对大家测试设计有帮助

等价类分析法

等价类测试分析

等价类

定义:1、等价:如果多个输入在程序中处理方式(路径)相同,则认为这些输入是等价的,测试一个即可。(前提:测试不能穷举)

         2、输入:分为两类,有效输入(可以保存)、无效输入(不可保存)

         3、结合:有效等价类、无效等价类

满足规则:只需寻找一个全部满足规则的(有效等价类)

不满足规则:需分开,每条不满足条件的举出一个,方便定位错误(无效等价类)

规则的几种情况:

1若规则是布尔式的

有效、无效分别取一个 一个真,一个假

2.若规则是区

有效的取一个 无效的,在小于区间的取一个,大于区间的取一个,空或零取一个

3.规则是集合:

有效取一个 无效的在集合外取一个

4.规则是必须满足的一个条件:

对无效,要细分无效(先试试其他有效等价类,再试试全部等价类全都不满足)

例:邮箱注册,注册名只能以小写字母开头,设计无效等价类时,先试试其他有效等价类,如大写字母、数字等,再试试其他有效全部都不满足的情况

有效等价类:程序规格说明有意义,合理的输入数据

无效等价类:程序规格说明无意义,不合理的输入数据

ASCII码

   7位   表示27=128个字符   每个字符存储占用1个字节

   分类:不可见字符

             控制字符:LF(换行)、CR(回车)

             通信字符

             NULL(空)

         可见字符

             空格

             数字

             字母(大写、小写)

             符号

练习

1.1年龄注册

   注册页面要求输入年龄,限制:1到150期间的正整数

   1、需求分析—找出全部的输入条件

      1)、正整数

      2)、[1,150]

       注意:分解的过程中,条件之间不用组合(完全独立),在设计有效用例输入的时候再考虑组合(一对多)

  2、绘制等价类表格

条件

有效等价类

有效编号

无效等价类

无效编号

正整数

>1

A01

数字

小数

B01

负数

B02

0

B03

非数字

空(NULL)

B04

空格

B05

字母

B06

符号

B07

[1,150]

[1,150]

A02

<1

B08

>150

B09

3、设计测试用例输入

原则:有效输入—尽可能多去覆盖有效等价类  (一对多)

      无效输入---只能覆盖一个无效等价类    (一对一)

                目的:A、出现问题可以更好的去定位

                      B、有可能第一个无效处理后,后续无效值被漏测

输入序号

有效输入值

覆盖有效等价类

输入序号

无效输入值

覆盖无效等价类

1

100

A01、A02

2

1.8

B01

3

-9

B02

4

0

B03、B08

5

空(NULL)

B04

6

空格

B05

7

W

B06

8

@

B07

9

200

B09

 

1.2.年龄注册

   某保险公司注册页面要求输入年龄,限制:1到150期间的正整数,其中:

[1,10]   适用的费率  10%

[11,50]  适用的费率  30%

[51,150] 适用的费率  80%

条件

有效等价类

有效编号

无效等价类

无效编号

正整数

>1

A01

数字

小数

B01

负数

B02

0

B03

非数字

空(NULL)

B04

空格

B05

字母

B06

符号

B07

[1,150]

[1,10]

A02

<1

B08

[11,50]

A03

>150

[51,150]

A04

输入序号

有效输入值

覆盖有效等价类

输入序号

无效输入值

覆盖无效等价类

1

5

A01、A02

4

1.8

B01

2

30

A01、A03

5

-9

B02

3

100

A01、A04

6

0

B03、B08

7

空(NULL)

B04

8

空格

B05

9

W

B06

10

@

B07

11

200

B09

1.3.扩充

考虑全角和半角问题(GB231)

    其中,半角占1个字节

          全角占2个字节

字符集

    1、ASCII

2、GB2312 -> GB18030   一个汉字占2个字节

   BIG5(繁体)

3、ISO Unicode (UTF-16)  -> UTF-8(变长存储)  一个汉字可能占3个字节

条件

有效等价类

有效编号

无效等价类

无效编号

正整数

>1(半角)

A01

0

B03

>1(全角)

A02

半角字符

空(NULL)

B04

空格

B05

字母

B06

符号

B07

全角字符

空格

B08

字母

B09

符号

B10

汉字

(字符集)

GB-2312

B11

BIG-5

B12

[1,150]

[1,150]

A03

<1

B13

>150

B14

分解粒度:根据功能的重要性决定(用例图----执行者角色,考虑用户的关注功能)

          根据成本、时间决定

取消负数、小数的原因:

     1、前提:在编辑框内输入年龄,程序在接收编辑框的内容时,一般以字符(或字符串)的形式接收,再根据需要进行类型转换,如年龄,需要转换为整型

     2、小数中的“小数点”和负数中的“负号”都认为是符号,不允许保存

 ————  e n d ————

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走


在此特意为大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面,涵盖功能测试、Python编程语言,接口测试、UI自动化测试、性能测试......包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2022软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..关注下方公众号免费获取~