最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

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

来源:动视网 责编:小OO 时间:2025-10-08 02:20:22
文档

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

场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复;3.答错题目后答新题.1.确定基本流与备选流基本流:步骤1.开始答题步骤2.判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案步骤3.用户答题并答对题目,增加用户相应积分。步骤4.判断积分是否达到设定值,达到,获取一个礼包,流程结束。备选流1:不存在有效题目基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。备选流2:答错题目基本流步骤3时,答错题目,处
推荐度:
导读场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复;3.答错题目后答新题.1.确定基本流与备选流基本流:步骤1.开始答题步骤2.判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案步骤3.用户答题并答对题目,增加用户相应积分。步骤4.判断积分是否达到设定值,达到,获取一个礼包,流程结束。备选流1:不存在有效题目基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。备选流2:答错题目基本流步骤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。

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

测试用例ID

场景/条件

账号密码用户账号余额预期结果
1场景1:成功购物

VVV成功购物
2场景2:账号不存在

1n/an/a提示账号不存在
3场景3:账号密码错误(账号正确,密码错误)

V1n/a提示账号密码错误,返回基本流步骤3

4场景4:用户账号余额不足

VV1提示用户账号余额不足,请充值
5场景5:用户账号没钱

VV1提示用户账号没有钱,请充值
第四步:设计测试数据

测试用例ID

场景/条件

账号密码用户账号余额预期结果
1场景1:成功购物

Test123456800成功购物,账号余额减少100元

2场景2:账号不存在

aan/an/a提示账号不存在
3场景3:账号密码错误(账号正确,密码错误)

Test111111n/a提示账号密码错误,返回基本流步骤3

4场景4:用户账号余额不足

Test12345650提示用户账号余额不足,请充值
5场景5:用户账号没钱

Test1234560提示用户账号没有钱,请充值
等价类划分法

1、计算保费费率的程序

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

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

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

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

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

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

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

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

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

     后    缀—— 4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。       

请使用等价类划分法设计测试用例,给出等价类列表,设计测试用例。

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

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

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

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

输入等价类有效等价类无效等价类
日期的类型及长度①6位数字字符

②有非数字字符

③少于6位数字字符

④多于6位数字字符

年份范围⑤在1990~2049之间

⑥小于1990

⑦大于2049

月份范围⑧在01~12之间

⑨等于00

⑩大于12

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

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

    200211      输入有效      ①、⑤、⑧

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

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

    95June     无效输入          ②

    20036      无效输入          ③

    2001006   无效输入          ④

    1912     无效输入          ⑥

    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。

2、现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如下图所示,所有记录分为3组:

三、找零钱最佳组合 

假 设 商 店 货 品 价 格 (R) 皆 不 大 于 100 元 ( 且 为 整 数 ) , 若 顾 客 付 款 在 100 元 内 (P) , 求 找 给 顾 客 之 最 少 货币 个(张) 数 ? ( 货 币 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 种 ) 

1、 分 析 输 入 的 情 形 :

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

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

0 < R <= 100, P > 100 

0 < R <= 100, P < R 

0 < R <= 100, R <= P <= 100, RR = 50 

0 < R <= 100, R <= P <= 100, RR = 49 

0 < R <= 100, R <= P <= 100, RR = 10 

0 < R <= 100, R <= P <= 100, RR = 9 

0 < R <= 100, R <= P <= 100, RR = 5 

0 < R <= 100, R <= P <= 100, RR = 4 

0 < R <= 100, R <= P <= 100, RR = 1 

0 < R <= 100, R <= P <= 100, RR = 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<=0?0=100?是3个排他性条件,即其中同时只有一个条件会满足,也就是在同一列中只能有一个为Y,其他两个均为N。

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

2、问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立判定表。

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

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

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

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

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

三、用决策表测试法测试以下程序:该程序有三个输入变量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种。事实上,除这以外的一些规则是指当不能满足指定的条件,执行3种操作时,要执行1个默许的操作。在没必要时,判定表通常可略去这些规则。但如果用判定表来设计测试用例,就必须列出这些默许规则(如下表)。

 规则5

规则6

规则7

规则8

条件1

-NYY
条件2

-YYN
条件3

YNNN
条件4

NNY-
默许操作xxxx
因果图法

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

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

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

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

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

B.输出条件约束类型

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

一、某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

解答:

1) 根据题意,原因和结果如下:

       原因:

          1——第一列字符是A;

          2——第一列字符是B;

          3——第二列字符是一数字。

       结果:

          21——修改文件;

          22 ——给出信息L;

          23——给出信息M。

2) 其对应的因果图如下:

11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

3)根据因果图建立判定表。

 

       表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 

二、有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1) 分析这一段说明,列出原因和结果

原因:1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 

结果: 

21.售货机〖零钱找完〗灯亮    

22.退还1元硬币

23.退还5角硬币              

24.送出橙汁饮料

25.送出啤酒饮料

2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:

11. 投入1元硬币且押下饮料按钮

                12. 押下〖橙汁〗或〖啤酒〗的按钮

                13. 应当找5角零钱并且售货机有零钱找

                14. 钱已付清

3)转换成判定表:

 

4) 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。

文档

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

场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复;3.答错题目后答新题.1.确定基本流与备选流基本流:步骤1.开始答题步骤2.判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案步骤3.用户答题并答对题目,增加用户相应积分。步骤4.判断积分是否达到设定值,达到,获取一个礼包,流程结束。备选流1:不存在有效题目基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。备选流2:答错题目基本流步骤3时,答错题目,处
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top