当前位置:文档之家› 使用等价类划分法设计测试用例的一个实例(2011-9-27)

使用等价类划分法设计测试用例的一个实例(2011-9-27)

使用等价类划分法设计测试用例的一个实例(2011-9-27)
使用等价类划分法设计测试用例的一个实例(2011-9-27)

使用等价类划分法设计测试用例的一个实例

●功能描述:

●一个加法计算器,输入加数和被加数,点击按钮“等于”自动得到结果。

其中加数和被加数为输入框,加数和被加数的范围为0-1024.且只能为整数,等于为按钮,结果自动显示。

一、下面是划分的等价类:

二、测试用例表

白盒测试用例设计方法

1白盒测试用例设计方法 1.1白盒测试简介 白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,一般多发生在单元测试阶段。白盒测试方法主要包括逻辑覆盖法,基本路径法,程序插装等。 这里重点介绍一下常用的基本路径法,对于逻辑覆盖简单介绍一下覆盖准则。 1.2基本路径法 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出独立路径集合,从而设计测试用例,设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。 在介绍基本路径测试方法(又称独立路径测试)之前,先介绍流图符号: 图1 如图1所示,每一个圆,称为流图的节点,代表一个或多个语句,流程图中的处理方框序列和菱形决策框可映射为一个节点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句,例如,图2中两个处理方框交汇处是一个节点,边和节点限定的范围称为区域。 图2

任何过程设计表示法都可被翻译成流图,下面显示了一段流程图以及相应的流图。 注意,程序设计中遇到复合条件时(逻辑or, and, nor 等),生成的流图变得更为复杂,如(c)流图所示。此时必须为语句IF a OR b 中的每一个a 和b 创建一个独立的节点。

(c)流图 独立路径是指程序中至少引进一个新的处理语句集合,采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用到的边。例如图(b)中所示流图的一个独立路径集合为: 路径1:1-11 路径2:1-2-3-4-5-10-1-11 路径3:1-2-3-6-8-9-10-1-11 路径4:1-2-3-6-7-9-10-1-11 上面定义的路径1,2,3 和4 包含了(b)流图的一个基本集,如果能将测试设计为强迫运行这些路径,那么程序中的每一条语句将至少被执行一次,每一个条件执行时都将分别取true 和false(分支覆盖)。应该注意到基本集并不唯一,实际上,给定的过程设计可派生出任意数量的不同基本集。如何才能知道需要寻找多少条路径呢?可以通过如下三种方法之一来计算独立路径的上界: 1. V=E-N+2,E 是流图中边的数量,N 是流图节点数量。 2. V=P+1,P 是流图中判定节点的数量 3. V=R,R 是流图中区域的数量 例如,(b)流图可以采用上述任意一种算法来计算独立路径的数量 1. V=11 条边-9 个节点+2=4 2. V=3 个判定节点+1=4 3. 流图有4 个区域,所以V=4 由此为了覆盖所有程序语句,必须设计至少4 个测试用例使程序运行于这4 条路径。 在采用基本路径测试方法中,获取测试用例可参考以下方式:

测试用例编写之等价类划分法

测试用例编写之等价类划分法 一、概念 等价类划分法指把所有可能的输入数据,即程序的输入域分成若干个部分(子集)后,从每个子集中选取少数具有代表性的数据作为测试用例的方法。是一种重要且常用的黑盒测试的测试用例设计方法。 二、等价类划分 等价类可分为两种情况:有效等价类与无效等价类。有效等价类是指:对程序的规格说明是有意义的、合理的输入数据所构成的集合;无效等价类意义与之相反。 三、确定等价类的规则 如何确定等价类,这是使用等价类划分方法的一个重要问题。等价类的划分在很大程度上是试探性的,一般规则如下: 1)如果输入条件规定了取值的范围或取值的个数([0,99]),则可确定一个有效等价类和两个无效等价类(<0 ;[0,99];>99); 2)如果一个输入条件说明了一个“必须成立的”情况(如变量名必须以字母开头),则可划分一个有效等价类(以字母开头)和一个无效等价类(不以字母开头); 3)如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类; 4)如果某个输入条件规定了一个输入值得离合(即离散值),且程序对不同的输入值做不同的处理,那么每个允许的值确定为一个有效等价类,另外还有一个无效等价类。(任意一个不允许输入的值、)例:优、良、中、差,则此时有4个有效等价类和1个无效等价类(非优、良、中、差的值就为无效) 5)如果某个输入条件规定输入数据是整型,那么可以确定3个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)。 6)如果某个输入条件规定处理的对象是表格,那么可确定一个有效等价类(表有1项或多项)和一个无效等价类(空表)。 7)如果能够确知,已划分的某等价类中的各元素在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类。 四、建立步骤 根据已列出的等价类表,按以下步骤确定测试用例: 1) 为每个等价类规定一个唯一的编号; 2) 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,最后使得所有的有效等价类都被测试用例所覆盖;

