当前位置:文档之家› 软件测试中黑盒测试的测试用例设计方法软件测试的14种类型

软件测试中黑盒测试的测试用例设计方法软件测试的14种类型

软件测试中黑盒测试的测试用例设计方法软件测试的14种类型
软件测试中黑盒测试的测试用例设计方法软件测试的14种类型

软件测试中黑盒测试的测试用例设计方法/软件测试的14种类型

发布: 2010-7-09 09:05 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 204次 | 进入软件测试论坛讨论软件测试中黑盒测试的测试用例设计方法/软件测试的14种类型

等价类划分

是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.

1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.

无效等价类:与有效等价类的定义恰巧相反.

设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.

2)划分等价类的方法:下面给出六条确定等价类的原则.

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.

3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:

输入条件有效等价类无效等价类

... ... ...

... ... ...

然后从划分出的等价类中按以下三个原则设计测试用例:

①为每一个等价类规定一个唯一的编号.

②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.

③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.

边界值分析法

边界值分析方法是对等价类划分方法的补充.

(1)边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.

3)根据规格说明的每个输出条件,使用前面的原则1).

4)根据规格说明的每个输出条件,应用前面的原则2).

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.

6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例.

7)分析规格说明,找出其它可能的边界条件.

错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这

些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.

因果图方法

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).

因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

利用因果图生成测试用例的基本步骤:

