当前位置:文档之家› 软件测试用例分析-习题完美整合版.doc

软件测试用例分析-习题完美整合版.doc

软件测试用例分析-习题完美整合版.doc
软件测试用例分析-习题完美整合版.doc

场景分析法

一、以答题业务为例:

1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;

2.取题规则为随机不重复 ;

3.答错题目后答新题 .

开始答题

是否存在

有效题目

提供题目及备选答案

答案是否

正确

给予无有效

题目提示

增加题目积分

积分大于或等于设定值

结束奖励一个礼包

1.确定基本流与备选流

基本流 : 步骤 1. 开始答题

步骤 2.判断是否存在有效题目,存在有效题目,处理: 提供题目及备选答案

步骤 3.用户答题并答对题目,增加用户相应积分。

步骤 4.判断积分是否达到设定值,达到,获取一个礼包,流程结束。

备选流 1:不存在有效题目

基本流步骤 2 时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。备选流 2:答错题目

基本流步骤 3 时,答错题目,处理:提示用户答错题目,回到基本流步骤 2 备选流 3:答题后积分达不到设定值

基本流步骤 4 时,答对题后积分仍达不到设定值,处理:回到基本流步骤 2 2.确定以下用例场景:

3.通过从确定执行用例场景所需的数据元素入手构建矩阵

4.设计数据,把数据填入上面的用例表中

二、下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。

3.用例设计

4.测试用例表

三、用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

第一步:确定基本流和备选流

基本流:登录在线网站→选择物品→登录账号→付款→生成订单;

备选流 1:账户不存在;

备选流 2:账户密码错误;

备选流 3:用户账户余额不足;

备选流 4:用户账户没钱。

第二步:根据基本流和备选流确定场景

场景 1 成功购物:备选流;

场景 2 账号不存在:基本流,备选流1;

场景 3 账号密码错误:基本流,备选流2;

场景 4 账户余额不足:基本流,备选流3;

场景 5 账户没钱:基本流,备选流4。

第三步:对每一个场景生成相应的测试用例

测试用例

场景/条件账号密码用户账

预期结果

ID 号余额

1 场景 1:成功购物V V V 成功购物

2 场景 2:账号不存在 1 n/a n/a 提示账号不存在

3 场景 3 :账号密码错误V 1 n/a 提示账号密码错误,返

(账号正确,密码错误)回基本流步骤 3

4 场景 4:用户账号余额不V V 1 提示用户账号余额不

足足,请充值

5 场景 5:用户账号没钱V V 1 提示用户账号没有钱,

请充值

第四步:设计测试数据

测试用

场景/条件账号密码用户账

预期结果

例 ID 号余额

1 场景 1:成功购物Test 123456 800 成功购物,账号余额减少

100 元

2 场景 2:账号不存在aa n/a n/a 提示账号不存在

3 场景 3:账号密码错误Test 111111 n/a 提示账号密码错误,返回

(账号正确,密码错误)基本流步骤 3

4 场景 4:用户账号余额不Test 123456 50 提示用户账号余额不足,

足请充值

5 场景 5:用户账号没钱Test 12345

6 0 提示用户账号没有钱,请

充值

等价类划分法

一、计算保费费率的程序

(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。

年龄:一位、两位或三位整数,值的有效范围为0~120

性别:一位英文字符,只能取值‘M’或‘ F’

婚姻:字符,只能取值‘已婚’或‘未婚’

抚养人数:空白或一位非零整数(1~9)

(2)根据( 1)中的等价类表,设计能覆盖所有等价类的测试用例。

二、某城市电话号码由三部分组成,分别是:

地区码——空白或三位数字;

前缀——非‘ 0’或‘1’开头的三位数字;

后缀—— 4 位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。请使用等价类划分法设计测试用例,给出等价类列表,设计测试用例。

三、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

一个程序读入 3 个整数,把这三个数值看作一个三角形的 3 条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。

四、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在月~2049 年 12 月,并规定日期由 6 位数字字符组成,前 4 位表示年,后等价类划分法设计测试用例,来测试程序的 " 日期检查功能 " 。

1990 年 1 2 位表示月。现用

1)划分等价类并编号 , 下表等价类划分的结果

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