黑盒测试用例设计案例

黑盒测试用例设计案例 【例1】假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图9.11显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。 【解】 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:

(1)判断能否组成三角形; (2)识别等边三角形; (3)识别等腰三角形; (4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。 第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。 等价分类法: 有效等价类 输入3个正整数: (1)3数相等 (2)3数中有2个数相等,比如AB相等 (3)3数中有2个数相等,比如BC相等 (4)3数中有2个数相等,比如AC相等 (5)3数均不相等 (6)2数之和不大于第3数,比如最大数是A

(7)2数之和不大于第3数,比如最大数是B (8)2数之和不大于第3数,比如最大数是C 无效等价类: (9)含有零数据 (10)含有负整数 (11)少于3个整数 (12)含有非整数 (13)含有非数字符 边界值法: (14)2数之和等于第3数 猜错法: (15)输入3个零 (16)输入3个负数 第三步:提出一组初步的测试用例,如下表所示:

第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。

白盒测试方法

一、白盒测试概念 1、定义 白盒测试又称结构测试、透明盒测试、逻辑驱动测试、基于代码的测试。盒子指被测试的软件,白盒指盒子是可视的。白盒测试是一种测试用例设计方法,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例。白盒测试主要针对被测程序的源代码,主要用于软件验证,不考虑软件的功能实现,只验证内部动作是否按照设计说明书的规定进行。 2、目的 我们一方面注重软件功能需求的实现,另一方面还要注重程序逻辑细节,主要是因为软件自身的缺陷,具体如下: 1)逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。日常处理往往被很好地了解,而“特殊情况”的处理则难于发现。 2)我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程序的逻辑流有时是违反直觉的,只有路径测试才能发现这些错误。 3)代码中的笔误是随机且无法杜绝的。笔误出现在主流上和不明显的逻辑路径上的机率是一样的。很多被语法检查机制发现,但是其他的会在测试开始时才会被发现。 4)功能测试本身的局限性。如果程序实现了没有被描述的行为,功能测试是无法发现的,例如病毒,而白盒测试很容易发现它。 3、目标 采用白盒测试必须遵循以下几条原则,才能达到测试的目标: 1)保证一个模块中的所有独立路径至少被测试一次。 2)所有逻辑值均需测试真(true) 和假(false)两种情况。 3)检查程序的内部数据结构,保证其结构的有效性。 4)在上下边界及可操作范围内运行所有循环。 4、黑白灰区别 黑盒测试技术:也称功能测试或数据驱动测试,只关注规格说明中的功能,测试者在程序接口对软件界面和软件功能进行测试,它只检查实现了的功能是否按照“用户需求说明书”的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。主要用于软件确认测试,结合兼容、性能测试等方面,但黑盒测试不能保证已经实现的各个部分都被测试到。黑盒测试适用于各阶段测试。 白盒测试技术:只关注软件产品的测试,深入到代码一级的测试,它是知道产品内部结构,通过测试来检测产品内部动作是否按照“设计规格说明书”的规定正常进行,按照程

测试用例设计思路举例(参考)

