测试系列:测试用例的基本应用

一、什么是测试用例?

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

通俗的讲:就是把我们测试系统的操作步骤用按照一定的格式用文字描述出来。

二、写测试用例有什么好处?

——理清思路,避免遗漏

这里是我们认为最重要的一点,假如我们测试的项目大而复杂,我们可以把项目功能细分,根据每一个功能通过编写用例的方式来整理我们测试系统的思路,避免遗漏掉要测试的功能点。

——跟踪测试进展

通过编写测试用例,执行测试用例,我们可以很清楚的知道我们的测试进度。

——历史参考

在我们所做的项目中,也许会有很多功能是相同或相近的,我们对这类功能设计了测试用例,便于以后我们遇到类似功能的时候可以做参考依据。

——重复性

我们测试一个系统不是一个人测一遍就算测完的,需要多人反复的进行测试,那么我们就需要测试用例来规范和指导我们的测试行为。

——告诉领导,这事俺干过,不然别人怎么知道你测没测,测的全面不全面,拿测试用例给他们看

三、什么情况下不适合写测试用例

——文件时间

如果一个功能我很快就测试完了,而且只需要测试一遍,但我们设计测试用例时却比较麻烦,花时间也长。这个时候就没必要编写测试用例了。

——需求变动大且频繁

需求的功能变动非常频繁,而且变动很大,之前编写的测试用例根本没法使用,必须要重新编写,这个时候也没必要去设计测试用例了。

——项目时间不允许

这一项是不太厚道的做法,如果不是急需交付客户的话,尽量不要这样做;当然了,如果只是给客户展示或试用,可以在之后进行补充和完善测试用例。

——不要编写不完整或别人看不懂的测试用例,那样就没有意义了。

四、测试用例的格式与要素

一个测试用例应该包括:编号,标题,测试场景,测试步骤,预期结果。

当然还可加入一些它选项,如:优先级、测试阶段....

1.  项目管理系统自带的用例管理,一般用例会与项目挂钩,有固定的格式,搜索、修改等功能,使用起来非常方便。如:禅道项目管理、QC、bugfree 等等都带的有用例管理功能。

2.  通过world\Excel文档形式管理,这样的好处就是自己定义测试用例的格式。

五、用例设计方法

(1)边界值分析法

边界值分析:对输入或输出的边界值进行测试的一种黑盒测试方法

实例: 本程序退款确认80字吐槽内容 (1)有效值为1~80个字 (2)边界值数字为:80字,1字 (2)输入0字 (3)超过81字 (此处可能存在问题:开发有可能写成80字符(40汉字),也有可能没做限制

(2)等价划分法

主要针对输入区域等价划分为若干部分(子集),从每个部分选取少数代表性数据作为用例 (1)有效等价类(有效合理的输入) (2)无效等价类(与上对立)

举例:因发现好股不存在此类用例,取其他用例

用例ID 月份   日期   年     预期输出

SR1   -1   15   1912   月份不在1~12中

SR2   6    -1    1912   日期不在1~31中

SR3   6    15    1811   年份不在1812~2012中

SR4   -1   -1    1912   两个无效一个有效

SR5   6    -1    1811    两个无效一个有效

SR6   -1   15   1811    两个无效一个有效

SR7   -1   -1    1811    三个无效

(3)判定表

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具

(4)错误判断法

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

实例:测试手机端的通话功能

1) 无SIM 卡插入时进行呼出(非紧急呼叫)

2) 插入已欠费SIM卡进行呼出

3) 射频器件损坏或无信号区域插入有效SIM卡呼出

4) 网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)

5) 网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字

(5)因果图法

利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况

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。

(6)场景法

3、测试用例设计综合策略

1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。

2) 必要时用等价类划分方法补充一些测试用例。

3) 用错误推测法再追加一些测试用例。

4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。

5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。

4、测试用例设计步骤

1) 构造根据设计规格得出的基本功能测试用例;

2) 边界值测试用例;

3) 状态转换测试用例;

4) 错误猜测测试用例;

5) 异常测试用例;

6) 性能测试用例;

7) 压力测试用例。

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

推荐阅读更多精彩内容

  • 等价类划分方法: 一.方法简介 1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个...
    繼續hug阅读 5,596评论 1 16
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,723评论 5 100
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 21,956评论 7 278
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,191评论 2 126
  • 在敏捷项目的快速迭代中,QA要负责和推动多个质量保障活动比如需求分析、过程改进、风险管理、自动化测试开发维护和故事...
    做测试的DanteYu阅读 4,130评论 7 59