等价类边界值综合练习题-万年历
[试题]ok等价类划分和边界值分析法实例
一、等价类划分法实例:1.输入条件为某个范围的取值:例:在某大学学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为?2.输入条件为输入值的集合:例:假设PowerPoint打印输出幻灯片的页数分别为{1,2,3,6,9 },则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为?3.输入为BOOL变量,它的有效和无效等价类分别为?4.输入条件中由若干规则组成,其中各个规则都是独立的:例:一条输入的字符串中不能含有“#”和“&”两个特殊字符(其他字符都是合法的)的规则,它的有效和无效等价类分别为?5.输入条件由一个合法的规则组成:例:某个变量的取值必须为100,那么它的有效和无效等价类分别为?6.为输入条件的组合关系划分等价类:输入条件同时满足x>10和y<200两个判断表达式决定,那么它的有效和无效等价类分别为?二、边界值分析法实例:1.大小范围边界例:若10≤x≤200,利用边界值分析法需要选择哪些测试数据?若10<x<200,利用边界值分析法需要选择哪些测试数据?2.极限边界当给出的整数是无限制范围时,它的边界便是整数的最大值和最小值。
例:16位的有符号整数,它的边界是?利用边界值分析法需要选择哪些测试数据?3.NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量month和变量day的取值范围为1≤month≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。
利用边界值分析法选择测试数据进行测试用例设计,完成下表。
黑盒测试习题02
习题020501 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成( )个等价区间。
A. 2B. 3C. 4D. 6输入数据预期结果合法位数不足位数过长abcdefgh 非法字符0502输入数据预期结果!@#$%^&() 合法(无字符)位数过短12736…2179(共256位) 位数过长/?|\ 非法字符0503输入数据预期结果20 合法13 年龄小于范围41 年龄大于范围abcd 非法字符0504 某工厂招工,规定报名者年龄应在20周岁——39周岁之间,即出生年月不得早于1960年7月,不晚于1979年6月。
报名程序具有自动检验输入数据的功能,如果出生年月不属于输入数据预期结果1966.06 合法1960.06 时间过早1980.01 时间过晚一九六五年七月非数字19777 少于6位多余6位大于12小于10505 新浪邮箱名,其输入要求如下:1. 4~16个字符2. 支持英文小写、数字、下划线3. 不支持全部为数字或下划线输入数据预期结果qq_fhg 合法全为数字______ 全为下划线@#¥%……&* 非法字符0个不可为空fwhflwenfklwjwjfilwjksfm 字符大于161df 字符小于4AAAAAAAA 全为大写0506用等价类划分法设计下面的测试用例:有一个报表系统,要求用户输入要处理的报表的日期,假设日期的范围为2000年1月到2020年12月。
如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月六位数字组成,前4为代表年,后两位代表月。
输入数据预期结果合法时间过早时间过晚abng2432 非法字符月份小于1月份大于1220001 长度小于6长度大于62)根据1)中的等价类表,设计能覆盖所有等价类的测试用例。
要求包括输入数据和预期输出,并指出各个测试用例所能符合的等价类编号0507 NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输入日期后一天的日期。
测试用例设计方法之等价类、边界值
测试⽤例设计⽅法之等价类、边界值等价类划分法概念:把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件。
关于等价类划分的两个重要概念:有效等价类:有效等价类是程序规格说明有意义,合理的输⼊数据。
⽐如⽤正确的⽤户名和密码来登录系统就是有效等价类。
⽆效等价类:⽆效等价类是程序规格说明⽆意义,不合理的输⼊数据。
⽐如⽤不存在的⽤户名和密码来登录系统就是⽆效的等价类。
优缺点分析:优点:提⾼⽤例设计效率,较少冗余⽤例。
缺点:只考虑了输⼊的有效和⽆效,对数据的组合⽐较随机,边界缺陷不容易发现。
适⽤范围:输⼊条件划分成多个⼦条件,各个⼦条件之间相对是独⽴的,没有制约关系。
实例演习输⼊框要求输⼊[1,100]的数有效等价类:可以输⼊1-100之间的数来验证,如:2⽆效等价类:可以输⼊1-100之外的任意字符验证,如:999、字母、特殊符号、空格、回车边界值划分法概念:是对等价类划分法的补充;假定⼤多数的错误是发⽣在各种输⼊条件的边界上,如果在边界附近的取值不会导致程序出错,那么其他取值导致程序错误的可能性也很⼩。
关于边界值⼏个“点”的概念:上点:边界上的点。
例1:边界是封闭的[1,100]之间的整数:1、100就是上点例2:边界是是开放的[1,100)之间的整数:1、100就是上点内点:区域内的点离点:⾥上点最近的⼀个点例1:边界是封闭的[1,100]之间的整数:0、101就是离点例2:边界是是开放的[1,100)之间的整数:0、99就是离点优缺点分析:优点:能更容易发现边界,更全⾯系统的测试边界上可能存在的问题;缺点:只能做为⼀个对其他设计⽅法的补充;适⽤范围:有输⼊参数且存在取值边界或长度边界时。
实例演习输⼊框要求输⼊[1,100]的数边界值: 上点:1,100 离点:0,101 内点:50。
测试用例设计练习
一、等价类划分法例子1:现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月-2049年12月,并规定,日期由6位数字组成,前4位表示年,后2位表示月。
1,根据需求进行分析,找出有哪些输入条件年份:【1990,2049】月份:【01,12】字符长度:6位字符类型:数字2,画出等价类输入条件有效等价类边界值分析无效等价类年份【1990,2049】(1)上点:1990,2049(12)离点:1989,2050内点:2016 <1990 (2)>2049 (3)月份【01,12】(4)上点:01,12(13)离点:00,13内点:11 <01 (5)>12 (6)字符长度6位(7)上点:6离点:5,7内点:6 <6 (8)>6 (9)字符类型数字(10)非数字(11)3,为每个等价类规定一个唯一编号(如上图)4,转换成测试用例转换测试用例的原则:A,设计一个测试用例尽可能多的覆盖多个有效等价类;B,设计一个测试用例必须对应覆盖一个无效等价类。
有效等价类用例:用例1:201611 (1)(4)(7)(10)无效等价类用例:用例2:198911 (2)用例3:205011 (3)用例4:201600 (5)用例5:201613 (6)用例6:20161 (8)用例7:2016113 (9)用例8:20161a/abcedf (11)根据边界值分析法分析后补充测试用例用例9:199001 (12)用例10:204912 (13)5,转成正式格式用例(用例写作的8大要素)用例编号D1223232_ST_Search_Date_001项目搜索功能标题输入正确的日期格式成功搜索重要级别高预置条件系统运行正常输入日期:201611操作步骤1,在查询条件中输入日期2,点击搜索按纽预期结果1,显示该日期范围内所有档案文件编写人张三编写时间2016-11-10用例类型功能用例例子2:(学生练习-参考例子)万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
7(习题课)等价类-决策表法-练习题
3.7.1 决策表
• 在所有的黑盒测试方法中,基于决策表(也称判定表)的测 试是最为严格、最具有逻辑性的测试方法。
• 决策表的概念:决策表是分析和表达多逻辑条件下执行不同 操作的情况的工具。
决策表实例
• 决策表的优点:能够将复杂的问题按照各种可能的情况全部 列举出来,简明并避免遗漏。因此,利用决策表能够设计出 完整的测试用例集合。
1.小于0; 2.大于100;
1. 小于0; 2. 大于100;
2021/5/15
步骤2:选择测试方案
• 弱一般等价类测试 • 强一般等价类测试 • 弱健壮等价类测试 • 强健壮等价类测试
2021/5/15
选择 强一般等价类 设计有例个数m1* m2* …*mn 个=3*3=9个。
方 案
价格R
1 0~10 2 3 4 11~50 5
因果图法测试举例(续)
(4)根据决策表中的每一列设计测试用例:
测试用例编号 1 2 3 4 5 6
输入数据 #3 #A *6 *B A1 GT
预期输出 修改文件 给出信息M 修改文件 给出信息M 给出信息N 给出信息N和信息M
2021/5/15
习题
1、某软件的一个模块的需求规格说明书中描述: (1)年薪制员工:严重过失,扣年终风险金的4%
;过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣当月薪资的8%
;过失,扣当月薪资的4%。 请绘制出因果图和判定表,并给出相应的测试用例 。
2021/5பைடு நூலகம்15
(1)分析程序规格说明中的原因和结果:
原因
结果
c1:员工是年薪制 c2:员工有严重过失 c3:员工有过失
e1:扣年终风险金的4% e2:扣年终风险金的2% e3:扣当月薪资的8%
等价类和边界值
等价类和边界值等价性划分:选择输入,输出,动作,环境,或者你感兴趣的因素,对这些因素进行分类,系统应该对每一类中的因素进行等价处理。
我们选择的测试应该至少代表了每个类中的一个选项。
当选择存在某种有意义的顺序,等价类中就会存在边界值。
整数:假设输入允许的最大数量为99,那么等价类和边界值如下:在有效的数量类里面,也可能存在两个子类,可能允许输入千位分隔符。
这只有当你允许数目可以数以千计时才有意义。
如果说输入65536可以,为什么65537不可以。
由于依赖于计算机表示而迫使产生了边界值。
尤其是最大的边界。
这样,我们完全可以分析出两个无效的等价类。
数量过少,数量过多。
那么最低的有效值减1和最高有效数量加1都是你的边界值。
对于卖东西而言。
0是典型的边界值,卖出1包槟榔是有意义的,卖出0包则没意义。
对于随行人数而言,随行人数0又是有意义的,我们在设计时,考虑系统应该显示的业务行为。
一个合理的用户期待是什么样子的,以此来设计测试,覆盖这些行为。
实数:对于实数而言,整数的例子可以直接借用,这里我们需要考虑的问题是一个数值的最小差值是多少。
在测试我们酒店管理系统时,一个可能的用例是用户提交申请查看账务信息。
为了识别等价类和边界值,我们必须知道我们的差值幅度是多少,在实际中,我们保存的为0.01.那么有效等价类为什么我把有效等价的又分成了三个子类。
比0小的,比0大的,和0,这样就造成了位于0和接近0的边界值。
很多时候奇怪的事情发生在0,如果程序员忘记在做除法时检查0值会怎么样。
空值有的时候在计算时被处理成0.所以,在一个数值中检查位于或者接近0这样做是很值得的。
输入过多的小数位数也是无效等价类,使用了错误的千位或者小数分隔符的无效等价类,输入两个小数分隔符或者千位分隔符。
等价类+因果图习题及答案
2)((x==4)||(y<5))设计测试用例 x=4, y=3;
3)((x!=4)||(y>5)),设计测试用例 x=2,y=6;
4)((x!=4)||(y<5)),设计测试用例x=2,y=3;
由于x=4第一个条件已经考虑,所以上面1)2)合成x=2,y=6;
2->7->8->9
路径覆盖
x=4, y=6, z=5
x=2, y=6, z=15
x=5, y=5, z=5
x=2, y=5, z=5
2->4,5->7->8->9
2->7->8->9
2->4,5->7->9
2->7->9
2、使用逻辑覆盖测试方法测试以下程序段
void Do(int X,int A,int B)
{
1 int k=0,j=0;
2 if((x>3)&&(z<10))
3 {
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if((x==4)||(y>5))
8 j=x*y+10;
9 j=j%3;
}
要求(1)画出程序段的控制流图
(2)分别以条件覆盖,路径覆盖方法设计测试用例
答:(1)
(2)条件覆盖:
(2)如果三条件边相等,则程序输出为“等边三角形”;
(3)如果恰好有两条边相等,则程序输出为“等腰三角形”;
(4)如果三条边都不相等,则程序输出为“一般三角形”
等价类边界值综合练习题-万年历
练习题:万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。
其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:为简化处理,本题在进行用例设计时,不必考虑对平年、闰年的判断)
一、先用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例覆盖所有的有效等价类,设计的测试用例如下:
3)为每一个无效等价类设计一个测试用例,设计结果如下:
4)测试用例举例:
5)存在的问题:
1、在对2月、大月、小月的无效日期进行用例选择时,日期没有取到边界上,如果程序忘记了对2月份的日期进行特殊判断,而是粗略写成所有的日期都必须小于等于28,那么用例9、用例10并不能发现错误。
2、在对大月、小月进行用例选择时,按照等价类的思想,从集合{1、
3、5、7、8、10、
12}和{4、6、9、11}中任意挑选了中间数据,感觉令人不够放心。
6)解决办法:
二、结合边界值方法进行用例设计。
首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到
了,最后再针对没有被覆盖的边界值补充测试用例。
设计测试用例覆盖等价类和边界值
可以再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。
设计测试用例覆盖无效等价类:。
[黑盒测试基本方法]之等价类与边界值word精品文档8页
测试用例设计方法之等价类划分与边界值分析1.等价类划分1.1.前言我们知道软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。
但在设计测试用例时,往往程序的输入是不可能穷举的。
因此,我们在测试某个程序时就被限制在从所有的输入条件中挑选某个小的子集来设计测试用例。
选择这个子集的前提是必须保证子集是正确的,保证子集尽可能的发现最多的错误,保证子集能代表其他大部分的测试用例,保证子集的数量是最为合理的。
1.2.定义在前言中提到的“子集”,因为他们一个个具有代表性的集合,我们将这个“子集”称为等价类。
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
1.3.方法应用使用等价类划分方法来做测试,主要分两个步骤:确定等价类,生成测试用例。
1.3.1.确定等价类确定等价类的过程是根据规格说明选取每一个输入条件将其划分为两个或更多的组。
一般将等价类分为两类,有效等价类和无效等价类。
有效等价类代表对程序的有效输入。
无效等价类代表的则是其他任何可能的不正确的输入。
遵循“有效”,“无效”这个两个原则我们可以设计一个等价类表,确定等价类的结果就是生成一个等价类表。
1.3.2.生成测试用例根据第一步的等价类表来生成测试用例,其过程如下:1.为每一个等价类设置一个不同的编号2.编写新的测试用例,尽可能多地覆盖那些尚未被覆盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖。
也就可理解为一个测试用用例可以涵盖多个有效等价类。
软件测试(万年历)
目录摘要 (1)1引言 (2)1.1编写目的 (2)1.2背景 (2)2软件测试 (2)2.1简介 (2)2.2方法 (2)2.3测试项目 (3)3.软件设计 (3)4.软件测试图 (4)4.1软件测试方法 (4)4.2软件测试内容 (4)4.2.1等价类测试 (4)4.2.2 边界值测试 (5)4.2.3 因果图 (5)4.2.4 其他功能测试 (5)4.3测试用例 (5)4.3.1 等价类测试用例 (5)4.3.2 边界值测试用例 (6)4.4软件后期改进展望 (10)5.总结 (10)参考文献 (11)摘要万年历是一个强大的日历系统,它可以显示当前的日期与时间,而且还可以通过它可以实现对过去,现在以及将来日期的查询,在查询日期时有两种选择方式,第一从下拉列表控件中选择年份与月份,另一个你可以通过手动输入年份月月份来进行查询,则可得到相应的日历,还可以在本日历上右击鼠标,及会出现菜单,当你点击时,将会将日历的显示转到今天。
本系统还实现了系统托盘的功能,并且通过鼠标右键点击系统图标来进行该系统的显示与退出。
关键词:万年历,界面设计,系统托盘,实用,便捷1引言1.1编写目的根据测试计划报告,对软件进行测试,详细记录测试过程,以对软件的质量进行评价,为软件设计人员提供BUG依据,故做产生测试分析报告。
1.2背景为了使改系统更加完善,使用户能够有更好更加方便的体验,且针对其中出现的一些问题,进行修改,使其更加完善,方便。
2软件测试2.1简介软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
2.2方法软件测试的主要方法包括黑盒测试和白盒测试:白盒测试:是通过程序的源代码进行测试而不使用用户界面。
这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
等价类和边界值
等价类和边界值等价性划分:选择输入,输出,动作,环境,或者你感兴趣的因素,对这些因素进行分类,系统应该对每一类中的因素进行等价处理。
我们选择的测试应该至少代表了每个类中的一个选项。
当选择存在某种有意义的顺序,等价类中就会存在边界值。
整数:假设输入允许的最大数量为99,那么等价类和边界值如下:在有效的数量类里面,也可能存在两个子类,可能允许输入千位分隔符。
这只有当你允许数目可以数以千计时才有意义。
如果说输入65536可以,为什么65537不可以。
由于依赖于计算机表示而迫使产生了边界值。
尤其是最大的边界。
这样,我们完全可以分析出两个无效的等价类。
数量过少,数量过多。
那么最低的有效值减1和最高有效数量加1都是你的边界值。
对于卖东西而言。
0是典型的边界值,卖出1包槟榔是有意义的,卖出0包则没意义。
对于随行人数而言,随行人数0又是有意义的,我们在设计时,考虑系统应该显示的业务行为。
一个合理的用户期待是什么样子的,以此来设计测试,覆盖这些行为。
实数:对于实数而言,整数的例子可以直接借用,这里我们需要考虑的问题是一个数值的最小差值是多少。
在测试我们酒店管理系统时,一个可能的用例是用户提交申请查看账务信息。
为了识别等价类和边界值,我们必须知道我们的差值幅度是多少,在实际中,我们保存的为0.01.那么有效等价类为什么我把有效等价的又分成了三个子类。
比0小的,比0大的,和0,这样就造成了位于0和接近0的边界值。
很多时候奇怪的事情发生在0,如果程序员忘记在做除法时检查0值会怎么样。
空值有的时候在计算时被处理成0.所以,在一个数值中检查位于或者接近0这样做是很值得的。
输入过多的小数位数也是无效等价类,使用了错误的千位或者小数分隔符的无效等价类,输入两个小数分隔符或者千位分隔符。
我们在测试中,要仔细的观察和使用常识。
这样会发现很多有趣的缺陷。
在酒店管理系统中,对于money输入,精确到两位小数可能没意义。
但是在会计上,银行记账来说,两位小数精确度可能还不能满足要求。
等价类+边界值案例
工资
1.00—— 30000.00 之间的小 数,可以 为空,小 数点后最 多保留2 位。 1--30000之 间的小数 (小数点后 最多两位) 1--30000之 间的整数 为空 1.00 1.01 29999.99 30000.00 1位小数 2位小数 <1.00 >30000.00 汉字 字母 符号 小数点后位 数>2位 0.99 30000.01 3位小数
控件
需求 1—— 5000之间 的整数, 不能为 空,不能
有效等价类 有效边界值
பைடு நூலகம்
无效等价类
无效边界 值
编号
1--5000之 间的整数, (不能重 复) 1 2 4999 5000 为空 <1的整数 >5000的整数 小数 汉字 符号 字母 重复 0 5001 姓名 3——10 个字符, 不能为空 3--10个字 3个字符 4个字符 9个字符 10个字符 <3个字符(1 个字符) >10个字符 为空 2个字符 11个字符 住址 0——30 个字符 0--30个字 0个字符(为 空) 1个字符 29个字符 30个字符 >30个字符 31个字符
测试用例设计之等价类边界值
测试⽤例设计之等价类边界值⼀.适⽤场景等价类,边界值着重考虑的时输⼊条件,⼀般⽤于输⼊数据的地⽅(输⼊框)的,将不能穷举的测试过程进⾏分类,保证完整性和代表性⼆.设计原则1) 在输⼊条件规定了取值范围或值的个数的情况下,则可以确⽴⼀个有效等价类和两个⽆效等价类。
例:⼿机号码2) 在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类。
3) 在输⼊条件是⼀个布尔量的情况下,可确定⼀个有效等价类和⼀个⽆效等价类. 布尔量是⼀个⼆值枚举类型, ⼀个布尔量具有两种状态: true 和 false 。
4) 在规定了输⼊数据的⼀组值(假定n个),并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴n个有效等价类和⼀个⽆效等价类。
例:输⼊条件说明输⼊字符为:中⽂、英⽂、数字三种之⼀,则分别取这三种这三个值作为三个有效等价类,另外把三种字符之外的任何字符作为⽆效等价类(特殊字符等,html标签等)。
5) 在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类(符合规则)和若⼲个⽆效等价类(从不同⾓度违反规则)。
例:⾝份证号码6) 在确知已划分的等价类中各元素在程序处理中的⽅式不同的情况下,则应再将该等价类进⼀步的划分为更⼩的等价类。
⼆.设计步骤1.根据条件确定有效等价类和⽆效等价类条件2.根据条件设计⼀⼀满⾜的⽤例3.进⾏边界值优化三.例⼦申请账号时,⽤户必须输⼊⽤户名、密码、确认密码,对每⼀项输⼊条件要求如下:⽤户命要求为6位以上,18位以下,使⽤英⽂字母、数字、“-”、“”,并且⾸字符必须为字母或数字;密码在6~16位之间,只能⽤英⽂字母、数字、“-”、“”,并且区分⼤⼩写。
列出等价类表和测试⽤例。
下⾯总共是10个⽤例,这16个等价类中,有9个是⽆效的,把其他有效的弄到⼀起,写⼀个测试⽤例,总共就是10个四.边界值优化在进⾏等价类完成的情况下对边界值情况的优化优化原则上点:边界上的点,闭内开外离点(外点):离上点最近的点,开内闭外内点:域范围内的任意⼀点。
下一日问题(等价类和边界值)
该日期<1799.12.31
A3:MONTH+1 A4:MONTH=1 A5:YEAR+1 A6:不可能 1 月份属于 日期属于 A3:MONTH+1 A4:MONTH=1 A5:YEAR+1 A6:不可能 2 3 4 5 6 7 8
条件
动作
(1)无效等价类:该日期>2050.12.31 (2)有效等价类: month变量的有效等价类: M1={MONTH=4,6,9,11} M2={MONTH=1,3,5,7,8,10} M3={month=12} M4={month=2} day变量的有效等价类: D1={1<=DAY<=27} D2={DAY=28} D3={DAY=29} D4={DAY=30} D5={DAY=31} year变量的有效等价类: Y1={YEAR是闰年} Y2={YEAR不是闰年}
年 1799 1800 1801 1900 2049 2050 2051 1975 1975 1975 1975 1975 1975 1975 1975 1975 1975 1975 1975 1799 1800 1800 1975 2050 2050 2051 2008 2008 2008 1999 1999 1999
(1)无效等价类:该日期>205 (2)有效等价类: month变量的有效等价类: M1={MONTH=4,6,9,11} M2={MONTH=1,3,5,7,8,10 M3={month=12} M4={month=2} day变量的有效等价类: D1={1<=DAY<=27} D2={DAY=28} D3={DAY=29} D4={DAY=30} D5={DAY=31} year变量的有效等价类: Y1={YEAR是闰年} Y2={YEAR不是闰年} 动作: A1:DAY+1 A2:DAY=1 A3:MONTH+1 A4:MONTH=1 A5:YEAR+1 A6:不可能
等价类边界值综合示例-QQ号申请
等价类边界值综合练习题:QQ免费帐号申请
昵称:必填,最多12个字符
生日:年、月、日必填(1900年1月1日~2007年12月31日)性别:男、女选其一
密码:6-16个字符组成,区分大小写,不能为9位以下纯数字
确认密码:与密码输入完全一致,区分大小写
所在地:国家、省份、城市必选
验证码:输入看到的字符,不区分大小写
验证码:点击可更换图片
1、确定输入
输入:昵称、生日、性别、密码、确认密码、所在地、验证码
2、确定每个输入的输入条件
昵称:必填,最多12个字符
生日:年、月、日必填(1900年1月1日~2007年12月31日)性别:男、女选其一
密码:6-16个字符组成,区分大小写,不能为9位以下纯数字
确认密码:与密码输入完全一致,区分大小写
所在地:国家、省份、城市必选
验证码:输入看到的字符,不区分大小写
验证码:点击可更换图片
4、根据分析出的有效等价类、无效等价类、边界值设计输入数据
注意:
1、以上设计的测试用例只是输入数据,写实际的用例时还需要补充测试项、标题、预置条
件、操作步骤、预期结果等内容。
2、对该功能的测试建议先申请QQ号,然后用申请的QQ号和设置的密码进行登录,以验
证申请是否真的成功,以及密码的设置是否正确。
否则还是要单独对登录功能进行测试,而且测试的时候也需要重新申请QQ号。
把两个功能点结合起来进行用例设计可以减少用例数量,并提高测试执行效率。
当然,这样做的话QQ登录功能也需要从其它方面再补充测试用例,这里就不再赘述。
等价类边界值应用
等价类边界值应⽤等价类划分法⼀、测试⽤例(test case)也叫测试案例,在测试执⾏之前,由测试⼈员编写的,⽤来指导整个测试过程的重要⽂档。
主要组成:⽤例编号,测试⽬的,测试步骤,预期结果等⼆、功能测试⽅法?7种⽅法三、等价类划分⽅法1、应⽤场合在程序中,有数据输⼊的地⽅,可以等价类划分法。
将⼤量数据划分成若⼲范围,再从每个范围中挑选少量代表数据进⾏测试。
(抽样)2、测试思想1)穷举测试2)理想测试3、等价类划分法的测试步骤1)分析需求,初步划分等价类依据:需求2)细化等价类依据:不再是需求,是数据存储的类型和格式。
3)填写《等价类表》4)编写测试⽤例每个等价类范围⾄少挑选1个代表数据。
----------------------------------新内容:第四讲(2)边界值法⼀、等价类划分法上机练习:被测功能:即时贴-设置标题功能需求:1-40个字符,不能包含/*?:,不能为空。
⼆、边界值法1、说明:程序员在编程时,数据的边界是⾮常容易出错的地⽅,所以应该对边界重点测试,所以就有了边界值法。
2、应⽤场合在程序中,有数据输⼊的地⽅,可以使⽤边界值法。
通常情况下,边界值法常会和等价类划分法配合使⽤,从⽽形成1组较为完善的测试⽅案。
问题:等价类划分法和边界法不⼀定⼀起使⽤。
(⼤多数情况⼀起⽤,特殊情况下有可能只应⽤等价类划分)例如:性别:有效:男、⼥⽆效:男、⼥之外的,这种情况下就不需要边界值法。
3、边界值如何划分?1)边界值点(最⼩值、最⼤值)有效等价类数据和⽆效等价类数据之间的分界点,就是边界值点。
2)次边界值点(4个)边界值点左右两边相邻的点,就是次边界值点。
⾯试问题:Q1:测试时间紧张时,应优先测试哪些边界值相关点?如果测试时间紧张,应该优先测试最⼤值和最⼩值。
Q2:需求是否在开始就将边界明确了?不⼀定所有的边界数据在开始就明确,有可能后期逐渐明确。
练习:姓名: 1-10个字符最⼩值:1个最⼤值:10个有效最⼩次边界:2个有效最⼤次边界:9个⽆效最⼩次边界:为空⽆效最⼤次边界:11个年龄:18-60岁整数最⼩值:18最⼤值:60有效最⼩次边界:19⽆效最⼩次边界:17有效最⼤次边界:59⽆效最⼤次边界:61⼯资:5000-100000之间的⼩数,⼩数位数最多2位(0.01)最⼩值:5000最⼤值:100000有效最⼩次边界:5000.01⽆效最⼩次边界:4999.99有效最⼤次边界:99999.99⽆效最⼤次边界:100000.01最⼤值:2位次边界:1位、3位4、注意理论上边界值是属于某个等价类范围的,所以测边界值相当于⼀个范围有多个数据被测试,但是由于边界是⾮常容易出错的,应该重点测试,所以必须要测。
边界值和等价类 (2)
场景5-用户账号没有 钱
基本流 基本流 基本流 基本流
基本流
备选流1 备选流2 备选流3 备选流4
第二十四页,本课件共有34页
四、场景法
③设计用例 对每一个场景都要做测试用例,可以使用矩阵(表格)
来管理用例。用行表示各个测试用例,列表示测试用例的信 息。首先将测试用例的ID、条件、涉及的数据元素以及预期 结果列在矩阵中,然后将这些数据确定下来,填写在表格中。
一、等价类举例
输入三个整数A,B,C,输出以A,B,C为边的三角形面积,(1<=A,B,C<100),要求
结果保留两位小数.
格式如下:
序号
所属等价类
1
无效等价类
输入数据 a=1,b=2,c=1
预期结果 提示”3边不能构成三角形”
第六页,本课件共有34页
一、等价类划分法
输入分区
1
100
[1]无效等价类 <1
Expected Results: 1、弹出“网上购物系统”主页; 2、弹出“用户注册”界面; 3、密码和确认密码,均未显示明文。
错误推测法 Pass / Fail:
Test Notes:
Author admin
第二十页,本课件共有34页
四、场景法
场景是通过描述流经用例的路径来确定的过程,这个流经过程要 从用例开始到结束遍历其中所有基本流和备选流。场景法就是根据 这些基本流和备选流的流动过程设计测试用例。
第十五页,本课件共有34页
请用等价类和边界值方法编写企业新闻发布信息管理系统用户登录模块的测试用例,如图1所示。 注意,登录的用户名由大小写字母、数字组成,长度限制为3-12,并且用户名不能为空。 用户密码输入区分大小写。 知识点:测试用例、测试方法
测试工程师练习题.doc
收件地址:收件地址: 派件分拨: 派件网点: 浙江省湖州市长兴县洪桥镇 1□湖州分拨网点列表 长兴 BB► 长兴 _ 图4 (GPS 按钮未出现)网点列表 1 □图5 (GPS 按钮出现)%1 用等价类划分和边界值法设计用例。
公司对每票货会收取一定的保险费。
保险费=保价额*费率。
如图1,公司现在的费率时0.01,保险费最低收取15,最高收取3000o 录单时,填入保价额, 点'算'系统会算出对应的保险费,如图2。
保价额的限制是:①必须是大于等于1000的数字。
②小数点后最多可以保留三位。
保价额: %1 运用因果图和判定表,列出用例。
测试地址解析的顺序是否正确:录入收件地址,系统对地址进行解析,方式有以下三种来获取派件网点:1 .根据中央地址库2. 通过行政区划3. 通过GPS 定位要求对地址的解析,按1—2一3的顺序进行,即:1失效时,2才能起作用;只有1、2均失 效时才跳出GPS 按钮(3起作用);当多个条件生效时,取值顺序为1—2一3。
图3 (初始状态)%1 运用状态图法或场景法,整理出该功能的用例。
功能描述如下:网点登记投诉(同意处理:待调查,是否审批:待审核,如第5行),仲裁 调查员对投诉内容进行调查后,可以判定投诉成立(同意处理:调查成立,是否审批:待审 核,如第1行)或不成立(同意处理:调查不成立,是否审批:待审核,如第2行)。
仲裁 调查员判定后,需要仲裁经理审批,仲裁经理可以审批通过(同意处理:调查不成立'成立, 是否审批:审核通过,如第4行)或者撤回(同意处理:撤回,是否审批:待审核,如第3 行)。
仲裁经理撤回后的投诉,仲裁调查员需要再次进行调查。
1 保险费:收件地址: 派件分拨: 派件网点: 浙江省湖州市长兴县洪桥镇长乐路 0 GPSj④运用状态图法或场景法,整理出该功能的用例。
公司有一个报销的审批流程如下:说明:其它费用类型只需主管审核;当费用类型为罚款时,需要部门经理审核;当费用类型为罚款且金额大于1000时,才需要总经理进行审核。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习题:万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。
其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:为简化处理,本题在进行用例设计时,不必考虑对平年、闰年的判断)
一、先用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例覆盖所有的有效等价类,设计的测试用例如下:
3)为每一个无效等价类设计一个测试用例,设计结果如下:
4)测试用例举例:
5)存在的问题:
1、在对2月、大月、小月的无效日期进行用例选择时,日期没有取到边界上,如果程序忘记了对2月份的日期进行特殊判断,而是粗略写成所有的日期都必须小于等于28,那么用例9、用例10并不能发现错误。
2、在对大月、小月进行用例选择时,按照等价类的思想,从集合{1、
3、5、7、8、10、
12}和{4、6、9、11}中任意挑选了中间数据,感觉令人不够放心。
6)解决办法:
二、结合边界值方法进行用例设计。
首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到
了,最后再针对没有被覆盖的边界值补充测试用例。
设计测试用例覆盖等价类和边界值
可以再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。
设计测试用例覆盖无效等价类:。