ECShop2.7.2用例设计思路举例 说明 用例设计方法的运用非常灵活,没有绝对的套路可言,以下用例设计思路仅供参考。 操作流程举例 参考文档: ?ECShop_2.7.2_简易操作手册V1.0, ?B2C商城ECShop需求规格说明书_2.7.2V1.0 设计思路: 根据操作手册,理清业务逻辑前后关系,再结合SRS文档确定具体的流程细节和分支流程。可以通过画流程的方式梳理流程(流程分析法),下面是部分主流程的案例: ?正向订单流程_余额付款 1)前台页面浏览商品->加入购物车->结算中心->余额付款 2)后台管理中心订单查询->配货->生成发货单->确认生成发货单->去发货->发货 3)前台页面确认收货END ?正向订单流程_货到付款 1)前台页面浏览商品->加入购物车->结算中心->货到付款 2)后台管理中心订单查询->配货->生成发货单->确认生成发货单->去发货 ?逆向订单流程 1)前台页面确认收货->后台管理中心退货->填写退货信息点确定按钮->确认退货 ?商品添加流程_新商品 1)后台管理中心商品管理->新建商品类型/新建商品分类/新建商品品牌->添加新商品(通用信息,详细描述,其他信息,商品属性,商品相册,关联商品,配件,关联 文章) 考虑完所有流程后,再补充考虑部分异常情况,例如:流程中的先后顺序发生变化,或者跳过某个步骤后,系统能否完成后续流程作业。(有些流程是不可能调换顺序或跳过的) Q:流程分析法在设计测试用例的时候会经过很多页面,操作很多字段,这些页面和字段该如何取值呢? A:流程分析法一般考虑页面或字段的有效取值(一般取等价类中最不容易出错的值),测试过程中不关注页面输入域的各种取值情况,特别是错误取值的情况。目的是为了确保流程是可用的。 Q:流程分析法既然不能证明某个页面或字段没有问题,那用此法有何意义呢,为何不直接考虑验证每个页面和模块的各种有效和无效的取值?

等价类划分法实例

分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号 覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8) 4 5 5 (1)--(7),(9) 5 4 5 (1)--(7),(10) 4 4 4 (1)--(7),(11) 覆盖无效等价类的测试用例: 2. 设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990 年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能 "。(不考虑2月的问题) 1)划分等价类并编号,下表等价类划分的结果

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分 别为①、⑤、⑧,设计的测试用例如下: 测试数据期望结果覆盖的有效等价类 200211 输入有效①、⑤、⑧ 3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据期望结果覆盖的无效等价类 95June 无效输入② 20036 无效输入③ 2001006 无效输入④ 198912 无效输入⑥ 200401 无效输入⑦ 200100 无效输入⑨ 200113 无效输入⑩ 3.NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期 后一天的日期。例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日。 要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1920≤year≤2050 1)有效等价类为: M1={月份:1≤月份≤12} D1={日期:1≤日期≤31} Y1={年:1812≤年≤2012} 2)若条件① ~ ③中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相 应的变量超出取值范围,比如 "month 的值不在 1-12 范围当中 " 。显然还存在着大量的 year 、 month 、 day 的无效组合, NextDate 函数将这些组合作统一的输出: " 无效输入日期 " 。其无效等价类为: M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年<1812} Y3={年:年>2012} 弱一般等价类测试用例 月份日期年预期输出 6 15 1912 1912年6月16 日 强一般等价类测试用例同弱一般等价类测试用例

[方案]编写软件测试用例文档的例子

[方案]编写软件测试用例文档的例子TestCase_LinkWorks_WorkEvaluate 用例编号 LinkWorks 项目名称 WorkEvaluate模块模块名称 研发中心-质量管理部项目承担部门 用例作者 2005-5-27 完成日期 质量管理部本文档使用部门 评审负责人 审核日期 批准日期 注:本文档由测试组提交~审核由测试组负责人签字~由项目负责人批准。 历史版本: 版本/状态作者参与者起止日期备注 V1.1 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 项目名称用例标识 LinkWorks_ WorkEvaluate_02 MIIP 陈谦模块名称开发人员 WorkEvaluate 参考信息工作考核系统界面设计(2005_03_28).vsd 用例作者

