《软件测试第四讲功能性测试.ppt》由会员分享,可在线阅读,更多相关《软件测试第四讲功能性测试.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件测试功能性测试(二)等价类测试等价类作为功能性测试的基础有两个动机:希望进行完备的测试希望避免冗余等价类测试重复边界值测试的两个决定因素:健壮性和单/多缺陷假设等价分配选择测试用例是软件测试员最重要的任务。选择测试用例的方法是等价分配,就是分步骤地把过多(无限)的测试用例减小到同样有效的小范围的过程。等价区间是指相同目标或者暴露相同软件缺陷的一组测试用例。在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组就是等价区间。等价类的关键等价类的重要问题是它们构成集合的划分。划分是指互不相交的一组子集,这些子集的并集是整个集合。等价类测试的思想是通过每个等价类中的一个元素标示测试用
2、例等价类的关键就是选择确定类的等价关系。举例如果F实现为一个程序,则输入变量x1和x2将拥有以下边界,以及边界内的区间:ax1d,区间为a,b),b,c),c,dex1g,区间为e,f),f,gx1和x2的无效值是:x1dx2g弱一般等价类测试通过使用一个测试用例中的每个等价类的一个变量实现强一般等价类测试强一般等价类测试基于多缺陷假设,需要等价类笛卡儿积的每个元素对应的测试用例弱健壮等价类测试强健壮等价类测试等价类测试总结等价类测试的关键是等价关系的选择。注意被“相同处理”的输入通过预测可能的实现,并考虑在实现中必须提供的功能操作来做出选择。在大多数情况下,等价类测试定义输入定义域的类。但没
3、有理由不能根据被测程序函数的输出值定义等价关系。等价类测试指导方针等价类测试的弱形式(一般或健壮)不如对应的强形式的测试全面如果实现语言是强类型的(无效值会引起运行时错误),则没有必要使用健壮形式的测试如果错误条件非常重要,则进行健壮形式的测试是合适的如果输入数据以离散值区间和集合定义,则等价类测试是合适的通过结合边界值测试,等价类测试可得到加强。基于决策表的测试决策表一直被用来表示和分析复杂逻辑关系决策表很适合描述不同条件集合下采取行动的若干组合的情况。功能性测试总结基于边界的方法:边界值分析健壮性测试最坏情况测试健壮最坏情况测试基于被测程序接受“相似处理”的原理:弱一般强一般弱健壮强健壮指
4、导方针选择功能性测试方法时需要考虑的属性:变量是否表示物理量或逻辑量?在变量之间是否存在依赖关系?是假设单缺陷,还是假设多缺陷?是否有大量例外处理?指导方针(续)如果变量引用的是物理量,可采用定义域测试和等价类测试如果变量是独立的,可采用定义域测试和等价类测试如果变量不是独立的,可采用决策表测试如果可保证是单缺陷假设,可采用边界分析和健壮性测试如果可保证是多缺陷假设,可采用最坏情况测试、健壮最坏情况测试和决策表测试如果程序包含大量例外处理,可采用健壮性测试和决策表测试如果变量引用的是逻辑量,可采用等价类测试用例和决策表测试三角形问题三角形问题接受三个整数a、b和c作为输入,用做三角形的边。程序
5、的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、普通三角形或非三角形,按输入值域分析。三角形等价类测试用例举例“一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。要求:设三角形的3条边分别为A、B、C,并且(1)列出等价类表,格式如下:输入条件有效等价类无效等价类(注意:将等价类编号)(2)设计测试用例,格式如下:用例n:输入【A,B,C】覆盖等价类(列出等价类序号),输出结果为。NextDate函数测试用例说明NextDate是一个三个变量(月份、日期和年)的函数。函数返回输入
6、日期后面的那个日期。变量月份、日期和年都具有整数值,且满足以下条件:C1:1月份12C2:1日期31C3:1812年2012NextDate函数测试用例说明NextDate是一个三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。也就是说如果日期不是某个月的最后一天,则NextDate会直接对日期加1。到了月末,下一个日期是1,月份加1。到了年末,日期和月份都会复位到,年加1。考虑闰年问题NextDate函数测试用例说明等价类划分:M1=月份:每月有30天M2=月份:每月有31天M3=月份:此月是2月D1=日期:1日期28D2=日期:日期=29D3=日期:日期=30D4=日期:日
7、期=31Y1=年:年=2000Y2=年:年是闰年Y3=年:年是平年等价类分析总结等价类分析总结等价类划分是一种典型的黑盒测试方法。这一方法完全不考等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类定义:等价类是指某个输入域的子集合,在该子集合等价类定义:等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。中,各个输入数据对于揭露程序中的错误都是等效的。例:计算平方根的函数的规范例:计算平方根的函数的规范输入:实数;输出:实数输入:实数;输出:实
8、数规范:当输入一个规范:当输入一个0或比或比0大的数的时候,返回其正平方根;大的数的时候,返回其正平方根;当输入一个小于当输入一个小于0的数时,显示错误信息的数时,显示错误信息“平方根非法平方根非法-输入输入值小于值小于0”并返回并返回0;测试用例的选择:测试用例的选择:n0,n=0,n0等价类分析总结等价类分析总结(续续)等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据所构成的集合;利用它可以检验程序是否实现了预期的功能和性能;无效等价类:是指对于程序的规格说明来说,是不合理的,没有意义的输入数据所构成的集合;利用它可以检验程序对于无效数据的处理。