软件测试工程师培训–软件功能性测试
概览 中国可靠性论坛交流:PPT文件下载
在本章中,我们将学习:
功能性测试概述 功能分解
等价类划分 边界值分析
因果图法 其他测试法
目标
完成此课程之后,学员将具备以下能力:
理解功能性测试的含义
使用等价类划分的方法设计测试用例
使用边界值分析的方法设计测试用例
使用因果图的方法设计测试用例
对具体项目进行功能测试
课程目录
功能性测试概述
功能分解
等价类划分
边界值分析
因果图法
其他测试方法
功能性测试概述
任何程序都可以看作是将从输入定义域取值映射到输出值域的函数将系统看成黒盒,又称为黒\盒测试
黒盒的实现是不需要了解的,只需要知道输入和预期输出
功能性测试模型
img0
功能性测试的优点
功能性测试与软件如何实现无关,如果实现发生变化,功能性测试用例仍然可用
测试用例开发可以与软件开发同时进行,可节省软件开发时间,通过软件的用例(use case)就可以设计出大部分功能性测试用例
功能性测试的缺点
测试用例数量较大
测试用例可能产生很多冗余
功能性测试的覆盖范围不可能达到100%
功能性测试的方法
功能分解 等价类划分
边界值分析 因果图法 其他测试方法
课程目录—–>功能分解
功能分解
含义:把软件分解为相对独立的功能单元
目的:通过功能分解可以明确软件功能性测试的内容使软件功能性测试可度量,有利于测试监督和管理
功能分解应把握好度:不能分解得过粗,不能分解得过细,可提高软件功能性测试度量的准确性
课程目录—–>等价类划分
等价类划分是将程序的输入域或输出域的不同区间划分为不同的数据类,以便导出测试用例
每个等价类所揭示的程序错误都是等价的
要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数
有效等价类:
对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合
利用它可以检验程序是否实现了预期的功能和性能
无效等价类:
对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合
利用它可以检验程序对于无效数据的处理能力
数学含义
A<=x<=B
C<=y<=D
image1
确立等价类的原则
如果输入条件规定了取值范围,或者值的个数,则可以确立一个有效等价类和两个无效等价类,例如:
数据范围是1~50 有效等价类为“>=1&&<=50”
两个无效等价类为“<1”和“>50”
如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类
如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类
如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:
测试密码域,要求密码必须是数字或字母
有效等价类为“密码是数字和字母的组合”
无效等价类为“密码包括中文”、“密码包括其它符号”等
如果确知已划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成更小的等价类
等价类测试用例设计
分析输入输出
划分有效等价类、无效等价类
设计测试用例,使其尽可能多的覆盖有效等价类
设计测试用例,使其尽可能多的覆盖无效等价类
举例(保险费率计算)
某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%
点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和
输入:年龄、性别、婚姻、抚养人数
输出:保险率
查看程序
输入数据说明 P22
年龄 20~39 6点
40~59 4点
99以下59以上、20以下1以上 2点
性别 男 5点
女 3点
婚姻 已婚 3点
未婚 5点
抚养人数 1人扣0.5点最多扣3点(四舍五入)
请登录之后再进行评论