设计日期测试人员高珍珍测试类型 2014-8-25 黑盒测试日期测试方法 用例描述 前置条件 编号权限测试项测试描述/输入/操作期望结果真实备注 (并列类别结果 关系) 无列导航栏导航浏览\点击导航连接详细正确导航页面所 00001 表测试在位置 页添加删除修添加修改删除按钮是否不可用 00002 面改按钮可用 接受、汇报按1) 不是自己负责的数据不能 钮未考核之前能否接受 \汇报 2) 属于自己负责的未接能 受之前时候是否可以 接受 00003 3) 属于自己负责的数据能 接受后但未考核能否 可以汇报 4) 接受后的数据没有汇不能 报但考核了,是否仍 可以汇报 考核审核按这俩按钮是否可用这两按钮为置灰,不 00004 钮可用 二级联动下功能下拉列表选择 1)默认为“本月由我

如何编写单元测试用例(白盒测试)

如何编写单元测试用例(白盒测试)。 一、单元测试的概念 单元通俗的说就是指一个实现简单功能的函数。单元测试就是只用一组特定的输入(测试用例)测试函数是否功能正常,并且返回了正确的输出。 测试的覆盖种类 1.语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。 2.判定覆盖(也叫分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次。 3.条件覆盖:设计足够的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次。 4.判定——条件覆盖:设计足够的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次,并且每个可能的判断结果也至少执行一次。 5.条件组合测试:设计足够的测试用例,运行所测程序,使程序中每个判断的所有条件取值组合至少执行一次。 6.路径测试:设计足够的测试用例,运行所测程序,要覆盖程序中所有可能的路径。 用例的设计方案主要的有下面几种:条件测试,基本路径测试,循环测试。通过上面的方法可以实现测试用例对程序的逻辑覆盖,和路径覆盖。 二、开始测试前的准备

在开始测试时,要先声明一下,无论你设计多少测试用例,无论你的测试方案多么完美,都不可能完全100%的发现所有BUG,我们所需要做的是用最少的资源,做最多测试检查,寻找一个平衡点保证程序的正确性。穷举测试是不可能的。所以现在进行单元测试我选用的是现在一般用的比较多的基本路径测试法。 三、开始测试 基本路径测试法:设计出的测试用例要保证每一个基本独立路径至少要执行一次。 函数说明:当i_flag=0;返回 i_count+100 当i_flag=1;返回 i_count *10 否则返回 i_count *20 输入参数:int i_count , int i_flag 输出参数: int i_return; 代码: 1int Test(int i_count, int i_flag) 2 {

测试用例设计练习

一、等价类划分法 例子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 项目搜索功能 标题输入正确的日期格式成功搜索

白盒测试:路径测试及测试用例设计

20 14 —20 15 学年第 2 学期 软件测试技术课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:软件12401 姓名:李晶宇 学号:041240134 任课教师:刘玉宝

实验日期:2015年 6 月16 日实验题目实验5、白盒测试:路径测试及测试用例设计 实验目的1、掌握独立路径,程序基本路径测试的概念。 2、掌握独立路径测试法。 实验内容 程序int binsearch(int array[],int key)实现折半查找的功能。数组array元素按升序排列,length为数组array的长度,key为要查找的值。 试用独立路径集测试法测试该程序,撰写实验报告。 关键代码如下(Java实现) public static int binsearch(int array[],int key) { int low = 0; int high = array.length - 1; int middle; while(low <= high) { middle = (low+high)/2; if(array.[middle] == key) { return middle; }else if(array.[middle] < key) { low = middle +1; }else { high = middle - 1; } } return -1; } 实验步骤: 1)画出程序的流图(控制流程图)。

程序入口(数组元素升序) low <= high (low+high)/2 array[middle] == key Y N array[middle] < key key=middle Y N low=middle+1 high=middle-1 程序出口 2)计算流图G 的圈复杂度V(G)。 封闭区域:○2→○3→○4→○6→○7→○2→○10 ○2→○3→○4→○6→○8→○9→○2→○10 还有一个区域是这两个区域以外的区域,共有三个区域,即独立路径数的上界 是3,V(G)=3。 3)确定只包含独立路径的基本路径集。 V(G)值正好等于该程序的独立路径的条数。 程序的独立路径是: Path1:○1→○2→○3→○4→○5→○10 Path2:○1→○2→○3→○4→○6→○7→○2→○10 Path3:○1→○2→○3→○4→○6→○8→○9→○2→○10 4)根据上面的独立路径,设计测试用例,得到测试用例表。 为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证每一条路径可以被测试到,满足上面例子基本路径集的测试用例表如下: 2 10 1 4 6 5 7 8 9 3