日期的类型及长度①6 位数字字符②有非数字字符

③少于 6 位数字字符

④多于 6 位数字字符

年份范围⑤在 1990~2049 之间⑥小于 1990

⑦大于 2049

月份范围⑧在 01~12 之间⑨等于 00

⑩大于 12

2) 设计测试用例,以便覆盖所有的有效等价类在表中列出了 3 个有效等价类,编号分别为①、

⑤、⑧,设计的测试用例如下:

测试数据期望结果200211输入有效覆盖的有效等价类

①、⑤、⑧

3)为每一个无效等价类设计一个测试用例,设计结果如下:

测试数据期望结果覆盖的无效等价类

95June 无效输入②

20036 无效输入③

2001006 无效输入④

198912 无效输入⑥

200401 无效输入⑦

200100 无效输入⑨

200113 无效输入⑩

五、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}

边界值分析法

一、根据下面给出的规格说明,利用边界值分析的方法,给出足够的测试用例。

“一个程序读入 3 个整数,把这三个数值看作一个三角形的 3 条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。”

在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将

三角形每边边长的取范围值设值为[1, 100]

我们可以设三角形的 3 条边分别为A,B,C。如果它们能够构成三角形的 3 条边,必须满足:A>0, B>0,C>0,且 A+B>C, B+C>A, A+C>B。

如果是等腰的,还要判断A=B,或 B=C,或 A=C。

如果是等边的,则需判断是否A=B,且 B=C,且 A=C。

二、现有一个学生标准化考试批阅试卷文件由一些有 80 个字符的记录组成

, 产生成绩报告的程序。其规格说明如

下 , 如下图所示,所有记录分为 3 组:

: 程序的输入

三、找零钱最佳组合

假设商店货品价格(R) 皆不大于100元(且为整数),若顾客付款

在 100 元内(P) ,求找给顾客之最少货币个(张)数(货币面值50元(N50) ,10 元(N10) ,5 元(N5) ,1 元(N1) 四种)

1、分析输入的情形:

R>100 0100 R<=P<=100 P

2、分析输出情形:

N50=1 4>=N10>=1 N5=1 4>=N1>=1

3. 分析每种情况,以 RR1,RR2, RR3 ,RR4 表示计算要找 50, 10, 5 ,1 元货币数时之剩余金额。

R>100 R<=0 P>100 P<=R

RR1 >= 50

RR2 >= 10

RR3 >= 5

RR4 >= 1

4.由上述之输入/输出条件组合出可能的情形。

R>100

R<=0

0100

0

0

0

0

0

0

0

0

0

5.为满足以上之各种情形,测试用例设计如下:

1.货品价格 = 101

2.货品价格 = 0

3.货品价格 = -1

4. 货品价格 = 100, 付款金额 = 101

5. 货品价格 = 100, 付款金额 = 99

6. 货品价格 = 50, 付款金额 = 100

7. 货品价格 = 51, 付款金额 = 100

8. 货品价格 = 90, 付款金额 = 100

9. 货品价格 = 91, 付款金额 = 100

10. 货品价格 = 95, 付款金额 = 100

11. 货品价格 = 96, 付款金额 = 100

12. 货品价格 = 99, 付款金额 = 100

13. 货品价格 = 100, 付款金额 = 100

四、 NextDate 函数的边界值分析测试用例

在 NextDate 函数中,隐含规定了变量mouth 和变量 day 的取值范围为 1≤mouth≤12 和1≤day≤31,并设定变量year 的取值范围为1912≤year ≤2050 。

判定表法

一、判定表法是一种分析多种输入条件的组合情况的方法,多种输入条件可以通过判定表来完整地进行排列组合,从而不出现遗漏。

比如以下一个判断表达式:

If ( (a>0) || (b>0) || (c>0&&c<100 ) )

{

}

这段程序中的判定条件可以用判定表如何表示

表中的 c<=00=100 是 3 个排他性条件,即其中同时只有一个条件会满足,也就是在同一列中只能有一个为 Y,其他两个均为 N。

根据判定表,我们可以输出测试用例如下:

二、问题要求:” 对功率大于50 马力的机器、维修记录不全或已运行10 年以上的机器,应给予优先的维修处理”。这里假定,“维修记录不全”和“优先维修处理”均已在别

处有更严格的定义。请建立判定表。

①确定规则的个数:这里有 3 个条件,每个条件有两个取值,故应有2*2*2=8 种规则。

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

③填入条件项。可从最后 1 行条件项开始,逐行向上填满。如第三行是:Y N Y N Y N Y N,第二行是:YYNNYYNN等等。

④填入动作桩和动作顶。这样便得到形如图的初始判定表。

化简,合并相似规则后得到图。

三、用决策表测试法测试以下程序:该程序有三个输入变量month、day、year ( month、day 和 year 均为整数值,并且满足: 1≤ month≤ 12 和 1≤ day ≤ 31),分别作为输入日期的月

份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。

例如,输入为 2004 年 11 月 29 日,则该程序的输出为2000年12月1日。

1) 分析各种输入情况,列出为输入变量month、 day、 year 划分的有效等价类。

2) 分析程序规格说明,结合以上等价类划分的情况给出问题规定的可能采取的操作(即列出所有的动作桩)。

3)根据( 1)和( 2),画出简化后的决策

表。案例分析如下:

month 变量的有效等价类:

M1: {month=4,6,9,11}

M2: {month=1,3,5,7,8,10}

M3: {month=12}

M4: {month=2}

2)day 变量的有效等价类:

D1:{1 ≤ day≤ 26} D2: {day=27}D3: {day=28}

D4: {day=29} D5: {day=30}D6: {day=31}

3)year变量的有效等价类:

Y1: {year是闰年}Y2: {year 不是闰年}

4)考虑各种有效的输入情况,程序中可能采取的操作有以下六种:

a1: day+2 a2: day=2 a3: day=1

a4: month+1 a5: month=1 a6: year+1

4.判定表在功能测试中的应用

1) 一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一

个不错的工具。如果一个软件的规格说明指出:

I. 当条件 1 和条件 2 满足,并且条件 3 和条件 4 不满足,或者当条件 1、 3 和条件 4 满足时,要执行操作 1。

II.在任一个条件都不满足时,要执行操作2。

III.在条件 1 不满足,而条件 4 被满足时,要执行操作3。根据规格说明得到如下判定表

这里,判定表只给出了16 种规则中的8 种。事实上,除这8 条以外的一些规则是指当不能满足指定的条件,执行 3 种操作时,要执行 1 个默许的操作。在没必要时,判定表通常可略去这些规则。但如果用判定表来设计测试用例,就必须列出这些默许规则(如下表)。

规则 5 规则 6 规则 7 规则 8

条件 1 - N Y Y

条件 2 - Y Y N

条件 3 Y N N N

条件 4 N N Y -

默许操x x x x

因果图法

A. 输入条件的约束有以下 4 类:

① E 约束(异): a 和 b 中至多有一个可能为1,即 a 和 b 不能同时为1。

0。

② I约束(或):a、b和c中至少有一个必须是1,即 a 、 b 和 c 不能同时为

③ O 约束(唯一); a 和 b 必须有一个,且仅有 1 个为 1。

④R约束(要求): a 是 1 时, b 必须是 1,即不可能 a 是 1 时 b 是 0。 B.

输出条件约束类型

输出条件的约束只有M约束(强制):若结果 a 是 1,则结果 b 强制为 0。

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

软件测试用例设计方法---决策表