(1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.

(2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.

(3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.

(4) 把因果图转换为判定表.

(5) 把判定表的每一列拿出来作为依据,设计测试用例.

从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.

前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.

判定表通常由四个部分组成.

条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.

动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.

条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值.

动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.

规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.

判定表的建立步骤:(根据软件规格说明)

①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有种规则.

②列出所有的条件桩和动作桩.

③填入条件项.

④填入动作项.等到初始判定表.

⑤简化.合并相似规则(相同动作).

B. Beizer 指出了适合使用判定表设计测试用例的条件:

①规格说明以判定表形式给出,或很容易转换成判定表.

②条件的排列顺序不会也不影响执行哪些操作.

③规则的排列顺序不会也不影响执行哪些操作.

④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则.

⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.

软件测试的14种类型

作者:啄木鸟(Sawin网站)

软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。本文主要描述软件测试的类型。

1 数据和数据库完整性测试

数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。

数据库完整性原即:

主码完整性:主码不能为空;

外码完整性:外码必须等于对应的主码或者为空。

数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。

在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统 (DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。

比如,有两张表:部门和员工。部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部

门编号,对应部门表。如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。

员工类型如下定义:0:职工,1:职员,2:实习生。但数据类型为Int,我们都知道Int占有4个字节,如果定义成char(1).就比原来节约空间。

2 白盒测试

白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。白盒测试分为动态白盒测试和静态白盒测试2.1 静态白盒测试

利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。比如,代码规范中规定,函数必须为动宾结构。而黑盒测试发现一个函数定义如下:

Function NameGet(){

….

}

这是属于不符合开发规范的错误。

有这样一段代码:

if (i<0) & (i>=0)

这段代码交集为整个数轴,IF语句没有必要

I=0;

while(I>100){

J=J+100;

}

在循环体内没有I的增加,bug产生。

2.2 动态白盒测试

利用开发工具中的调式工具进行测试。比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。

看一段代码

if(I<0){

P1

}else{

P2

}

在调试中输入I=-1,P1程序段通过, P2程序段未通过,属于动态黑盒测试的缺陷

3.功能测试

功能测试指测试软件各个功能模块是否正确,逻辑是否正确。

对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI) 与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。

比如一个对电子商务系统,前台用户浏览商品-放入购物车-进入结账台,后台处理订单,配货,付款,发货,这一系列流程必须正确无误的走通,不能存在任何的错误。

UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等

用户界面 (UI) 测试用于核实用户与软件之间的交互。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI 测试还可确保 UI 中的对象按照预期的方式运行,并符合公司或行业的标准。包括用户友好性,人性化,易操作性测试。UI测试比较主观,与测试人员的喜好有关

比如:页面基调颜色刺眼;用户登入页面比较难于找到,文字中出现错别字,页面图片范围太广等都属于UI测试中的缺陷,但是这些缺陷都不太严重。

2 软件测试的14种类型

常用的四种黑盒测试用例设计方法

常用的四种黑盒测试用例设计方法 1.等价划分。所谓等价类划分是指一套被选择的值,这些值分别代表了许多众多 的可能输入值,程序对其处理的方式都是一样的。等价类划分的方法作为继边界值分析方法之后补充的测试用例设计试用的一种方法。划分等价类、确定测试用例。 等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。 等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。 2.边界值分析。在设计测试用例确定输入和输出参数时,大多数情况下都是用边 界值分析方法,采用边界值分析设计的测试用例发现程序错误能力最强。边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

3.错误推测法。人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而 有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。 4.因果图。如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选 用因果图法。如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。

黑盒测试用例设计案例

黑盒测试用例设计案例 【例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 决策表通常由以下4部分组成: 条件桩(condition stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。 动作桩(action stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。作项(action entry):列出在条件项的各种取值情况下应该采取的动作。 2 决策表的生成: (1)确定规则的个数 ?有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩 (3)填入条件项 (4)填入动作项,得到初始决策表 (5)简化决策表,合并相似规则

?若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 ?合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为“无关条件”。 举个例子↓↓

3 决策表的优缺点: 决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。 ? 利用决策表能够设计出完整的测试用例集合。 ? 运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出 4 何种情况下使用? ? 规格说明以决策表形式给出,或较容易转换为决策表;

软件测试规范标准[详]

软件测试规 1目的 确保软件产品质量,使产品能够顺利交付和通过验收的一项重要措施。 2适用围 适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。 3职责 ?项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。 ?项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护记录》。 ?测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见 ?项目负责人组织测试环境的建立。 ?项目经理审核负责控制整个项目的时间和质量。 ?研发人员确认修改测试人员提交的bug。 4工作流程 4.1 测试依据 详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。 4.2 制订《测试方案》 在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下容:

?测试目的; ?所需人员及相应培训要求; ?测试环境、工具和测试软件; ?测试用例、测试数据和预期的结果。 4.3 单元测试 项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。 单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。 单元测试针对程序模块,从程序的部结构出发设计测试用例。多个模块可以独立进行单元测试。 ?单元测试容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等; ?单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试; ?单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。 4.4 集成测试 编码开发完成,项目组部应进行组装测试。 集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。 集成测试过程应填写《问题报告及维护记录》,测试结果应形成《测试报告》。 4.5 系统测试 在项目开发完成之后,应对整个系统软件和硬件进行系统测试。对性能、可靠性、健壮性、压力承受力等方面分别进行评价,以验证系统是否满足

实验1 黑盒测试用例设计

实验1 黑盒测试用例设计 1、实验目的 1、掌握黑盒测试用例的设计方法。 2、综合运用所学的黑盒测试方法设计测试用例。 2、实验准备 1、黑盒测试用例的设计方法。 2、测试用例模板。 3、实验内容 3.1基本训练 实验一:假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图1显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。 图1 实验二:为自动售货机设计黑盒测试用例 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在

送出饮料的同时退还5角硬币。 3.2扩展训练 题目1:利用因果图法编写测试用例。 某奖金计算软件实现功能如下: 1该软件可以计算某公司的年终奖,该公司员工分为普通员工和管理人员。 2员工表现分为普通、优秀和特殊贡献(普通和优秀员工都可以有特殊贡献,普通员工表现普通和管理人员表现普通拿的工资是不同的)。 3 根据员工的分类和表现,将奖金分为1类奖金,2类奖金——。 具体分析: 输入条件:员工类别:普通员工A1、管理人员A2 员工表现:普通B1、优秀B2、特殊贡献B3 输出条件:奖金类别:1类奖金C1、2类奖金C2—— 其中:A1和A2是互斥的,B1和B2是互斥的,B1和B3,B2和B3可以同时满足。 普通员工:A1+B1—>C1 A1+B2 —〉C2 A1+B1+B3—〉C3 A1+B2+B3—〉C4 管理人员:A2+B1—〉C5 A2+B2—〉C6 A2+B1+B3—〉C7 A2+B2+B3—〉C8 4、实验步骤 4.1基本训练 实验一步骤: 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形; (2)识别等边三角形; (3)识别等腰三角形; (4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。 第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。 等价分类法:

软件测试规范制度

安徽中杰测试 管 理 规 范 序号版本编号修订内容修订人批准人发布时间 1 安徽中杰软件测试管理规 范2015年7月20 日

1.目的 本文是对项目软件测试的指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程及测试过程中涉及到的角色职责进行总体规范,以有效保证软件质量。 2.范围 本文适用于软件测试人员。 3.参考资料 《缺陷管理规范》 《测试执行规范》 《文档测试指南》 《项目测试计划模版》 《测试用例设计规范》 《功能测试用例模版》 《集成测试用例模版》 《项目测试报告模版》 《自动化测试计划模版》 《性能测试计划模版》

4.测试过程描述 4.1 测试流程图 需求评审 测试计划 测试设计 功能测试执行 集成测试设计 /性能测试设计 集成/性能测试 文档测试 项目总结

4.2 活动说明 4.2.1 需求评审 4.2.1.1目的 从源头把握软件质量,并确保开发结果与实际需求相一致 4.2.1.2角色与职责 需求人员:《需求规格说明书》的编写,以及软件开发过程中《需求规格说明书》的修正; 评审人员:评审《需求规格说明书》,从全面性、完整性、正确性、一致性、可靠性方面检、查《需求规格说明书》,将需求缺陷提交给需求人员,并跟踪需求缺 陷直至需求缺陷验证关闭。 4.2.1.3启动标准 《需求规格说明书》编写完成

4.2.1.4工作流程图 需求评审 评审人员 需求人员 验证需求规格说明书 评审完成 对需求规格说明书评审 发现需求缺陷 修正需求规格说明书 将需求缺陷提交给需求人员 修正需求文档,并提交评审人员验证 全部缺陷验证通过 存在不通过的需求缺陷 4.2.1.5输入/输出 输入:《需求规格说明书》 输出:需求缺陷 4.2.1.6规范 参见《文档评审指南》

黑盒测试及测试用例设计方法

黑盒测试及测试用例设计方法 黑盒测试定义 什么是黑盒测试? 黑盒测试就是测试人员把软件产品(可阶段性产品)看做是一个黑盒。在测试过程中测试人员只需关心对这个软件黑盒操作会得到什么样的结果,而不必深入地去了解它的内部实现机制所进行的测试活动。 例如:在Windows的命令行中输入字符串dir就可以得到当前目录下的子目录及文件的列表。而输入tasklist后就得到一张正在系统中运行的任务的列表。在以上操作中不必去考虑命令行解析器会如何解析输入的字符串,也不必考虑系统如何获取我们想要的信息并如何把他显示在屏幕上,这就是黑盒处理机制。我们只关心输入(input)的和想要得到的输出(output)。如果在初始条件确定的情况下的一组确定的输入经过软件产品这个黑盒进行处理后并没有得到期望的结果(expected result)时,则说明此时就发现了一个软件的缺陷(defect)。 为什么要做黑盒测试? 验证(verity):软件产品是否符合需求文档的设计(IEEE 1983 of IEEE Standard 729)证实(validate):软件产品符合最终用户的需求(IEEE 1983 of IEEE Standard 729) 把dir输入到其它软件(如计算器)可能毫无意义,但在Windows命令行中被解析为获取当前目录下的子目录及文件的列表,并且在初始条件确定的情况下将得到可预测的输出。这样的输出在软件测试阶段通常被定义下来以保证开发人员编写的程序有章可循。这下是软件测试的目的之一:验证(verity)软件产品是否符合需求文档的设计。 黑盒测试中,测试人员只按业务逻辑测试而不需要考虑内部实现。这就很好地模拟了终端用户的行为。然而终端用户的行为并不会都在软件需求文档中定义(例如黑客攻击)。我们可以尽量模拟终端用户对产品网站进行攻击。这样的测试既可以是预先定义好的,也可以是随机的(adhoc test)。像这样的模拟终端用户操作对产品进行的测试活动就是在履行软件测试的另一个目的:证实(validate)软件产品符合最终用户的需求。 软件生命周期中的哪些测试阶段用到过黑盒测试? 软件生命周期包括: 单元测试(unit test)。 组件测试(component test)。 集成测试(integration test)。

功能测试用例的设计

功能测试用例的设计 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

一、实验目的 1.用因果图法分析原因结果,并决策表设计测试用例。 2.使用场景法设计测试用例。 二、实验内容 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,考虑用因果图法设计测试用例,给出完整步骤。 2. 有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。 三、实验环境 Windows XP系统 四、实验步骤和结果 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,用因果图法设计测试用例,给出完整步骤。具体如下: 1)输入的三边分别为a,b,c(斜边) 且a

2. 行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。

(注:在下面的矩阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流,“n/a”(不适用)表 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测

五、实验结果和讨论 成功使用因果图法、场景法设计了测试用例。 六、总结 1.因果图法的定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 2.在事件触发机制中场景法用得最多。在测试一个软件的时候,先确定基本流也就是测试流程中软件功能按照正确的事件流实现的一条正确流程,接着去确定备选流也就是那些出现故障或缺陷的过程,用备选流加以标注。然后可以采用矩阵或决策表来确定和管理测试用例。

软件测试用例(标准参考)

{ 项目名称} { 测试用例标题} 机构公开信息

版本历史

目录 0. 文档介绍 (5) 0.1文档目的 (5) 0.2文档范围 (5) 0.3读者对象 (5) 0.4参考文献 (5) 0.5术语与缩写解释 (5) 1. 接口-路径测试用例 (6) 1.1被测试对象(单元)的介绍 (6) 1.2测试范围与目的 (6) 1.3测试环境与测试辅助工具的描述 (6) 1.4测试驱动程序的设计 (6) 1.5接口测试用例 (6) 1.6路径测试的检查表 (7) 2. 功能测试用例 (8) 2.1被测试对象的介绍 (8) 2.2测试范围与目的 (8) 2.3测试环境与测试辅助工具的描述 (8) 2.4测试驱动程序的设计 (8) 2.5功能测试用例 (8) 3. 健壮性测试用例 (9) 3.1被测试对象的介绍 (9) 3.2测试范围与目的 (9) 3.3测试环境与测试辅助工具的描述 (9) 3.4测试驱动程序的设计 (9) 3.5容错能力/恢复能力测试用例 (9) 4. 性能测试用例 (10) 4.1被测试对象的介绍 (10) 4.2测试范围与目的 (10) 4.3测试环境与测试辅助工具的描述 (10) 4.4测试驱动程序的设计 (10) 4.5性能测试用例 (10) 5. 图形用户界面测试用例 (11) 5.1被测试对象的介绍 (11) 5.2测试范围与目的 (11)

5.3测试环境与测试辅助工具的描述 (11) 5.4测试驱动程序的设计 (11) 5.5测试人员分类 (11) 5.6用户界面测试的检查表 (11) 6. 信息安全性测试用例 (12) 6.1被测试对象的介绍 (12) 6.2测试范围与目的 (12) 6.3测试环境与测试辅助工具的描述 (12) 6.4测试驱动程序的设计 (12) 6.5信息安全性测试用例 (13) 7. 压力测试用例 (13) 7.1被测试对象的介绍 (13) 7.2测试范围与目的 (13) 7.3测试环境与测试辅助工具的描述 (13) 7.4测试驱动程序的设计 (13) 7.5压力测试用例 (14) 8. 可靠性测试用例 (14) 8.1被测试对象的介绍 (14) 8.2测试范围与目的 (14) 8.3测试环境与测试辅助工具的描述 (14) 8.4测试驱动程序的设计 (14) 8.5可靠性测试用例 (15) 9. 安装/反安装测试用例 (15) 9.1被测试对象的介绍 (15) 9.2测试范围与目的 (15) 9.3测试环境与测试辅助工具的描述 (16) 9.4测试驱动程序的设计 (16) 9.5安装/反安装测试用例 (16) 附录:评审意见 (16)

测试用例实例—常见功能测试点

测试用例实例--常见功能测试点 笔者在网上看到了一篇文章,个人认为此文对于“软件常用功能测试点”总结的很好,特此摘录下来和大家一起分享。 1. 登陆、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑 1)登陆 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格式上的要求) ④密码符合要求,用户名不符合要求(格式上的要求) ⑤用户名或密码为空 ⑥数据库中不存在的用户名,不存在的密码 ⑦数据库中存在的用户名,错误的密码 ⑧数据库中不存在的用户名,存在的密码 ⑨输入的数据前存在空格 ⑩输入正确的用户名密码以后按[enter]是否能登陆 ------------------------------------------------------------------------------------------------------ 2) 添加 ①要添加的数据项均合理,检查数据库中是否添加了相应的数据 ②留出一个必填数据为空

③按照边界值等价类设计测试用例的原则设计其他输入项的测试用例 ④不符合要求的地方要有错误提示 ⑤是否支持table键 ⑥按enter是否能保存 ⑦若提示不能保存,也要察看数据库里是否多了一条数据 ------------------------------------------------------------------------------------------------------ 3) 删除 ①删除一个数据库中存在的数据,然后查看数据库中是否删除 ②删除一个数据库中并不存在的数据,看是否有错误提示,并且数据库中没有数据被删除 ③输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除。 ④输入的正确数据前加空格,看是否能正确删除数据 ⑤什么也不输入 ⑥是否支持table键 ⑦是否支持enter键 ------------------------------------------------------------------------------------------------------ 4)查询 精确查询:

软件测试用例设计--场景分析方法

·软件测试用例设计--场景分析方法 方法简介 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。 基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。 二.实战演习 1. 例子描述 下图所示是ATM例子的流程示意图。

表3-8 场景设计 注:为方便起见,备选流3和6(场景3和7)内的循环以及循环组合未纳入上表。 3.用例设计 对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各 列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例

ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。 表3-9 测试用例表 4.数据设计 一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。 表3-10 测试用例表

白盒与黑盒测试的测试用例设计

第5章白盒与黑盒测试的测试用例设计 5.1 覆盖率的概念 ●覆盖率是用来度量测试完整性的一个手段 ●逻辑覆盖和功能覆盖 ●覆盖率=(至少被执行一次的item数)/item总数 5.2 白盒测试的测试用例设计 5.2.1逻辑覆盖 逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,属白盒测试。为了衡量测试的覆盖程度,需要建立一些作为测试彻底度的定量衡量标准。目前常用的覆盖标准是:语句覆盖;判定覆盖;条件覆盖;判定/条件覆盖;条件组合覆盖;路径覆盖 一、语句覆盖 语句覆盖就是设计若干个测试用例,运行所测的程序,使得每一可执行语句至少执行一次。 二、判定覆盖 判定覆盖就是设计若干个测试用例,使程序中的每个判断至少出现一次“真值”和一次“假值”,即程序中的每个分支都至少执行一次。 三、条件覆盖 条件覆盖是指利用若干个测试用例,使被测试的程序中,对应每个判断中每个条件的所有可能情况均至少执行一次。 四、判定/条件覆盖 判定/条件覆盖就是设计足够多的测试用例,使得程序中每个判断条件的所有可能的结果至少取到一次,又使每次判断的每个分支至少通过一次。 五、条件组合覆盖 解决上述问题的新标准是条件组合覆盖。条件组合覆盖就是设计足够多的测试用例,使得每个判断的所有可能的条件取值组合至少执行一次。 六、逻辑覆盖举例 [例1]试用逻辑覆盖测试法为采用冒泡排序(bubble sorting)法进行数据排序的C程序设计测试用例。 本例是一个对k个整数进行升序排序的C程序,采用的算法是冒泡排序。基本步骤是:(1)从数组中取出第2个元素; (2)如果新取出的元素大于等于其前邻元素,则转向第(4)步; (3)如果新取出的元素小于其前邻元素,则与其前邻元素交换位置; (4)将新元素与新的前邻元素比较,若仍小于新的前邻元素,则重复第(3)步; (5)取下一个元素。如果数组中元素已取完则结束排序,否则转向第(2)步。 下面将给出本例的C程序。图2则是排序部分的流程图。 main() { int a[11],i,j,k,temp; scanf(“%d”,k); printf(“input numbers:\n”); for(i=1;i<=k;i++) scanf(“%d”,&a[i]); printf(“\n”); for(i=2;i<=k;i++) { if(a[i]>=a[i-1]) continue; for(j=i;j<=2;j--)

软件测试用例设计规范

软件测试用例设计规范Software Test Case Design Specification

【目录】 1目的 (3) 2范围 (3) 3名词定义 (3) 4工件 .................................................................................................................................... 错误!未定义书签。 4.1 输入 (3) 4.2 输出 (3) 5规范内容 (4) 5.1 设计原则 (4) 5.1.1可执行性 (4) 5.1.2可维护性 (4) 5.1.3可代表性 (4) 5.1.4可判定性 (4) 5.2 必要元素 (5) 5.2.1用例包和用例对象名命 (5) 5.2.2测试目的 (5) 5.2.3测试优先级 (5) 5.2.4测试环境 (5) 5.2.5前提条件 (5) 5.2.6后置关联 (5) 5.2.7用例状态 (5) 5.3 综合策略 (6) 5.3.1必要的边界值分析 (6) 5.3.2必要的等价类划分 (6) 5.3.3必要的因果图方法 (6) 5.3.4必要的性能测试方法 (6) 5.3.5面向对象设计方法 (7) 5.4 设计活动 (7) 5.4.1分析和建立测试用例包 .................................................................................... 错误!未定义书签。 5.4.2分解并建立测试用例对象 ................................................................................ 错误!未定义书签。 5.4.3建立测试用例对象间关系 ................................................................................ 错误!未定义书签。 5.4.4设计测试用例 .................................................................................................... 错误!未定义书签。 5.4.5测试实施 ............................................................................................................ 错误!未定义书签。 5.5 检查点 ........................................................................................................................ 错误!未定义书签。

实验1 利用黑盒测试技术设计测试用例

14级本科《软件测试技术》实验指导书 实验1 利用黑盒测试技术设计测试用例 【实验目的】 1、熟悉并掌握黑盒测试的方法:等价类划分法、边界值分析法、错误推测法、场景法。 2、了解待测的功能,灵活应用黑盒测试方法中的等价类划分法、边界值分析法、错误推测法以及场景法,设计测试用例,掌握正面测试和负面测试。 【实验内容】 【1】应用等价类划分法进行测试。 用户注册功能,要求用户密码必须满足两个条件: ?长度为6到8位。 ?必须是字母和数字的组合。 (1)请分析等价类,填写表1-1。 表1-1 等价类表 (2)根据表1-1的等价类设计测试数据,填写表1-2。 表1-2 根据等价类划分法设计的测试数据 【2】应用等价类划分法和边界值分析法进行测试。 在教务系统中进行课程成绩录入,要求0≤成绩≤100,且成绩为整数。 (1)请分析等价类,填写表1-3。 表1-3 等价类表

(2)根据表1-3的等价类设计测试数据,填写表1-4。 表1-4 根据等价类划分法设计的测试数据 (3)根据边界值分析法设计测试数据,填写表1-5。 表1-5 根据边界值分析法设计的测试数据 阅读附录A.9的功能描述,了解借书功能。设计借书功能的测试用例。(1)首先按照场景法来分析借书功能的基本流和备选流,见表2-12。 表2-12 借书功能的基本流和备选流 (2)设计借书功能的场景,见表2-13。 表2-13 借书功能的场景设计

I(Invalid,无效的)表示无效数据,“n/a”表示这个条件不适用于测试用例。 表2-14 测试用例表 【4】设计修改产品功能的测试用例。 阅读附录A.3、A.4的功能描述,了解添加产品、修改产品功能,分析添加产品功能的测试用例的设计思路,如表2-4所示,参考添加产品功能的测试用例(如表2-5所示),设计修改产品功能的测试用例,填写表2-6。 表2-4 添加产品功能的测试用例的设计思路

报表测试用例设计方法总结

报表测试用例设计方法总结 报表的测试主要分为以下几个方面:界面,安全性,准确性,展示速度(性能) 数据统计方面 1、报表统计数据的正确性; 2、报表统计数据的完整性; 3、报表统计数据的合法性;比如,统计金额字段需求要求有“$”等; 报表格式 1、表头字段表示的正确性; 2、表头字段表示的完整性; 3、表头字段表示的字体,字号,美观程度; 4、各统计字段的显示是否满足需求;比如:数据过长时要求折行还是缩小; 5、页眉和页角的表示; 报表的预览和印刷 1、预览中的显示完整性; 2、多页情况下,第2页的表头显示; 3、能否实现需求要求的特定印刷情况;(比如,印刷使用指定的模板) 4、预览后印刷; 5、不预览,直接印刷 6、需求规定各类打印机的测试; 数据准确性测试,带有报表测试的系统分为两类,一类是业务系统中,带有统计分析功能模块,该模块中包含分析报表,这个系统的主体是业务系统,报表是为**业务的而提供帮助的。 比如说,应年检统计报表,某月应交罚款车辆统计报表,这样的报表数据准确与否,可通过增加、删减、修改相关业务或相关业务的参数,查看统计报表数据变化,检查数据准确性。

另一类是系统只有统计功能,就是我说的数据仓库展现这类,它与业务系统分离,并且经过多层处理,比如数据仓库的数据,经过抽取,清洗,展现前会经过数据挖掘,数据再处理,有些字段在原始数据表中根本就没有。这样的数据准确性测试比较复杂,当然检查出数据错误,修改定位也是很不容易的。 从整个项目节约成本看,逐层测试效果是最好的。完全修改率也是最高的。 首先建立测试数据模型,模拟所有应用表,建立简单易跟踪的数据用例,底层的数据表测试,方法很原始,嘿嘿,通过SQL语句和手工计算,对数据进行比对。对系统中的报表数据准确性测试方法较为灵活, ①系统中报表重叠的进行比对 ②对子报表汇总与父报表比对,就是对月报表汇总与年报表比对,日报表汇总与月报表比对,这只是一个方面,可以从维度关系考虑,地域,行政级别、时间,个人等方面下手,进行汇总比对 ③这个方法如果延伸点呢,可以将报表间的业务逻辑关系作为比对依据。呵呵,这要看测试人员的需求了解深度个人能力了。插几句不想干的话,做测试工作总让我保持快乐状态,前两天我的一个同事说,公司里一直没有人喜欢做测试工作,这个工作太枯燥。嘿嘿,我当时就说我做了这么多年的测试工作从来没有感觉到枯燥。重复性工作不代表枯燥,编程其实不也是重复嘛,人每天谁不重复昨天的事啊,吃饭,吃这个动作重复一生,有谁觉得麻烦枯燥啦? ④使用SQL和手工计算进行比对。以上是差错方式,接下来讲一下查什么错?哪些地方容易出错 ● 原始表使用错误:因为表比较多,又加上没有统一的数据关系对应表,很容易表使用错误,当然这应该是单元测试检查出来的错误。 ● 数据处理逻辑错误:这一点容易因为测试人员和开发人员对需求理解有偏差造成争执,所以在需求评审时,对数据处理规则用表达式或伪代码表示清楚。还有就是程序员失误,逻辑编写有偏差,边界值、特殊情况处理不当。 ● 数据权限:不同用户对数据有着不同的查看权限。这关系到数据的安全性。 ● 数据误差:数据的保留位数,数据是否是处理计算是否是最后一次计算使用了位数保留和四舍五入。 ● 由于字典表,数据错误,而造成的数据错误,如,根据性别统计,购买量,表中的男女颠倒,或者没有考虑性别缺失项,用了if else,这样就是把表中缺失该项内容的算成了

如何设计和执行测试用例

如何设计和执行测试用例测试需求收集完毕后,开始测试设计。 测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题: 测试用例的基本格式: 软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。 用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。 重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高” ;反之亦然, 测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。 操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用

例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。 预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。 软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍。 一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。“拿来主义”可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。 加强测试用例的评审: 测试用例设计完毕后,最好能够增加评审过程。 同行评审是 CMM3 级的一个 KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用例。如果认真操作这个环节,测试用例中的很多问题都会暴露出来,比如用例设计错

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

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

实验黑盒测试用例设计

^ 实验1 黑盒测试用例设计 1、实验目的 1、掌握黑盒测试用例的设计方法。 2、综合运用所学的黑盒测试方法设计测试用例。 2、实验准备 1、黑盒测试用例的设计方法。 2、测试用例模板。 3、实验内容 ( 基本训练 实验一:假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图1显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。 图1 实验二:为自动售货机设计黑盒测试用例 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 扩展训练 ~ 题目1:利用因果图法编写测试用例。 某奖金计算软件实现功能如下: 1该软件可以计算某公司的年终奖,该公司员工分为普通员工和管理人员。 2员工表现分为普通、优秀和特殊贡献(普通和优秀员工都可以有特殊贡献,普通员工表现普通和管理人员表现普通拿的工资是不同的)。 3 根据员工的分类和表现,将奖金分为1类奖金,2类奖金——。 具体分析: 输入条件:员工类别:普通员工A1、管理人员A2 员工表现:普通B1、优秀B2、特殊贡献B3 @ 输出条件:奖金类别:1类奖金C1、2类奖金C2—— 其中:A1和A2是互斥的,B1和B2是互斥的,B1和B3,B2和B3可以同时满足。 普通员工:A1+B1—>C1 A1+B2 —〉C2 A1+B1+B3—〉C3 A1+B2+B3—〉C4 管理人员:A2+B1—〉C5 A2+B2—〉C6 ( A2+B1+B3—〉C7 A2+B2+B3—〉C8 4、实验步骤 基本训练 实验一步骤: 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即: (1)判断能否组成三角形; (2)识别等边三角形; -

测试规程与用例设计

测试规程/用例设计 测试规程(test procedure)是一个提供详细的测试用例执行指令的文档。测试规程应该更注重测试的流程、方法等比较泛的内容,以方便我们对测试用列的编写有一个整体的概念和把握。不同的公司规范、要求和详尽程度可能不同。 测试用例(test case)对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。 测试规程与测试用例的区别:理想化的测试用例确实需要很多测试数据集合,但是现实中对某一软件进行测试时,由于涉及的面太广,无法一一列举出所有数据,所以要根据公司的规范来做相应的调整。所以,测试规程的文档编辑量较轻,但是只适合熟练的测试人员执行,而测试用例的执行者可以使任何人。 测试用例的设计: 测试用例可以分为基本事件、备选事件和异常事件。 设计基本事件的用例:参照用例规约(或设计规格说明书),根据关联的功能、操作按路径分析法设计测试用例。而对孤立的功能则直接按功能设计测试用例。基本事件的测试用例应包含所有需要实现的需求功能,覆盖率达100%。 设计备选事件和异常事件的用例:采用的基本方法仍然是等价类划分、边界值、因果图等,根据软件的不同性质和测试的不同目标灵活运用,至于最终设计的测试用例是否能暴露更多的隐藏缺陷,全凭用例设计人员的丰富经验和精心设计了。例如,测试一个手机终端的电话本模块。测试人员需要考虑,将相同的号码A存储到不同联系人名B和C 中,号码A呼入和呼出时,显示的联系人名应该是B还是C呢。类似这样的备选事件,往往在需求阶段描述的并不详尽,需要测试人员及早提出并与项目组达成一致。 测试用例在软件测试中的作用: 指导测试的实施 规划测试数据的准备 编写测试脚本的"设计规格说明书" 评估测试结果的度量基准 分析缺陷的标准 此阶段的难点和重点: 测试用例设计的几大基本点 使用合理的语言 测试人员该做什么,系统输出什么应该写得很清楚明白,也就是说首先要分清楚测试用例的输入和预期输出 一种最好的避免含义混淆的方法是在操作步骤中采用动词+名词的结构,动词总是测试 人员要做得事情,名词总是测试人员操作的对象、事物 将同一个事物命名为同一个名称,不管这个事物是否通过不同的方式出现测试用例的易测性 简洁性:简洁性的衡量方法就是执行测试花费时间的长短以及在测试过程中是否能保持

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