软件测试用例实例(非常详细)

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。测试目的 配置说明操作系统系统软件外设应用软件结果 服务器Window2000(S) WindowXp Window2000(P) Window2003 用例编号TestCase_LinkWorks_WorkEvaluate 项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门研发中心-质量管理部 用例作者 完成日期2005-5-27 本文档使用部门质量管理部 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。历史版本: 版本/状态作者参与者起止日期备注 V1.1 1.1. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。 测试目的

测试说明 前提条件连续运行8小时,设置添加10用户并发 测试需求输入/动作输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时 功能1 2小时 4小时 6小时 8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务 规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则 的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对 交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 用例标识LinkWorks_ WorkEvaluate_02 项目名称https://www.doczj.com/doc/83893791.html, 开发人员模块名称WorkEvaluate 用例作者参考信息工作考核系统界面设计(2005_03_28).vsd 测试类型设计日期2006-9-27 测试人员 测试方法黑盒测试日期 用例描述 前置条件 编号权限 (并列 关系)测试项测试 类别 描述/输入/操作期望结果真实 结果 备注 00001 无列 表 页 面 导航栏导航 测试 浏览\点击导航连接详细正确导航页面所 在位置 00002 添加删除修 改按钮 添加修改删除按钮是否 可用 不可用 00003 接受、汇报按 钮 1)不是自己负责的数据 未考核之前能否接受 \汇报 不能 2)属于自己负责的未接 受之前时候是否可以 接受 能

白盒测试用例练习题(1)

白盒测试用例练习 1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); //语句块1 } if ( (x==4)||(y>5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 } a Y c N b e Y N d x>3 and z<10 x=4 or y>5 j=j%3 j=x*y+10 k=x*y-1 j=sqrt(k) k=0 j=0

由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件M={x>3 and z<10} 判定条件N={x=4 or y>5} 1、语句覆盖 测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e) 2、判定覆盖 p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。 测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e) x=2,z=11,y=5 k=0,j=0 F F P4(a-b-d) 也可以让测试用例测试路径P2和P3。相应的两组输入数据如下: 测试用例输入输出判定M的取值判定N的取值覆盖路径x=5,z=5,y=4 k=19,j=sqrt(19)%3 T F P2(a-c-d) x=4,z=11,y=6 k=0,j=1 F T P3(a-b-e) 3、条件覆盖 对于M:x>3取真时T1,取假时F1; z<10取真时T2,取假时F2; 对于N:x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。 条件:x>3,z<10,x=4,y>5 条件:x<=3,z>=10,x!=4,y<=5 根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示: 测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8 k=31, j=0 T1,T2,T3,T4 x>3,z<10,x=4,y>5 P1(a-c-e) x=3,z=11,y=5 k=0, j=0 F1,F2,F3,F4 x<=3,z>=10,x!=4,y<=5 P4(a-b-d) 4、判定/条件覆盖 测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8 k=31, j=0 T1,T2,T3,T4 x>3,z<10,x=4,y>5 P1(a-c-e) x=3,z=11,y=5 k=0, j=0 F1,F2,F3,F4 x<=3,z>=10,x!=4,y<=5 P4(a-b-d)

白盒测试及用例设计

白盒测试 白盒测试(White-box Testing,又称逻辑驱动测试,结构测试) 是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试又称为结构测试和逻辑驱动测试。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。 六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 "白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