决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。 在一些数据处理问题当中,某些操作的实施以来与多个逻辑条件的组合,既针对不同逻辑条件的组合之,分别执行不同的操作;决策表就是分析和表达多逻辑条件下执行不同操作情况的工具。 1 决策表通常由以下4部分组成: 条件桩(condition stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。 动作桩(action stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。作项(action entry):列出在条件项的各种取值情况下应该采取的动作。 2 决策表的生成: (1)确定规则的个数 ?有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩 (3)填入条件项 (4)填入动作项,得到初始决策表 (5)简化决策表,合并相似规则

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

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

经典软件测试练习题

练习题 选择题 软件调试的目的是?(A) A. 找出错误所在并改正之 B. 排除存在错误的可能性 C. 对错误性质进行分类 D. 统计出错的次数下列叙述中,哪一项是正确的 ...?(D) A.用黑盒法测试时,测试用例是根据程序内部逻辑设计的; B.测试是为了验证该软件已正确地实现了用户的要求; C.对面向对象程序来说,单元测试的最小单元是每条程序语句,即以分号结尾的程序; D.发现错误多的程序模块,残留在模块中的错误也多。 创建一个基于JUNIT的单元测试类,该类必须扩展? (C) A.TestSuite B. Assert C. TestCase D. JFCTestCase 以下对单元测试,不正确 ...的说法是? (C) A.单元测试的主要目的是针对编码过程中可能存在的各种错误; B.单元测试一般是由程序开发人员完成的C.单元测试是一种不需要关注程序结构的测试;D.单元测试属于白盒测试的一种。 测试驱动开发的含义是? (B) A.先写程序后写测试的开发方法 B. 先写测试后写程序,即“测试先行” C. 用单元测试的方法写测试 D. 不需要测试的开发 用JUNIT断言一个方法输出的是指定字符串,应当用的断言方法是? (C) A.assertNotNull( ) B. assertSame() C. assertEquals() D. assertNotEquals() TestCase是junit.framework中的一个? (C) A.方法 B. 接口 C. 类 D. 抽象类 TestSuite是JUNIT中用来? (A) A.集成多个测试用例 B. 做系统测试用的 C. 做自动化测试用的 D. 方法断言 对于测试程序的一些命名规则,以下说法正确 ..的一项是? (C) A.测试类的命名只要符合Java类的命名规则就可以了; B.测试类的命名一般要求以Test打头,后接类名称,如:TestPerson; C.测试类的命名一般要求以Test结尾,前接类名称,如:PersonTest; D.测试类中的方法都是以testXxx()形式出现。 通常,初始化一个被测试对象,会在测试类的? 中进行。(B) A.tearDown() B. setUp() C. 构造方法 D. 任意位置 以下不属于单元测试优点的一项是? (D) A.它是一种验证行为 B. 它是一种设计行为C.它是一种编写文档的行为 D. 它是一种评估行为 从技术角度分,不是一类的测试是? (C) A.黑盒测试 B. 白盒测试 C. 单元测试 D. 灰盒测试 数据驱动测试也称? (C) A.单元测试 B. 白盒测试 C. 黑盒测试 D. 确认测试 逻辑驱动测试也称? (C) A.单元测试 B. 灰盒测试 C. 白盒测试 D. 用户测试

软件测试试题实例

1.什么是软件测试 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差异 2.软件测试的目的是什么 软件测试的目的在于发现错误;一个好的测试用例在于发现从前未发现的错误;一个成功的测试是发现了从前未发现的错误的测试。 3.软件测试的目标 软件测试以检验是否满足需求为目标。 4.什么是软件缺陷 满足下列五个规则之一才称为软件缺陷: 1)软件未达到产品说明书标明的功能。 2)软件出现了产品说明书指明不会出现的错误。 3)软件功能超出产品说明书指明的范围。 4)软件未达到产品说明书虽未指出但应该达到的目标。 5)软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。 5.什么黑盒测试 黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。 6.黑盒测试方法都包括哪些 等价类划分、边界值分析、决策分析法、因果图分析、错误推测法等。 7.什么是等价类划分 把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集(称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同. 可从每个子集中选取一组数据来测试程序 8.什么是边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充 9.什么情况下使用决策分析法 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题 10.你是如何利用决策分析法设计用例 (1)确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2)列出所有的条件桩和动作桩。

软件测试面精彩试题及问题详解

