软件测试

祝衍军

目录

  • 1 软件测试概述
    • 1.1 软件测试概述
    • 1.2 软件缺陷(BUG)
    • 1.3 软件测试职业发展
    • 1.4 软件测试分类
    • 1.5 软件测试流程
    • 1.6 课程思政:秘书也疯狂的故事
  • 2 黑盒测试
    • 2.1 黑盒测试概述
    • 2.2 等价类划分法
    • 2.3 边界值分析法
    • 2.4 决策表法
    • 2.5 正交实验设计法
    • 2.6 场景测试法
    • 2.7 错误推测法
    • 2.8 功能需求分析
    • 2.9 测试用例设计
    • 2.10 课程思政:五笔输入法的故事
  • 3 测试执行
    • 3.1 测试计划
    • 3.2 测试执行BUG记录
  • 4 白盒测试
    • 4.1 白盒测试概述
    • 4.2 程序流程图设计
    • 4.3 白盒测试用例设计
    • 4.4 JUnit单元测试
    • 4.5 课程思政:WPS的故事
  • 5 Web应用软件自动化测试
    • 5.1 Python自动化测试基本框架
    • 5.2 登录页面测试脚本设计
    • 5.3 新增文章页面测试脚本设计
    • 5.4 基于Unitest的登录测试用例集脚本设计
    • 5.5 课程思政:大并发案例阿里云的小故事
  • 6 智能终端APP自动化测试
    • 6.1 企业案例
    • 6.2 Android智能终端设备连接
    • 6.3 Android APP应用自动化测试
    • 6.4 Monkey 压力测试
    • 6.5 课程思政:鸿蒙的故事
  • 7 JMeter性能测试
    • 7.1 性能测试需求分析
    • 7.2 文章新增脚本开发
    • 7.3 文章新增脚本完善
    • 7.4 场景设计与运行结果分析
    • 7.5 课程思政:12306网站的技术进步故事
  • 8 Postman接口测试
    • 8.1 Postman
    • 8.2 企业网站管理内容系统接口测试
  • 9 Loadrunner性能测试(1+x考证高级相关知识点)
    • 9.1 录制回放
    • 9.2 思考时间设置
    • 9.3 检查点设置
    • 9.4 参数化设置
    • 9.5 关联设置
    • 9.6 集合点设置
    • 9.7 场景设计与运行分析
  • 10 省技能大赛
    • 10.1 竞赛系统
    • 10.2 相关知识
  • 11 企业案例
    • 11.1 软件测试公司真实案例
等价类划分法

黑盒测试方法

Ø黑盒测试方法,指根据用户的需求和已经定义好的产品规格,针对程序接口和用户界面进行测试,检验程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

Ø黑盒测试方法主要有五种,分为等价类划分法、边界值分析法、错误推测法、因果图法和场景法。在实际测试用例设计过程中,不仅根据需要、场合单独使用这些方法,常常综合运用多个方法,使测试用例的设计更为有效。

等价类划分法

Ø等价类划分法是功能测试用例设计中一种重要的、常用的设计方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

Ø等价类划分设计方法是把所有可能的输入数据,即程序的输入数据集合划分成若干个子集(即等价类),然后从每一个等价类中选取少数(至少一个)具有代表性的数据作为测试用例,如图所示。



图  测试用例设计的等价类方法

Ø在采用等价类划分法设计测试用例的过程中,一般会经过两个步骤:分类和抽象。

ü(1)首先是分类,即将输入域按照相同特性或者类似功能进行分类。

ü(2)然后进行抽象,即在各个子类中抽象出相同特性并用实例来表征这个特性。

Ø等价类分为有效等价类和无效等价类。

ü(1)有效等价类:指输入完全满足程序输入的规格说明,是由有效且有意义的输入数据所构成的集合。利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。

ü(2)无效等价类:和有效等价类相反,即不满足程序输入要求或者由无效的输入数据构成的集合。

Ø在等价类划分方法中最重要的就是第一步:分类,即确定等价类。确定等价类的原则如下:

ü(1)输入数据是布尔值,这是非常特殊的情况,有效等价类只有一个值——真(True),无效等价类也只有一个值——假(False)。

ü(2)在输入条件规定了取值范围或者个数的前提下,可以确定一个有效等价类和两个无效等价类。例如:程序输入数据要求是两位正整数x,则有效等价类为10≤x≤99,两个无效等价类为x<10和x>99。

ü(3)在输入条件规定了输入值的集合或者规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。例如:邮政编码则必须是由6位数字构成的有效值,其有效集合是清楚的,对应存在一个无效的集合。

ü(4)在规定了一组列表形式(n个值)的输入数据,并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类和一个无效等价类。例如:把我国的直辖市作为输入值,则等价类是一个固定的枚举类型(北京,上海,天津,重庆),而且要针对各个城市分别取出相对应的数据,此时无效等价类为非直辖市的省、自治区等。ü(5)更复杂的情况是,输入数据只是要求符合某几个规则,这时,可能存在多个有效等价类和若干个无效等价类。例如:邮件地址和用户名的输入。

         ①要求输入26个英语字母和10个阿拉伯数字构成的、长度不超过20位的用户名。

        ②有效的E-mail地址,必须含有@,@后面格式为x.x,E-mail地址不能带有一些特殊符号,如“ #、&”等。


ü在不满足上述情况时,可能需要进一步细分等价类,包括有效的等价类和无效的等价类。


Ø举例:假定购买某一商品,该商品的库存量为100。请运用等价类的思想设计输入购买数量的测试用例。


Ø步骤1:划分等价类并编号,如图所示:


Ø步骤2:设计测试用例,如表所示:

                               

 

测试用例ID

 
 

所属等价类

 
 

用户输入数量

 
 

预期结果

 
 

1

 
 

1

 
 

-9

 
 

提示“请输入1~100之间的整数

 
 

2

 
 

2

 
 

87

 
 

成功购物

 
 

3

 
 

3

 
 

189

 
 

提示“请输入1~100之间的整数