测试用例八大设计方法和实例

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

软件测试中如何编写单元测试用例(白盒测试)

软件测试中如何编写单元测试用例(白盒测试) 测试用例(T est Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 测试用例(T est Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。 不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不统一,变化更大、更快。笔者主要从事企业管理软件的测试。因此我们的做法是把测试数据和测试脚本从测试用例中划分出来。测试用例更趋于是针对软件产品的功能、业务规则和业务处理所设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试用例。 随着中国软件业的日益壮大和逐步走向成熟,软件测试也在不断发展。从最初的由软件编程人员兼职测试到软件公司组建独立专职测试部门。测试工作也从简单测试演变为包括:编制测试计划、编写测试用例、准备测试数据、编写测试脚本、实施测试、测试评估等多项内容的正规测试。测试方式则由单纯手工测试发展为手工、自动兼之,并有向第三方专业测试公司发展的趋势。 要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性。测试用例反映了要核实的需求。然而,核实这些需求可能通过不同的方式并由不同的测试员来实施。例如,执行软件以便验证它的功能和性能,这项操作可能由某个测试员采用自动测试技术来实现;计算机系统的关机步骤可通过手工测试和观察来完成;不过,市场占有率和销售数据(以及产品需求),只能通过评测产品和竞争销售数据来完成。 既然可能无法(或不必负责)核实所有的需求,那么是否能为测试挑选最适合或最关键的需求则关系到项目的成败。选中要核实的需求将是对成本、风险和对该需求进行核实的必要性这三者权衡考虑的结果。 确定测试用例之所以很重要,原因有以下几方面。 测试用例构成了设计和制定测试过程的基础。测试的“深度”与测试用例的数量成比例。由于每个测试用例反映不同的场景、条件或经由产品的事件流,因而,随着测试用例数量的增加,您对产品质量和测试流程也就越有信心。判断测试是否完全的一个主要评测方法是基于需求的覆盖,而这又是以确定、实施和/或执行的测试用例的数量为依据的。类似下面这样的说明:“95 % 的关键测试用例已得以执行和验证”,远比“我们已完成95 % 的测试”更有意义。测试工作量与测试用例的数量成比例。根据全面且细化的测试用例,可以更准确地估计测试周期各连续阶段的时间安排。测试设计和开发的类型以及所需的资源主要都受控于测试用例。测试用例通常根据它们所关联关系的测试类型或测试需求来分类,而且将随类型和需求进行相应地改变。最佳方案是为每个测试需求至少编制两个测试用例:·一个测试用例用于证明该需求已经满足,通常称作正面测试用例;·另一个测试用例反映某个无法接受、反常或意外的条件或数据,用于论证只有在所需条件下才能够满足该需求,这个测试用例称作负面测试用例。 前段时间公司进行有关测试的培训,集成测试,性能测试,压力测试说了很多。由于本人还处于Coder阶段,只是对单元测试有了些了解。写下来怕以后自己忘记了。都是些自己的看法,不一定准确,欢迎高手指教。 一、单元测试的概念 单元通俗的说就是指一个实现简单功能的函数。单元测试就是只用一组特定的输入(测试用

典型测试用例案例讲解

案例一:三角形判断功能测试 输入三条边,判断能否组成三角形,能组成三角形,继续判断能组成等腰三角形?等边三角形?还是直角三角形? 案例二:用户修改个人信息 要求:电话:11位长数字串 密码:18位以内的字符串(包含18位长) 用户登陆后可以修改个人信息,包含:电话号码、密码。 点击“修改用户信息”控件,系统显示所有用户个人信息: 其中用户名和工号不可修改,不能进行输入。密码分旧密码、新密码、验证新密码, 若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”; 若旧密码不正确(旧密码是否正确),则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同(两个新密码是否相同),则提示“新密码与验证新密码不同”,系统将不修改个人信息。 若只修改密码外其他信息(是否修改密码),则不需输入两个新密码,系统只验证旧密码正确,就成功更改个人信息,并提示“用户信息修改成功”;如果系统验证旧密码输入不正确,则提示“用户密码错”。

案例三:读书选择 1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读 2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去 3、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息 4、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息 5、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去 6、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读 7、不疲倦、不感兴趣、且糊涂跳到下一章去读 8、不疲倦、感兴趣,且糊涂回到本章重读 案例四:PPT打印功能测试 PowerPoint软件打印功能描述如下: 打印范围分:全部、当前幻灯片、给定范围共三种情况; 打印内容分:幻灯片、讲义、备注页、大纲视图共四种方式; 打印颜色/灰度分: 颜色、灰度、黑白共三种设置; 打印效果分:幻灯片加框和幻灯片不加框两种方式。 请利用如下正交表设计用例。 下面正交表共四个因子,其中每个因子三状态:

等价类划分法实例教学文案

等价类划分法实例

1.某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序 判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题 的复杂之处在于输入与输出之间的关系比较复杂。) 分析题目中给出和隐含的对输入条件的要求: (1)整数(2)三个数(3)非零数(4)正数 (5)两边之和大于第三边(6)等腰(7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号

覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8)

4 5 5 (1)--(7),(9) 5 4 5 (1)--(7),(10) 4 4 4 (1)--(7),(11) 覆盖无效等价类的测试用例: 2.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年 1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。(不考虑2月的问题) 1)划分等价类并编号,下表等价类划分的结果 输入等价类有效等价类无效等价类

常见的测试用例设计方法都有哪些

常见的测试用例设计方法都有哪些 常见的测试用例设计方法都有哪些? 请分别以具体的例子来说明这些方 法在测试用例设计工作中的应用。 1. 等价类划分常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并 合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2. 边界值分析法边界值分析方法是对等价类划 分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入

输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据. 3. 错误推测法基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0 的情况。输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例. 4. 因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查

测试用例实例

测试用例实例 1、一个好的用例的表述要点,即用例中应当包含的信息 一个优秀的测试用例,应该包含以下信息: 1)?软件或项目的名称 2)?软件或项目的版本(内部版本号) 3)?功能模块名 4)?测试用例的简单描述,即该用例执行的目的或方法 5)?测试用例的参考信息(便于跟踪和参考) 6)?本测试用例与其他测试用例间的依赖关系 7)?本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限 8)?用例的编号(ID),如可以是软件名称简写-功能块简写-NO.。 9)?步骤号、操作步骤描述、测试数据描述 10) 预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略) 11)开发人员(必须有)和测试人员(可有可无) 12)测试执行日期 2、实例 该测试案例是以一个B/S结构的登录功能点位被测对象,该测试用例为黑盒测试用例。假设用户使用的浏览器为 SP4。 功能描述如下: 1.用户在地址栏输入相应地址,要求显示登录界面; 2.输入用户名和密码,登录,系统自动校验,并给出相应提示信息; 3.如果用户名或者密码任一信息未输入,登录后系统给出相应提示信息; 4.连续3次未通过验证时,自动关闭IE。 表4-1登录界面测试用例

自动取款机取款用例规约和测试用例 取款用例说明: 此用例完成用户利用自动取款机取款的全部流程,分为以下流程:插卡,输入密码,选择金额,取款,取卡等操作。 事件流: 该用例在用户插卡之后启动 1. 系统提示用户插卡; 2. 提示客户输入密码信息; 3. 密码输入完毕后,客户选择“确认”,向系统提交信息; 4. 系统验证客户输入的密码信息,确认正确后,进入选择系统主界面; 5. 用户选择取款选项; 6. 系统进入取款金额界面并提示用户输入金额; 7. 系统验证可以取款并输出钱款; 8. 系统提示用户取卡,操作完成。 基本流: 用户取款。 备选流: 1.用户密码错误 2.取款金额不符合要求。 前置条件: 用户必须插入正确的银行卡才能开始执行用例。 后置条件: 如果系统确认用户信息正确,成功登陆,则系统启动主界面,等待用户发送消息,进行查询和取款等操作。

相关主题
文本预览
相关文档 最新文档