软件开发——软件测试 1、测试的关键问题是() A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例 2、下面不属于软件测试步骤的是 A.集成测试 B.回归测试 C.确认测试 D.单元测试 3、自底向上集成需要测试员编写驱动程序。请判断这句话的正确与否。 A.T B.F 4、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。 A.T B.F 5、软件测试类型按开发阶段划分是? A.需求测试、单元测试、集成测试、验证测试 B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是() A.全部选项 B.程序可能因为缺某些路径而存在问题 C.穷举路径的测试可能不好暴露数据敏感的错误 D.就算穷举路径测试也不能保证程序符合需求 7、下面哪些属于网游的测试内容? A.客户端性能 B.服务器端性能 C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法 D.界面 8、下述有关负载测试,容量测试和强度测试的描述正确的有? A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。 B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。 D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

功能测试用例的设计

功能测试用例的设计 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.在事件触发机制中场景法用得最多。在测试一个软件的时候,先确定基本流也就是测试流程中软件功能按照正确的事件流实现的一条正确流程,接着去确定备选流也就是那些出现故障或缺陷的过程,用备选流加以标注。然后可以采用矩阵或决策表来确定和管理测试用例。

软件测试案例

案例释疑 案例1-1:终点线前的遗憾 说明: 课堂上讲述该案例,目的是让学员明白软件在现代科学中的地位是非常重要的,丝毫软件缺陷都可能带来严重后果。教师不必全部讲述,需摘略其中重点内容。 内容: 作为长期火星探测战略的一个步骤,美国航宇局于1998年12月11日和1999年1月3日先后将两颗探测器送往火星。其中先行一步的火星气候轨道器(MCO)经过6.65亿公里的飞 行,终于在9月份飞到了火星,但在准备进入 绕火星运行的轨道时,却不慎失手,让关注它 的人们大失所望。令人吃惊的是,此次事故的 原因竟是一个非常低级的失误。 根据对进行入轨机动点火前采集到的跟踪数 据的分析,项目官员认为火星气候轨道器失踪 的原因是导航出了重大错误,致使探测器飞到 了比预定高度低很多的高度。实际上,在因飞 入火星背面而与地面“正常”地失去联络之前, 探测器就已经走上了一条将把它带到距火星 表面最近仅57公里的错误路线。这一高度大大低于技术人员提出的约85~100公里的最小安全距离,与预定的140~150公里高度更是相差甚远。高度太低,探测器有可能在火星的大气中因气动热而被“火葬”,甚至还有可能坠毁在火星表面上。 事故发生后,主管该项目的美国航宇局喷气推进实验室等部门迅速开始了调查工作。初步分析时认定,问题可能出在卫星软件上,还可能是地面系统的问题,人员操作失误的可能性也不能排除。但最后查出的结果却让人难以置信:造成飞行高度太低的原因竟然是公制和英制的转换问题。调查人员在9月30日公布的一份报告中称,探测器制造商洛马公司对探测器的一项关键性操作提供的是英制单位的数据,而美国航宇局喷推实验室的导航人员想当然地以为是公制,未加换算便直接将英制数据输入了采用公制数据的计算机系统内,从而造成了严重的导航错误。 问题出在一个导航软件表上。这个出错的推力器校定表用在确定探测器位置的地面导航软件中。它的作用是把遥测到的推力器点火工作次数转换成提供给探测器的冲量,以消除因推力器点火工作造成的弹道计算中的剩余误差。喷推实验室在编制表时对推力器每次工作的冲量使用的是牛·秒这一公制单位,但由洛马公司提供的数据使用的却是英制的磅·秒,而这样计算出的冲量值只是实际值的22%。三轴稳定的该探测器使用反动轮控制姿态,其推力器每隔大约13~15小时点火一次,以降低轮的转速。这些点火工作每次只会引起几毫米/秒的速度变化,但每周要进行11次以上。起初剩余误差很小时,弹道计算可以很快收敛,但到后来收敛性就比较差了。 出现这种低级错误使有关部门感到很难堪。美国航宇局负责空间科学项目的副局长韦勒称,这已不能简单地说成是错误,这是美国航宇局系统工程工作的失败。 案例1-2:“一·一五”大瘫痪 说明: 课堂上讲述该案例,用于让学员明白软件缺陷的危害及缺陷是不可避免的,任何设计上的漏

软件测试试卷

