博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(五)浅谈测试用例
阅读量:6281 次
发布时间:2019-06-22

本文共 1820 字,大约阅读时间需要 6 分钟。

一、什么是测试用例?

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

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

 

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

       •  理清思路,避免遗漏

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

       •  跟踪测试进度

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

       •  历史参考

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

       •  重复性

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

 

三、测试用例的方法

好吧,咱知道啥是测试用例了,也知道为什么要写测试用例了,那到底应该怎么写?无从下手啊。我们在写测试用例之前,先学习几种方法,它是我们写测试用例的指导思想。

 等价类划分

等价类是指某个输入域的一个特定的子集合,在该子集合中各个输入数据对于揭露程序中的错误都是等效的,也就是说,如果用这个等价类中的代表值作为测试用例未发现程序错误,那么该类中其他数据(测试用例)也不会发现程序中的错误。

有效等价类:输入满足程序输入的要求(来自规格说明书),通俗的说就是正确的输入。

无效等价类:输入不满足程序输入法要求,即异常输入,需要系统对此有一定的容错性。

例如:

一个输入框要求输入1-10000的数字

有效等价类:可以输入1-10000之间的数来验证,如:2、99、999、8495……

无效等价类:可以输入1-10000之外的任意字符验证,如:0、10001、字母、下划线、特殊符号、空格、回车……

•  边界值

边界值是对等价类的补充,测试工作经验告诉我们,大量的错误是出在输入输出的边界价上。我们还拿上面的例子,一个输入框要求输入1-10000之间的数。我们要测它有没有超出这个范围,如:0、-1、-2、1000、10001……等等,来判定是否超出了我们的范围。

•  因果图

因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。举个例子:原因:A=0,B=0 结果我就可以判定A=B。确切的说他是一种因果关系思想。它会无形中指导着我们的测试。当然了,我们为了以免遗漏,可以把系统中的因果关系图画出来,不过系统大而复杂的话就是个体力活了。

•  错误推测法

基于经验和直觉推测出系统可能存在的错误,从而有针对性的设计测试用例的方法。

•  其他

设计测试用例的方法有很多,我们常用的就上面几种,其它的方法还有:状态前意图、流程分析法、正交验证法等等。

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

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

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

编号:

标题:

测试环境:

测试步骤:

预期结果:

关于测试用例的存放管理:

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

2、通过word/excel文档形式管理,这样的好处就是自己定义测试用例的格式。

下面来看一个具体的测试用例。我们会有更深刻的认识。

编号:001

标题:系统登录测试用例

测试环境:

Windows 10/Chrome 58

测试步骤:

1、打开浏览器,输入系统网站,打开登录页面

2、用户名密码为空,点击登录按钮

3、输入用户名,密码为空,点击登录按钮。

4、用户名为空,输入密码,点击登录按钮。

5、用户名正确,密码错误,点击登录按钮。

……

预期结果:

1、成功打开首页

2、系统提示:用户名密码不能为空。

3、系统提示:密码不能为空

4、系统提示:用户名不能为空

5、系统提示:用户名或密码错误

 最后,写好测试用例,除了掌握接本的测试方法外,最重要的是,要去深入理解业务需求。从需求文档中抽出测试点;另外善于总结以往测试中发现的bug,完善测试用例

 

更多精彩详见:

 

转载于:https://www.cnblogs.com/poptestzm/p/7457292.html

你可能感兴趣的文章
基于Internet的软件工程策略
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>
Vue------第二天(计算属性、侦听器、绑定Class、绑定Style)
查看>>
dojo.mixin(混合进)、dojo.extend、dojo.declare
查看>>
Python 数据类型
查看>>
iOS--环信集成并修改头像和昵称(需要自己的服务器)
查看>>
PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
查看>>
教程前言 - 回归宣言
查看>>
PHP 7.1是否支持操作符重载?
查看>>
Vue.js 中v-for和v-if一起使用,来判断select中的option为选中项
查看>>
Java中AES加密解密以及签名校验
查看>>
定义内部类 继承 AsyncTask 来实现异步网络请求
查看>>
VC中怎么读取.txt文件
查看>>
如何清理mac系统垃圾
查看>>