对于测试用例的讨论一直喋喋不休,什么样的测试用例是好的测试用例,每个人都有自己的观点。这里我不想说一个用例的属性,用例的定义还有用例的特点,因为这些随便一搜,就是一片,基本是你拷我 ,我拷你的结果,没一点创新。

  我一直在想,作为测试人员应该用脑袋去测试,也就是说应该在工作中不断的总结经验,把自己的发现应用到测试中去,这样你才能有真正的提高,你所具备的理论和能力才有竞争力。

  回到测试用例中来,我觉得做好以下三点就是一个好的用例。

  第一:依据分明

  众所周知,一个项目首先立项,然后经过一系列的动作到了需求分析,昨晚需求分析后,测试就可以做测试需求,然后就可以写测试用例了。所以写测试用例的依据就是需求。这么说太笼统,举一个例子。一个系统经过前期的需求分析,详细设计,模块设计等一系列的动作,最后生成了详细的需求说明和详细设计文档等等,在这些文档中,已经很详细的描述了所有的需求点和功能点,也有较详细的技术说明,接下来的工作就是怎么把这些功能点和需求点变成测试点,这就需要做好测试需求分析和测试方案工作,生成一个个可测试的测试点。这也是需求必须可测的一个体现。

  假设经过上一步工作,分析出这个系统有5个模块,50个大的功能点,500个具体需求点,最后生成了5000个测试点。那么 ok,我们就要写5000个测试用例。还是那句话,一个测试用例只能对应一个测试点,测试点和用例是1对1的关系;一个需求点可以对应多个用例,需求点和用例是1对多的关系。这样做的目的在统计中讲。

  第二:目的明确

  用例都有个测试目的,这就是要目的明确,并且也只能有一个目的。前面无论多少步骤,都是为了找到这个目的途径。功能从大到小有层次的划分,我们做测试用例也是有层次的,不然你怎么定义用例的优先级呢?等到测试最小的功能点是,支持这个功能点的其他上层功能点,我们都默认正确就可以了,这就是我们的预期,所以在测试步骤中不用对上层的功能专门考虑测试数据,只把他当成一个正确的找到目前的功能点的途径就行。换句话说,你要测试的功能点需要点10个连接才能找到,那么前9个连接我们再以前就应该设计了用例,在第10个连接中默认他们正确就ok,这个用例的前9步,只是告诉你如何找到第10步。就是这样。

  第三:便于统计

  测试用例对整个测试过程的质量控制和评估有很重要的意义。

  一,可以做测试需求覆盖分析。这样如果一个用例写几个测试点,那么就无法完成需求覆盖分析工作,至少是不符合规则的。

  二,做用例成功率分析。一个用例中有多个测试点,肯定会造成用例数量减少,用例失败率大大增多。那么你做的用例成功率还有什么意义?

  你还可以通过模块划分,来分析哪个模块存在的问题较多,还有可能存在更多的问题(应为程序员不同,能力就不同,缺陷喜欢扎堆分布,这个大家都知道),存在问题较多的模块需要做进一步的测试或者下一次作为测试重点。如果你统计的数据不准确,会误导结果的。

  三,做缺陷分析。用例失败了,就生成一个缺陷。如果一个用例中写了多个测试点,回归的时候,这几个测试点也有回归,有些可能与缺陷毫无关系的测试点,都被你回归了。

转载于:https://www.cnblogs.com/bugua/archive/2012/09/07/2674564.html