2014~2015 学年第一学期 一、单项选择题(本大题共15 小题,每小题2 分,共30 分,答案写在答题页上) 1. 软件测试是软件开发的重要环节,而进行软件测试的目的是()。 A.证明软件错误不存在 B.证明软件错误的存在 C.改正程序所有的错误 D.发现程序所有的错误 2. CMM 模型中共有五个级别,除了()外每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可 以向上更为成熟的高一级别迈进。 A.初始级 B.可重复级 C.已定义级 D.管理级优化级 3. 导致软件缺陷的最大原因是()。 A.软件需求说明书 B. 设计方案 C.编写程序 D.软件规格说明书 4.软件测试文档不包括以下哪项() A.测试案例 B.软件缺陷报告 C.状态变化示意图 D.归纳、统计和总结 5.有一组测试用例,它使被测程序中的每一个分支 至少执行一次,它满足的覆盖标准是:( ) A.语句覆盖 B. 判定覆盖 C. 条件覆盖 D.路径覆盖 6.在白盒法中,无论 采用那种覆盖标准都不可能达到100%覆盖率。它们的目标都是()。 A.用尽可能少的测试用例发现尽可能多的错误。 B.从 理论上证明100%的覆盖率是不可能达到的。 C.说明测 试的强度是可估量的。 D.说明测试的标准是可比较 的。 7.用户在真实的工作环境中使用软件,用于测试系统的用户友好性等,这种测试是()。 A.集成测试 B.系统测试C.Alpha 测试 D.Beta 测试 8.一个多用户的应用系统通产有用户管理功能, 允许增加新的用户。用户信息一般包括用户名。假设规定用户名必须是以字母开头的、不超过8 个字符的字母数字串, 那么下面那一组值均属于用户名的有效等价类?() A.L, linyifen, A1111111, glenford1 B.a111, L1, Lin-Yie, Lin-feng C.linyifen, A1111111, glendord, 123B123 D.linyifen, A1111111, glenford, G.Myers E.linyifen, A1111111, glenford, Myers 9.请阅读下面这段程序: int func2(int a, b, c) { int k=1; if ((a>0)||(b<0)||(a+c>0)) k=k+a; else k=k+b; if (c>0) k=k+c; return k; } 如果测试时采用这组输入值组合:(a, b, c)=(1, 1, -1)、(1, 1, 1)、(-1, 1, 1)、(0, 1, 1), 那么可以实现下面哪一种覆盖?() A.条件覆盖 B.分支覆盖 C.路径覆盖 D.条件组合覆盖 10.黑盒测试是从观点的测试,白盒测试是从观点的测试。() A.开发人员,管理人员 B.用户,管理人员 C.用户,开发人员 D.开发人员,用户 11.下列关于单元测试的说法中错误的是()。 A.桩模块由被测模块调用,在单元测试中接受测试数据,启动被测模块 B.单元 测试以白盒测试为主 C.桩模块用以模拟被测模块工作过程中所调用的模块 D.驱 动模块用以模拟被测模块的上级模块 12、软件测试的对象包括() A. 目标程序和相关文档 B. 源程序、目标程序、数据及相关文档 C. 目标程序、操作系统和平台软件 D. 源程序和目标程序 13、编码阶段产生的错误由()检查出来。 A. 单元测试 B. 集成测试 C.有效性测试 D.系统测试 14、等价类划分和边界值分析是最常用的两种黑盒方法。采用这两种方法设计测试案例,可以很大幅度的减少测试案例的 数量。那么,这两种方法有什么局限性?() A.在设计一组测试案 例是不能把这两种方法结合在一起同时使用 B.不同输入变量之间可能存在约 束关系,它们不能处理这类约束关系 C.不能用于大型信息系统的测试案例的 设计 D.不能用于单元测试和集成测试 15.在系统测试阶段, 测试人员发现并报告了某个功能的一个缺陷。后来开发人员修复了这个缺陷, 向测试方提交了修改后的新版本。在安装了这个新版本之后, 测试人员运行了一边这个功能的全部测试案例, 发现报告的缺陷确实已经修复了, 并且没有发现新的缺陷。那么, 测试人员所作的回归测试已经足够了吗?为什么?下面的几个答案中哪一个是最好的?() A.是的。因为报告的缺陷确实已经修复, 并且没有发现新的缺陷, 所以没有必要补充其他的测试 B.不够。应 该再运行一遍这个功能的全部测试案例 C.足够了。只需要运行发现此缺陷所用的测试案例 D.不够。应该运行

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

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

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

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

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

