测试用例

1.测试用例是什么

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求

2.测试用例的作用

以前一直觉得写测试用例是一种特别费时且没有意义的工作,一直很排斥,后来经过同事的指点以及百人计划的分享,才发现测试用例非常重要,很有必要好好学写。主要的作用如下:

a.测试用例可以让测试新人快速了解整个项目的业务

b.执行测试,发现缺陷,让测试更加方便的执行

c.防止漏测,只需要根据用例一条一条执行即可

d.对执行者的要求不高,人员紧缺的情况下没有任何经验的人都可以参与进来测试

e.可以作为评估测试人员进度,工作量以及跟踪/管理测试工作人员的工作效率的主要因素,从而更加合理的做出测试安排或调整。

3.测试用例设计的基本准则

a.测试用例的代表性:能够代表并覆盖各种合理的和不合理,合法的和不合法的,边界和越界的,以及极限的输入数据,操作和环境设置等

b.测试结果的可判定性:即执行测试结果的正确性是可判定的,每一个测试用例都应该有相应的期望结果

c.测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的

4.黑盒测试用例设计方法

等价类划分法

在规定了输入条件必须遵守的规则的情况下(取值范围/值个数/值集合/布尔值)可确立一个有效的等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

如:姓名文本框允许输入10个vachar,则应分别测试输入10个英文字符(区分大小写),10个中文字符,10个全数字字符,10个混合字符等

边值分析法

对输入或输出的边界值进行测试,若边界附近的取值不会导致程序出错,那么其他的取值导致程序错误的可能性也很小

如:姓名文本框允许输入10个vachar,则应分别测试输入10个英文字符,0个英文字符,1个英文字符,11个英文字符

一般来说,边值分析法时等价类划分的补充

正交试验法

从大量的试验点中挑选出适量的,有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法

如:某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:根据“性别”=“男,女”进行查询;根据“班级”=“1班,2班”查询;根据“成绩”=“及格,不及格”查询

步骤:

a.提取功能说明,构造因子-状态表

共3个因子,每个因子有两个状态,因此,全部测试用例数为2*2*2=8个

b.计算各因子和状态的权值,删去一部分权值较小(重要性较小的因子或状态),使最后生成的测试用例集缩减到允许范围内

套用三因素两水平的刚好有L4(2^3)的正交表,得到的测试用例个数是n=3*(2-1)+1=4   

c.利用正交表的每行数据构造测试用例

流程分析法

主要针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计

:用户进入一个在线购物网站进行购物:

1)该网站必须使用注册帐号购买商品;

2)选择物品后,进行在线购买,若帐号已登录,则直接生成订单;

3)若帐号未登录,则必须先登录帐号,再生成订单;

4)帐号登录成功后,生成订单,可进行付钱交易,付款成功后,完成整个购物过程;

5)登录帐号时,若帐号错误,则提示“帐户不存在”;若密码错误,则提示“密码错误”;帐号或密码错误均需重新输入帐号和密码;

6)付款时,若帐号余额不足,则提示“帐户余额不足”。

步骤

a.画出业务流程图


b.定义状态节点和条件分支

c.确定测试路径

        1)正常流程,购买成功(基本流程):对应一次性购买并付款成功;

        2)异常流程,购买失败(分支流程):对应取款失败,包括退卡、吞卡;

        3)异常流程,购买成功(循环流程):对应中间出现意外,比如密码输入错误,账号输入错误,付款时余额不足,但是最终成功付款的情况。

d.选取测试数据,构造测试用例

根据上一步确定的测试路径,编写详细的测试用例

判定表法

判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确

因果图法

把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中,原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出

步骤:

a.把大的系统规格划分解成可以测试的规格片段

b.分析分解后待测的系统规格,找出哪些是原因,哪些是结果

c.画出因果图

d.把因果图转换成判定表

e.简化判定表

f.用判定表中的每一项生成测试用例

状态迁移图法

许多需求用状态机的方式来描述,状态机的测试主要关注在测试状态转移的正确性上面。对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,可能不可能产生非法的状态转移等。用这种方法可以设计逆向的测试用例,如状态和事件的非法组合

如下图

输出域覆盖法

分析各输出的等价类, 通过选择那些会导致各个输出的等价类被达到的输入点来执行测试,期望达到输出域等价类覆盖

异常分析法

系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。主要针对系统的容错能力、故障恢复能力进行测试

错误猜测法

错误猜测法就是根据经验猜想可能有什么问题并依此设计测试用例

在使用时要针对开发项目的特点对方法加以适当的选择要采用的用例设计方法

5.白盒测试用例设计方法

语句覆盖法

分支覆盖法

条件覆盖法

分支条件覆盖法

路径覆盖法

基本路径覆盖法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • 等价类划分方法: 一.方法简介 1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个...
    繼續hug阅读 5,554评论 1 16
  • 一、为什么要使用测试用例 1、理清思路,避免遗漏 如果我们测试的项目大而复杂,我们可以把项目功能细分,根据每一个功...
    小喜_ww阅读 2,336评论 1 24
  • 转载于网络新梦想软件测试 一、测试分析 1.测试需求来源 开发需求DR;协议标准需求PR;用户需求UR;案例库需求...
    _王子_阅读 793评论 0 5
  • 测试用例的设计是测试实现阶段的核心工作,也是指导如何执行测试的基础。 测试用例(Test Case)是为某个特殊目...
    倔强的潇洒小姐阅读 8,736评论 1 21
  • 在此之前我搜集一些关于测试用例的知识,后来在我们的QQ群里专门定了一期讨论,来探讨测试用例,毕竟这是一个很大的话题...
    搬砖家阅读 1,572评论 1 14