如何编写一个好的测试用例相关推荐

  1. 软件测试测试用例编写 不超过7步骤_教你快速编写一个合格的测试用例!

    关于测试用例,可能测试人员会思考很多问题,例如: 测试周期紧张,能否不写用例直接开始测试? 测试用例是否需要按照一定的模板编写? 测试场景太多,是否每个流程都需要设计测试用例? 测试用例是否有exce ...

  2. 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个

    软件测试测试用例编写 Test Driven Development (TDD) is sometimes described as "writing tests first". ...

  3. (测试)Openbravo如何编写一个测试用例

    一. 目标 这一篇文章的目标在openbravo里面建立一个测试用例,用来单元验证一段代码的正确性.比如我们写了一个后台持久化方法,需要验证是否写得正确,而前台又没有写好,无法测试.这个时候,我们可以 ...

  4. 如何用vbs编写一个游戏_如何编写一个 SkyWalking 插件

    点击上方"开源社"关注我们 | 作者:vcjmhg| 编辑:李明康| 责编:袁睿斌 | 设计:叶修缘丶 1 概述 之前几篇文章,我们着重介绍了在对 SkyWalking 进行二次开 ...

  5. 如何在有限的时间内编写完整有效的测试用例?

    在软件测试工作中,有一种直接拿到软件就测试的做法,它已经被大家认为是无效的软件测试,那么怎么分配时间来完成软件测试用例的编写,并且还要在有限的时间里?欢迎大家进行讨论与交流! 分析这个问题,我想先从两 ...

  6. 如何编写一个抢购bot_如何编写一个SkyWalking插件

    概述 之前几篇文章,我们着重介绍了在对SkyWalking进行二次开发之前的环境搭建问题,因此本篇文章将基于SkyWalking-8.1.0版本,以开发webflux-webclent插件为例,分享一 ...

  7. 模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)

    模拟人工洗牌.编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人. **输出格式要求:"\nNo.%d:" " %c%2d," 为便于机器评分,假设随机数的种 ...

  8. 请用python3编写一个计算器的控制台程序_二、软件工程慕课第一章作业题——编写一个计算器...

    一.题目描述 请用Python3编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描述 ...

  9. 初识CMake,如何编写一个CMake工程(下)

    如何编写一个CMake工程 上文分析了针对一个源文件.多个源文件.多个目录的情况 1 CMake自定义编译选项Demo4 1.1 效果展示 2 CMake安装(make install)与测试(mak ...

最新文章

  1. python 的文件读写方法:read readline readlines wirte   writelines
  2. Datawahle文化衫来了!
  3. swift 动态设置UILabel的高度
  4. 蓝桥杯练习系统算法训练习题加答案java版本
  5. iptables使用ipt_connlimit限制连接数
  6. Python 传值和传址 copy/deepcopy
  7. python定位文件位置_python使用相对定位,绝对定位,选取同级别文件下的指定文件(csv,excel)...
  8. 遥感计算机分类有哪些,遥感数字图像的计算机分类.doc
  9. java semaphore 等待时间_一个java同步工具类Semaphore的详解
  10. 如何让context attribute不出现在configuration界面的available fields列表内
  11. 前端进阶之路: 前端架构设计(2)-流程核心
  12. Map实现之HashMap(结构及原理)(转)
  13. 云计算教程学习入门视频课件:云计算基础服务组件讲解
  14. Ambari--服务管理
  15. systemd(CentOS7)启动zookeeper
  16. Ke模拟器kemulator 1.0 绿色中文版
  17. 运动重构(SFM)学习笔记一
  18. 软件测试的功能测试和性能测试,大型软件的功能测试流程及性能测试流程
  19. [图像处理][Matlab] fspecial函数详解
  20. Android 获取手机型号,版本号等。

热门文章

  1. 推荐一款神器,不用写函数的“Excel”,统计数据比透视表还牛!
  2. 数据分析方法(一):对比与对标
  3. dell mobile connect 兑换码_剑与远征万圣节兑换码是什么?剑与远征2020万圣节兑换码使用解析...
  4. 如何主持计算机教师座谈会,计算机学院召开期中教学评价教师座谈会和学生座谈会...
  5. hadoopsdk使用_Hadoop的一些基本操作
  6. mysql 设置 server id_详解Mysql存储引擎
  7. rpg制作大师2003_RPG制作大师MV 我们一起做游戏(十四)
  8. radius java_Java处理Radius access-challenge
  9. python 执行存储过程语句_从Python执行存储过程
  10. hnu 暑期实训之公交系统