软件测试技术类面试题集锦(6)十个经典软件测试面试题

软件测试技术类面试题集锦(6)十个经典 软件测试面试题 问题:软件测试技术类面试题集锦(6)十个经典软件测试面试题回答: 1.什么是软件测试,软件测试的目的 参考答案: 什么是软件测试: ·软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。 ·软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。 ·软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。 ·软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。 软件测试的目的: 软件测试的目的是为了保证软件产品的最终质量,在软件开发的

过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。 2.软件测试的风险主要体现在哪里 参考答案: 我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。举个例子,程序员为了方便,在调试程序时会弹出一些提示信息框,而这些提示只在某种条件下会弹出,碰巧程序发布前这些代码中的一些没有被注释掉。在测试时测试工程师又没有对其进行测试。如果客户碰到它,这将是代价昂贵的缺陷,因为交付后才被客户发现。 因此,我们要尽可能的选择最合适的测试量,把风险降低到最小。 3.测试工具在测试工作中是什么地位 参考答案: 国内的很多测试工程师对测试工具相当迷恋,尤其是一些新手,甚至期望测试工具可以取代手工测试。测试工具在测试工作中起的是辅助作用,一般用来提高测试效率。自动化测试弥补了手工测试的不足,减轻一定的工作量。实际上测试工具是无法替代大多数手工测试的,而一些诸如性能测试等自动化测试也是手工所不能完成的。 对于自动测试技术,应当依据软件的不同情况来分别对待,一般自动技术会应用在引起大量重复性工作的地方、系统的压力点、以及

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

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

软件测试经典案例

软件测试-测试用例的经典例子 一、等价类划分 问:某程序规定:"输入三个整数 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)覆盖无效等价类的测试用例: 二、边界值分析法 NextDate函数的边界值分析测试用例

在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为 1912≤year≤2050 。

三、错误推测法 测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况: I.输入的线性表为空表; II.表中只含有一个元素; III.输入表中所有元素已排好序; IV.输入表已按逆序排好; V.输入表中部分或全部元素相同。 四、因果图法 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零

软件测试案例分析

软件测试案例分析 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

对软件测试理解 软件测试作为软件质量保证的一种重要方法,近些年来, 软件测试越来越受到产业界、教育界和学术界的重视。软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 1软件测试的方法 黑盒测试 在黑盒测试(或称功能测试)中,不考虑程序的内部结构和表现,其目的是确定程序的输入与输出是否与其规格一致,力图发现以下几类错误:是否有不正确或遗漏了的功能在接口上,输入能否正确地接受能否正确地输出结果 是否有数据结构错误或外部信息(例如数据文件)访问错误性能上是否能满足要求 是否有初始化或终止性错误 黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入作为测试用例才能保证模块的正确性。 白盒测试 在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。测试用例从程序的逻辑中产生。确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。这条原则是必要的,但不充分,因为部分错误并不能检测出来。

从上至下测试 从上至下测试从程序的顶点模块开始,然后逐步对较低级的模块进行测试。为了模仿被测试模块的低级模块,需要哑模块或桩子模块。从上至下测试的主要好处就是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。它的效果之一可以提高程序员的士气。从上至下测试的主要缺点是需要桩子模块,并且在桩子模块中的测试数据直到输入输出模块加入之前不能确定。某些模块的测试数据难以创建,因为桩子模块不能模拟数据流使得模块之间的数据流不能组织成有向无环图。 从下至上测试 从下至上测试策略从程序的最低级模块(不调用别的模块)开始。为了模拟高一级的模块需要驱动模块。当对所有的低一级模块测试完毕才对高一级模块进行测试。从下至上测试方法的优点之一是测试数据的建立不存在困难。尽管数据流不在有向无环图中,但驱动模块模拟所有的调用参数,如果关键模块位于调用模块的底部,则从上至下测试方法更优。从下至上测试的主要缺点是系统的早期版本直到最后模块测试完毕才产生,并且设计和测试一个系统不能重叠进行,因为不可在低级模块设计之前进行测试。 测试用例一般描述

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

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

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

