[Tommas] 测试用例覆盖率(三)
三、测试数据的设计
每一个测试思路最终都要转化成具体的数据才能来执行。关于测试数据设计的方法也不外乎那几种,就不再赘述了。此处单就一些经常易犯的错误,提出一些注意点,作为用例数据设计时的参考:
1、尽量避免可能出现歧义测试结果的数据:即你设计的数据必须能唯一正确地反映出你所希望测试的结果。比如一组测试数据,有可能得到结果A或结果B,此时单用此数据来测试预期结果为A的用例,那明显就产生了歧义。
2、对于不便具体列示的数据,则必须详细描述其各项特性:有时我们在设计用例时为节约时间,不一定要到具体的一个数值,这也是允许的,但前提是你必须要详细描述清楚你要测试的数据特性。比如数据库字段限长20,要测试超长数据时,可以描述为:尝试输入长度为21位的半角英文字符;尝试输入长度为19位的半角英文字符,然后切换到中文全角再输入一位全角字符等。千万不能写成:尝试输入超长字符,因为这只能是测试方案,作为方案是可以这样写,但到用例阶段,必须要是具体的、明确的、可操作的。
3、测试数据的设计必须有明确目的性:即测试数据是从测试方案衍生而来的。如上例测试方案是测超长字符输入控制,所以测试数据就要根据具体字段长度来录入超长数据,如果一味录入长15位、长16位的数据那就没意义了。好的测试数据是可以同时针对多个测试方案的,此时可以在用例边注明一下该数据的测试目的,因为随着时间推移,对着具体的数据你也许会忘了它到底是测什么的,而这对你最后总结测试,查验测试覆盖率是非常不利的,所以随时记下你的思路想法吧,好记性不如烂笔头。
4、测试数据可省略描述:测试数据描述以能让人看懂为准则。所以写用例时当碰到连续几个用例,仅某几个关键数据值改动,其余均是一样的情况下,不必每个用例都要重复描述所有数据,可以在第一个用例描述完整之后,其余用例中仅列示不同的数据,并标明其余数据同上第X个用例,即可。这样测试时仍能复原测试数据,且该用例的测试目的一眼就明,增加了用例的清晰性。
至些,我根据测试用例设计的顺序,从测试数据的切面设计(即测试项划分),到详细测试用例设计,再到测试数据设计三个层面,逐一介绍了如何来提高测试用例的覆盖度。因为具体项目中的具体情况太多,以上叙述的内容也只能是管窥蠡测。至于其中的疏漏错误之处应也难免,只希望各位阅后能打开思路,从自己多年的测试经验中多总结、提炼出一些想法思路,进一步补充完善这个文档,使大家的测试用例设计能力都能进一步提升。
[Tommas] 测试用例覆盖率(三)的更多相关文章
- [Tommas] 测试用例覆盖率(一)
一.测试用例的切面设计 所谓测试切面设计,其实就是测试用例大项的划分.测试用例划分的经典方法是瀑布模型,也就是从上到下,逐渐细分,大模块包括小模块,小模块包括更小的模块.但仅仅如此是不够的,我们还要从 ...
- [Tommas] 测试用例覆盖率(二)
二.详细用例的设计 划分好了测试项,接着就是针对各个测试项,考虑具体的测试用例了.根据测试项的特点,测试用例的设计角度也有所不同.下面我们就来看看通常的功能点测试用例,该从哪些角度出发来进行设计: 1 ...
- 测试用例覆盖率converage
当报如下错误: TypeError: 'ModuleImportFailure' object is not iterable 或者 TypeError: '_FailedTest' object i ...
- 高效测试用例组织算法pairwise之Python实现
------------------------------------------本文专为<光荣之路培训 >原创,如有转载请注明出处--------------------------- ...
- 如何设计一个"好的"测试用例?
什么才算是“好的”测试用例? 好的测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关. "好的"测试用例必须具备哪些特征? 一个“好的”测试用例 ...
- Jacoco覆盖率工具使用
Jacoco介绍 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第 ...
- 2017-2018-2 20165318 实验三《Java面向对象程序设计》实验报告
2017-2018-2 20165318 实验三<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:孙晓暄 ...
- 20155320 《Java程序设计》实验三 敏捷开发与XP实践
20155320 <Java程序设计>实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 (一)研究一下Code菜单 具体内容: 在IDEA中使用工具(Code-> ...
- 实验三:klee的执行重现机制(示例分析)
结论性内容: (1)如果是在程序中使用klee_make_symbolic,则可以使用下列脚本进行重现. export LD_LIBRARY_PATH=/home/klee/xiaojiework/k ...
随机推荐
- 为什么Android 3.0如此罕见?
3.0(2011年2月)代号蜂巢,专用于android系统的平板电脑,不用于手机.4.0(2011年5月公布)的开发就是让平板电脑和手机能够共用一个版本的系统.4.0通用于平板电脑和手机.
- Ubuntu 取消sudo密码
需求:在Ubuntu下装了FQ代理goagent之后,为了goagent能够开机启动.因为goagent需要sudo权限,所以要去掉sudo密码. 要修改的文件位于/etc/sudoers,先备份: ...
- SaaS系列介绍之十五: SaaS知识重用
1 建立并积累自己的开发体系 遵行业界的规定又有自己的特色是我们所追求的目标.成功的软件公司都有丰富而可复用的代码组件,几行代码在单个系统里可能无足轻重,但一旦可在大量的系统中可重复使用那就是价值不菲 ...
- SpringMVC学习总结(三)——Controller接口详解(2)
4.5.ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.chapter4.web.servle ...
- eclipse安装插件的各种方法
做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件.一个好的插件可以大大的提高我们的工作效率,学习如何安装Eclipse插件自然也是必修课了.下面介绍Eclipse插件的安 ...
- Linux资源监控命令/工具(网络)
1.手动/自动设定与启动/关闭IP参数:ifconfig,ifup,ifdown 这三个指令的用途都是在启动网络接口,不过,ifup与ifdown仅能就/etc/sysconfig/netw ...
- BZOJ 1297 迷路(矩阵)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1297 题意:给出一个带权有向图,权值为1-9,顶点个数最多为10.从1出发恰好在T时刻到 ...
- css实现缩进无限嵌套
使用css实现缩进带背景无限嵌套,支持Ie6,代码如下: <!DOCTYPE html> <html lang="en"> <head> < ...
- eclipse mingw cpp开发环境
Eclipse开发c++ 对比:微软的VC++6.0:太老了,对win7兼容不好, 现在微软的Visual Studio:安装包太大,好几个G,装了一堆你不需要的东西,要钱,教 育版申请麻烦 DOS下 ...
- bzoj2431: [HAOI2009]逆序对数列
dp. f[i][j]表示放置第i个数有j个逆序对的方案数. s[i][j]维护前缀和(f[i][0]~f[i][j]). 状态转移方程 f[i][j]=s[i-1][j]-s[i-1][max(j- ...