等价类划分-NextDate问题

合集下载

黑盒测试《等价类划分》-有这篇就够了

黑盒测试《等价类划分》-有这篇就够了

⿊盒测试《等价类划分》-有这篇就够了⼤家好,我是吉提。

在疫情消停不下来的2020年,既然不好跳槽,不好涨薪,也不好发挥创造⼒,那么就沉下⼼来,跟我⼀起,巩固软件测试基础知识。

积攒⼒量,蓄势待发。

本⽂将会详细描述“等价类划分",它是⿊盒测试最基本的⽤例设计⽅法。

⽬录:1. 定义(What)2. 为什么使⽤该⽅法?(Why)3. 如何划分等价类?(How)4. 设计测试⽤例5. 使⽤场景6. 根据测试⽤例的完整性划分7. 等价类划分注意事项8. 等价类划分的优缺点9. 实战演练1. 定义(What)等价类划分法是⼀种典型的,并且是最基础的⿊盒测试⽤例设计⽅法。

采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。

所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。

从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。

等价类⼜分为有效等价类和⽆效等价类。

有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。

有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。

2. 为什么使⽤该⽅法?(Why)理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。

即:使⽤最少的测试数据,达到最好的测试质量(最⾼性价⽐)。

这个⼦集如何确定?可以借助测试⽤例的两个特性:测试⽤例数量达到最少;某个测试⽤例要能覆盖⼤部分其他测试⽤例。

第⼆个特性就暗⽰我们,应该尽量将程序输⼊范围进⾏划分,将其划分为有限数量的等价类,这样就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。

这两种特性形成了称为等价类划分的⿊盒测试⽅法。

因此,等价类划分是⿊盒测试最基本的⽅法。

3. 如何划分等价类?(How)在给定了输⼊或外部条件之后,等价类的划分原则如下:如果输⼊条件规定了⼀个取值范围(例如,“数量可以是1到999”),那么就应确定出⼀个有效等价类(1<数量<999),以及两个⽆效等价类(数量<1,数量>999)。

等价类划分-NextDate问题

等价类划分-NextDate问题
含三个变量:month 、 day 和 year ,函数的输出为输入日期 后一天的日期。 例如,输入为 2006 年 3 月 7 日,则函数的输出为 2006 年 3 月 8 日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条 件:
①1≤month≤12 ②1≤day≤31 ③1920≤year≤2050
等价类划分
第一步:划分等价类
输入以及外部条 件 输入三个数
有效等价类
1≤month≤12
1≤day≤31
1920≤year≤2050
编号 无效等价类
编号
1 month<1 和 month>12 2 day<1 和 day>31 3 year<1920 和 year>2050
第二步:为有效等价类设计测试用例
测试用例覆盖 测试数据
期望结果
覆盖等价类编号
第三步:为每一个无效等价类至少设计一个测试用例
测试数据
期望结果
覆盖等价类编号

等价类划分

等价类划分

黑盒测试
测试用例设计技术
等价类划分方法
等价类划分
是把所有可能的输入数据,即程序的输入域 划分成若干部分(子集),然后从每一个子 集中选取少数具有代表性的数据作为测试用 例.该方法是一种重要的,常用的黑盒测试用 例设计方法.
等价类划分
方法简介
1) 划分等价类:
等价类是指某个输入域的子集合.在该子集 合中,各个输入数据对于揭露程序中的错误都是 等效的.并合理地假定:测试某等价类的代表值就 等于对这一类其它值的测试.
等价类划分
⑤在规定了输入数据必须遵守的规则的情况下,可 确立一个有效等价类(符合规则)和若干个无 效等价类(从不同角度违反规则)。
例,Pascal语言规定 “一个语句必须以分号‘;’结 束”。这时,可以确定一个有效等价类 “以‘;’结束”, 若干个无效等价类 “以‘:’结束”、“以‘,’结束”、 “以‘ ’结束”、“以LF结束”等。
M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年<1812} Y3={年:年>2012}
NextDate 函数等价类测试用例
弱一般等价类测试用例
月份 日期 年
预期输出
6
15 1912 1912年6月16日
强一般等价类测试用例同弱一般等价类测试用 例
(三角形问题的复杂之处在于输入与输出之间的关系 比较复杂。 )
等价类划分
分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列 四种情况之一: 1. 如果不满足条件(5),则程序输出为 “ 非三角形 ” 。 2. 如果三条边相等即满足条件(7),则程序输出为 “ 等 边三角形 ” 。 3. 如果只有两条边相等、即满足条件(6),则程序输出 为 “ 等腰三角形 ” 。 4. 如果三条边都不相等,则程序输出为 “ 一般三角 形”。

黑盒测试——精选推荐

黑盒测试——精选推荐

⿊盒测试⿊盒测试⼀第⼀课1. 实验⽬的理解墨盒测试的基本⽅法,掌握等价类划分法、边界值分析等测试⽤例的设计⽅法。

2.实验内容(1) 等价类划分⽅法1) 三⾓形问题等价类划分设计测试⽤例2) NextDate问题,对它的输⼊进⾏分析,划分等价类,然后根据等价类设计测试⽤例。