软件测试面试题

面试题 1、您认为做好测试用例设计工作的关键是什么? 参考答案:测试用例应百分百覆盖需求。 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。 2、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 参考答案:1.等价类划分 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2.边界值分析法 边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据. 参考答案:3.错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例. 4.因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 4、什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? 参考答案: 在同一时间点,支持多个不同的操作。

软件测试工程师笔试题含答案

软件测试笔试题(含答案) 1.请写出一个你工作经历中的一个功能点测试用例,例如:用户页面登陆 2.请在以下两个项目当中,选择一个,考虑如何进行用例设计:a.杯子 b.有弹簧的圆珠笔杯子: 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可靠性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用软件开发网兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 强度测试: 杯子加包装(有填充物),在多高的情况摔下不破损 有弹簧的圆珠笔: 功能测试:圆珠笔按下是否能正常写字,写字太重会不回缩回去,继续 按会不会弹回去 性能测试:圆珠心弹出弹回的快慢 负载测试:一直按,弹簧能接受多少次的升缩 兼容性测试:换其他的笔芯能不能行

强度测试:用力过度会怎样 可恢复性测试:如果弹簧压久了,是否可恢复等等 GUI测试:笔的外观,拿笔的舒适性 安全性:考虑对笔芯的保护,是否对使用者造成危害等等 3.白箱测试和黑箱测试是什么?什么是回归测试? 白箱测试是在看懂程序代码和设计方案的前提下,进行软件的测试。这种测试注重于源代码 的覆盖率,同时需要测试者具备较高的技术水平。白箱测试的优点是可以对代码有详细的审 查,能找出隐藏在代码中的错误,从而确保高质量的代码;缺点是很多时候不能看完所有的 代码,不能找出欠缺的代码,同时白箱测试和用户如何使用软件无关。 黑箱测试的优点是测试者无需熟悉软件内部结构,并且根据蓝图在早期就可以制定测试方案,并不依赖于开发者的工作进展,而且黑箱测试简单易行,对测试者的技术要求不高;但 是,黑箱测试主要是功能上的测试,只能覆盖只有一小部分的输入,不能保证程序的所有部 分都被测试到。 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码 产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。 回归测试包括两部分:函数本身的测试、其他代码的测试。 在对被修改的函数重新测试。如果函数的设计功能没有变化,直接运行函数测试就可以了。如果修改了设计功能,则要根据增减的功能点,增加或删除测试用例。另外,还要完成白

软件测试用例分析-习题完美整合版汇总

场景分析法 一、以答题业务为例: 1.答对题目增加题目积分,积分达到设定值时奖励一个礼包; 2.取题规则为随机不重复; 3.答错题目后答新题. ?

1.确定基本流与备选流 基本流:步骤1.开始答题 步骤2.判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案 步骤3. 用户答题并答对题目,增加用户相应积分。 步骤4.判断积分是否达到设定值,达到,获取一个礼包,流程结束。 备选流1: 不存在有效题目 基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。备选流2:答错题目 基本流步骤3时,答错题目,处理:提示用户答错题目,回到基本流步骤2 备选流3:答题后积分达不到设定值 基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤2 2.确定以下用例场景: 3.通过从确定执行用例场景所需的数据元素入手构建矩阵

4.设计数据,把数据填入上面的用例表中 二、下图所示是ATM例子的流程示意图。 ?

2.场景设计:下表所示是生成的场景。 3.用例设计

4.测试用例表?

三、用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。 第一步:确定基本流和备选流 基本流:登录在线网站→选择物品→登录账号→付款→生成订单; 备选流1:账户不存在; 备选流2:账户密码错误; 备选流3:用户账户余额不足; 备选流4:用户账户没钱。 第二步:根据基本流和备选流确定场景 场景1成功购物:备选流; 场景2账号不存在:基本流,备选流1; 场景3账号密码错误:基本流,备选流2; 场景4账户余额不足:基本流,备选流3; 场景5账户没钱:基本流,备选流4。

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