如何写测试案例

关于测试用例,我们有太多的疑惑了,测试用例的依据?好的测试用例评估....等等。我们依据需求分析,依据开发文档,依据系统设计文档,甚至依据UI写测试用例,我们就真的足够了?不够,真的不够。需求在变,开发文档跟着变,设计文档也在改动,UI也在做变化,那我们的测试用例应该怎么写?

个人认为,一个好的、有效的测试用例,应该具备以下几个特征:

1.覆盖全面。测试的每个路径都涉及到,功能测试、界面测试、有性能要求的做性能测试、有安全要求的做安全测试(网络安全、通信安全..)等。

2.测试用例的后期维护时间短。测试用例写出来,不可能一成不变,根据系统的优化,测试用例都应该做相应的修改。针对需要修改的测试用例,我们修改了测试用例的哪些部分?测试前提、测试过程、测试数据、测试结果?如果四个方面都需要做修改,要么就是该功能完全变了,要么就是测试用例写的不够好。在系统做优化的时候,一般只需要修改测试数据就可以

3.对内的测试用例与对外的测试用例不一样。某些行业,测试用例需要随着系统一起交付用户使用。对内的测试用例,应该以寻求BUG为主,我们可以把过程写的流畅简单些,但是测试数据一定要充分;对外的测试用例,应该以指导用户参与测试为主,所以过程需要比对内的测试用例详细,但是测试数据可以减少。因为用户主要是想知道,这个系统是否可以使用,他不是真的为了给你找BUG。

4.同一个产品的不同项目,许多的测试用例可以公用的。所以,针对不同的项目编写测试用例,有许多我们拿以前的测试用例直接黏贴过来用,减少了许多写测试用例的时间。

针对以上几个特征,编写测试用例前,我们应该做哪些工作?我一般会花一些时间去看看需求文档、设计文档、开发文档;有机会就去找市场部的人交谈,在他们抽烟的时候,冒一根不够,就再冒一根,慢慢的问我想知道的问题;最好也和研发部的开发人员了解下情况,这个系统他们怎么看的,打算怎么做,有必要可以说说你的观点。

当这些前提你都做了,你完全可以写测试用例了,当然边写还是要边沟通,也许有新的发现呢?如果边写测试用例的时间

不够,你没有太多的时间去做这么多的铺垫工作,也没有关系,你可以先把一些通用的测试用例写出来:登陆、增加数据、修改数据、查询数据等,然后把业务要求

比较强的测试用例放在最后编写,这样我们既没有浪费时间,也可以按时交测试用例。

测试用例写出来,维护怎么办?测试用例的维护,写过测试用例的朋友都知道,大家都去嘟囔修改测试用例很无聊,首先

它没有太多的技术含量(这个大家都不喜欢,好多人也认为测试没有技术含量),第二这个过程很繁琐和枯燥。如果想维护简单,在编写测试用例的时候你就应该考

虑到这点。各项描述应该怎么写,通俗易懂而且是通用的是首选。举例:

方法一:

测试前提:系统服务运行正常、,具有xiaoming这个用户,密码为999999

测试过程:

1.访问系统登录页面http://localhost:8089/index.jsp

2.输入用户名:xiaoming

输入密码:999999

3.点击“登录”

测试数据:

用户名密码举例:

系统用户:xiaoming,密码999999;xiaohong,密码666666

用户名与密码不匹配:xiaoming,密码666666;xiaohong,密码999999

非系统用户:xiaowang,密码999999;xiaobai,密码666666

非法参数:#¥%,密码HH*&56;yong12%……,密码**……(

测试结果:使用正确的用户名与密码,可以登录系统;使用错误的用户名和密码,不能登录系统

结果分析:

方法二:

测试前提:系统服务运行正常、具有系统用户数据

测试过程:

1.访问系统登录页面

2.输入用户名和密码

3.提交数据

测试数据:

用户名密码举例:【假设xiaoming,密码999999为系统用户】

说明:用户名只能为数字、字母、下划线‘_’,首字不能为下划线

密码不能为空格

正确格式的用户名:xiaoming、xiao123、xiao_123、123_xiao等

错误格式的用户名:xiao%、123_xiao+空格、!@等

密码的输入参照用户名的输入规则

测试结果:系统用户能够登录系统并具有对应的权限、非系统用户不能登录系统

结果分析:

参照以上两个测试用例,我们就能很明显的分辨出用例的优劣。第一个测试用例我们至少需要准备xiaoming这一

个测试数据、登录界面如果增加了需要输入验证码,我们就要重新修改测试过程,测试数据我们也要做很多修改(就拿用户名可以输入数字、字母、下划线来说,正

确的组合就有2*3*3=18种),测试结果,我们登录系统为了做什么?没有权限怎么办?我们应该具有哪些权限?第一个用例就没有做说明,可以说,测试结

果的说明是不全面的。

第二个测试用例,如果系统增加了需要输入验证码,我们在测试过程的第二步,只需要说明输入用户名、密码、验证码,测试数据我们不需要做变化,在结果分析里,增加说明:用户名、密码、验证码正确,准入,否则拒绝。

第二个测试用例,有个不足,就是测试数据不全面。我在编写测试用例时,针对这个测试用例,我有个测试数据的附件。【附件分为两部分,手工测试以及自动化测试,手工测试我会有个详细的数据说明,并不是把所有的数据组合都列出来,而是详细的说明组合的方式方法,一共有多少种(包含边界值法以及特殊值等);自动化测试的数据说明简单很多,写一个正则表达式搞定】。

按照第二个测试用例,我们的工作就不再是苦力了,而是智慧的苦力。我们不再是点点点,慢慢的我们知道哪些是主要关注的,哪些是次要关注的,我们应该怎么去设计数据等等。慢慢的,我们学会了思考,我们也真的进步了。

欢迎大家多提意见,我们一起进步。

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 21,926评论 7 278
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,709评论 5 100
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,187评论 2 126
  • 诱惑指数:★★★★荒诞指数:★★★★★重口味指数:★★★★★颜值:★★标签:天才、变态、香水、少女、重口味、奇书 ...
    芝士阅读阅读 1,484评论 0 0