(2) 边界值和因果图1)NextDate问题⽤边界值分析法设计测试⽤例分析NextDate问题中的逻辑,⽤边界值分析法的思想设计测试⽤例。

2) 有⼀个处理单价为5⾓钱的饮料的⾃动售货机软件测试⽤例的设计。

其规格说明如下:若投⼊5⾓钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。

若售货机没有零钱找,则⼀个显⽰[零钱找完]的红灯亮,这时再投⼊1元硬币并押下按钮后,饮料不送出来⽽且1元硬币也退出来;若有零钱找,则显⽰[零钱找完]的红灯灭,在送出饮料的同时退还5⾓硬币。

⽤因果图法对⾃动售货机设计测试⽤例。

要求:(1) 1)必做(1) 2)与(2)1)2)选做其⼀3.实验准备(1)主流PC机⼀套,要求安装windows操作系统、Virtul Studio6.0、C++Test、java等⼯具;(1)理解等价类划分法、边界值分析法的思想,划分依据;(2)熟悉上述⽅法测试⽤例设计的理论4.实验步骤(1)三⾓形问题1) if (!(a+b<=c||a+c<=b||b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if (a==b && a==c)MessageBox("等边三⾓形");else if (a==b || a==c || b==c)MessageBox("等腰三⾓形");elseM essageBox("⼀般三⾓形");}else {if(a<1||a>100)MessageBox("a不在范围内,不满⾜条件1,不能构成三⾓形");else if(b<1||b>100)MessageBox("b不在范围内,不满⾜条件2,不能构成三⾓形"); else if(c<1||c>100)MessageBox("c不在范围内,不满⾜条件3,不能构成三⾓形"); else if(a>=b+c)MessageBox("不满⾜aelse if(b>=a+c)MessageBox("不满⾜belse if(c>=b+a)MessageBox("不满⾜c}M essageBox("判断结束!");}2) 实验的输⼊和输出样式3) 测试⽤例设计⽤等价类分析法设计测试⽤例,按照下列步骤进⾏:⑴分析题⽬中给出的条件和隐含的输⼊要求,输⼊条件如下:①正整数②三个数③构成⼀般三⾓形④构成等腰三⾓形⑤构成等边三⾓形⑥不能构成三⾓形⑵根据输⼊条件的要求划分等价类,列出等价类表并编号,如下表:⑶设计测试⽤例,覆盖上表中的等价类,如下表:注:提⽰1(输⼊不符合要求)提⽰2(请输⼊数据)(2)(2) (2) NextDate问题⽤边界值分析法设计测试⽤例1)对于NextDate问题,分析它的输⼊限制;NextDate是⼀个有三个变量(⽉份、⽇期和年)的函数。

软件测试综合练习题

软件测试综合练习题

软件测试综合练习题一、名词解释题1、测试用例2、驱动模块3、回归测试4、静态测试5、桩模块6、强度测试7、软件测试8、自动化测试9、动态测试10、独立路径二、问答题1、软件测试涉及哪些关键问题?2、简述软件测试过程的流程。

3、为什么说软件测试必须有预期结果?4、什么是测试用例?5、简述黑盒测试和白盒测试概念,并试分析两者的优点和缺点。

6、采用白盒测试法设计测试用例时,常用的逻辑覆盖测试方法有哪几种?请简单描述各种方法的目的。

7、黑盒测试有哪几种方法?请简单描述各种方法的特点。

8、简析已学的各种黑盒测试方法的特点,并分析如何选择恰当的黑盒测试方法?9、简介WEB应用程序在压力下的常见错误类型。

10、单元测试的主要任务是什么?11、简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点。

12、简述在哪些测试模块中应优先考虑引入自动化测试?自动化测试可以带来哪些优点?13、在软件工程或软件测试中,哪些软件问题被称为软件缺陷?14、简述软件测试与软件开发各阶段的关系。

15、在测试实施之前,如何才能确定好的测试策略和测试方法?16、简述软件测试的目的和原则。

17、为什么在单元测试之后要进行集成测试?如何组织集成测试?18、当WinRunner识别完GUI对象后,会将GUI对象的属性储存在GUI Map File,WinRunner提供二种GUI Map File模式: GUI Map File per Test模式与Global GUI Map File模式。

(1)请比较这两种GUI Map File 模式的优点和缺点。

(2)请分别说明在这两种GUI Map File模式下,WinRunner可以通过哪些方式学习被测软件的GUI?19、介绍在 WinRunner 中GUI映射文件(GUI Map File)的作用。

20、什么是数据驱动脚本?简介在Winrunner中如何实现数据驱动脚本21、WinRunner 可以帮助用户自动处理从测试开发到测试执行的整个过程,可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。

等价类划分法

等价类划分法



设计测试用例的着眼点

根据产品规格,测试基本功能; 考虑设计一般用户(非专业人员)的使用方案; 考虑设计稀有或特殊的使用方案; 与系统其他组成部分的配合(如 FAX 和上网可能要用到 MODEM,测试中考虑对设备的共享); 考虑特殊情况(如内存和硬件的冲突等); 设计极端情况(如内存泄漏、破坏性测试等); 好的测试用例集能花费最小的代价(人力、物力、财力、 时间)做最好的测试。
设计测试用例的基本准则

测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和环 境设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用 例都应有相应的期望结果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。
例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。
等价类的划分
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数 x,则有效等价类为x (4)按照限制条件或规则划分 在规定了输入数据必须遵 的值为奇数的整数,无效等价类为 x的值不为奇数的整数。 守的规则或限制条件的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且 (5)细分等价类 在确知已划分的等价类中各元素在程序中 字符串不包含‘a’~ ‘z’之外的其它字符,则有效等价类为满 的处理方式不同的情况下,则应再将该等价类进一步划分为 足了上述所有条件的字符串,无效等价类为不以‘a’开头的字 更小的等价类,并建立等价类表。 符串、长度不为8的字符串和包含了‘a’~ ‘z’之外其它字符的 字符串。

软件测试-NextDate函数

软件测试-NextDate函数

2
15 9 9
30
9 35 9
Page 11
2007
2007 2007 2100
不可能的输入日期
变量month无效 变量day无效 变量year无效 制作者:
边界值分析法
边界值分析法设计测试用例
在NextDate函数中,规定了变量month、day、year的相应 取值范围。在上面等价类法设计测试用例中已经提过,具 体如下: M1={month:1≤month≤12} D1={day:1≤day≤31} Y1={year:1912≤year≤2050}
决策表共有22条规则: 第1~5条规则解决有30天的月份; 第6~10条规则解决有31天的月份(除12月份以外); 第11~15条规则解决12月份; 第16~22条规则解决2月份和闰年的问题。 不可能规则也在决策表中列出,比如第5条规则中在有30天的 月份中也考虑了31日。
制作者:
Page 16
决策表法
NextDate函数的用例设计方法
主讲:黄老师
授课班级:软件设计班
制作者:
NextDate函数的用例设计方法
黑盒测试
等价类划分法
边界值分析法
因果图法 决策表法
制作者:
Page 2
等价类划分法——以输入域划分等价类
NextDate 函数包含三个变量:month(月份)、day(日期) 和 year(年),函数的输出为输入日期后一天的日期。 例如, 输入为 2007年9月 9日,则函数的输出为 2007年9月10日 。 要求输入变量 month 、 day 和 year 均为整数值,并且满足 下列条件: (1)1≤month≤12 (2)1≤day≤31 (3)1912≤year≤2050 此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂 性的来源有两个:一个是输入域的复杂性,另一个是指闰年 的规则。例如变量year和变量month取不同的值,对应的变 量day会有不同的取值范围,day值的范围可能是1~30或1~ 31,也可能是1~28或1~29。

软件工程实用教程吕云翔-课后答案

软件工程实用教程吕云翔-课后答案

1练习题1)软件的特点有哪些?1.软件是一种逻辑实体,具有抽象性。

硬件是有形的设备,而软件不像硬件那样具有明显的可见性。

人们可以把软件记录在介质上,但是却无法直观地观察到它的形态,而必须通过在计算机上实际地运行才能了解它的功能、性能及其他特性。

2.软件的生产与硬件的制造不同。

它更多地渗透了人类的智能活动,是人类智力劳动的产物。

软件是被开发或设计的,而不是传统意义上被制造的。

软件成本集中于开发上,这意味着软件项目不能像制造项目那样管理。

3.软件在运行使用过程中,不会磨损。

在软件的运行和使用期间,它不会产生像硬件那样的磨损和老化现象,然而却存在着缺陷维护和技术更新的问题。

软件不会磨损,但是它会退化,而软件的退化是由于修改。

因此,软件维护比硬件维护要复杂得多。

4.软件的开发至今尚未完全摆脱手工艺的开发方式。

在硬件世界,构件复用是工程过程的自然的一部分,而在软件世界,它是刚刚开始起步的事物。

虽然软件产业正在向基于构件的组装前进,但大多数软件仍是定制的。

5.软件的开发和运行必须依附于特定的计算机系统环境。

它不像有些设备一样,能够独立地工作,而是受到了物理硬件、网络配置、支撑软件等因素的制约。

由此引发了软件的可移植性问题。

2)软件危机是如何产生的?有哪些表现?原因:在20世纪60年代中期,随着软件规模的扩大,复杂性的增加,功能的增强,使得高质量的软件开发变得越来越困难。

表现:1.开发出来的软件产品不能满足用户的需求,即产品的功能或特性与需求不符。

这主要是由于开发人员与用户之间不能充分有效的交流造成的,使得开发人员对用户需求的理解存在着差异;2.相比越来越廉价的硬件,软件代价过高;3.软件质量难以得到保证,且难以发挥硬件潜能。

开发团队缺少完善的软件质量评审体系以及科学的软件测试规程,使得最终的软件产品存在着诸多缺陷;4.难以准确估计软件开发、维护的费用以及开发周期。

往往软件产品不能在预算范围之内,按照计划完成开发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档