热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

精简测试用例编写

大家都知道,测试用例的一个核心作用就覆盖测试需求,尽可能的减少漏测,同时提高测试效率。再细想想,这种核心作用的本质也就是一种“提醒”作用。你可能会说“对呀,本来就是这样的呀,没啥问

大家都知道,测试用例的一个核心作用就覆盖测试需求,尽可能的减少漏测,同时提高测试效率。再细想想,这种核心作用的本质也就是一种“提醒”作用。

  你可能会说“对呀,本来就是这样的呀,没啥问题呀”。我也觉得这个本身没错,那关键的问题是什么呢? 问题在于时间和可执行性。
  话说,写用例、设计用例是需要时间的,而在追求速度的时代,似乎连这点时间都给不起。这不是我吹的,特别是互联网,大部分公司都采用敏捷开发模式,讲究快速,所以,时间往往是有限的,再加上很多公司对敏捷仅停留在概念阶段,以为“敏捷=快速”,把时间花在用例设计上简直就是一种浪费….这样一来,用来设计用例的时间有时候,真是少之又少。如果按传统方式,把用例写得很详细,各种前提条件,步骤,说明,预期结果,编写人,日期啥的,这个时间成本是很高的。
   再说可执行性。经常看到一些人写用例写得很认真,很详细、具体,把每一步的操作都写了,还有一些人一个用例下来,十几个步骤,包含了n个验证点。这种用 例的可执行性咋样呢?按我的经历来看,这种类型用例,在测试的时候,用例编写人自己都懒得看用例,完全是按自己的当前时间的想法来测试,而非用例编写人 呢?同样的,他也不会完全按照上面的步骤来执行,人嘛,都喜欢按自己的方式来做事,谁会看一下用例步骤,然后操作一下呢?所以,最后的结果是,用例文档就 是摆设,放在那里,没人看。
  怎么破?
  我的观点是:测试用例必须写,而且还要“精 炼”:能不写的尽量不写,能“简写”的尽量简写----“精简”的思维->简而言之,当前面的部分,已经起到了足够的提醒作用时,后面部分就可以不 写。这样做的好处是,不仅可以节省时间,而且还给执行用例的人留下一定的思考空间,有利于TA的成长。
技术分享
  思维导图编写用例为例:
  1.  一看用例名,就知道步骤及预期结果的,仅写用例名
  这里的用例名,也就是我们的测试点、需求验证点。
  这里对编写测试用例的人有个要求:语言组织能力+思维能力,尽量做到划分合理,且见名知意。
  2.  仅看用例名,不能预知操作步骤的,还须把操作步骤写出来
  3.  仅看用例名,不能预知预期结果的,还须把预期结果写出来
  4.  预期结果、操作步骤有时候都可简写:直接以备注、说明、提醒点替代
  对比上面的,这样写可能会给人有点“乱”的感觉,但是换个思路想,
  这里实际是把预期结果、操作步骤当作是子验证点(即子用例),采用第一条规则,这里的子用例仅写了用例名,即提醒点,验证点。也就是说,这条用例是由一组子用例构成的。
  注:用例粒度可粗可细,结合时间成本考虑,做到合理的划分即可。
  5.  针对一些步骤比较复杂的用例,步骤和预期结果都要写出来。
  复杂情况下,一个用例包含多个操作步骤,这些操作步骤中,每个步骤可能都对应一个子测试点(预期结果)。如上,可以新增一个结点,填写预期结果,也可以和操作步骤写在同一个结点,以括号等不同方式进行区分,具体根据个人喜好或者大家达成共识的统一风格。
  6.  技巧
  根据具体情况,可以适当做些备注(可以是一些业务逻辑、规则、需求、预期结果等),让人看得更明白
  为了避免模块层级过多,可以不进行模块划分就不划分,当然也可以采用其它技巧,比如模块名称写成“大模块-子模块”的形式
7.  例子
技术分享
  有的人可能会想,我们可以写“通用用例”呀,对,这个似乎是可行的,但是我想说的是:
  1.     用例设计是根据需求来写的,这里的“通用”部分其实并不多,仅小部分,而且单独把某个“点”拿出来考虑,有点类似“断章取义”,意义不大。
  2.     所谓的通用用例,本质上看,也就是设计方法的体现,与其去“记忆”这些会变化的“通用”,还不如多想想你的用例设计里面,哪里体现了、到了这些设计方法。
  写在最后
  1、多去研究下产品,ui交互等,对产品有感觉,自然的不用需求说明,你也知道点击哪个功能会跳出啥结果。
  2、假如用Xmind编写用例,最好能合理的划分模块,然后每个画布放一个模块,具体操作如下,右键中心主题 -> 插入 -> 从主题创建新画布
技术分享
  如下,点击不同模块,展示不同模块的用例,这样做的一个好处是啥呢?假如一个画布存放所用用例,可能因为内存的原因,操作时会出现“卡顿”的现象,有时候还打不开文件,保存时也很耗时。
技术分享
  3、用例不仅编写者自己看,别人也要看的,所以不管咋写,一定要让人看得懂。
 
转载:http://www.51testing.com/html/42/n-3693042.html

精简测试用例编写


推荐阅读
  • C#的Type对象的简单应用
    通过Type对象可以获取类中所有的公有成员直接贴代码:classMyClass{privatestringname;privateintid;publicstringcity;pu ... [详细]
  • FroggerTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:32257Accepted:10396DescriptionFr ... [详细]
  • 九宫格计算. ... [详细]
  • 22.Container With Most Water(能装最多水的容器)
    thecontainercontainsthemos ... [详细]
  • iOS之富文本
    之前做项目时遇到一个问题:使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结 ... [详细]
  • Xib九宫格应用管理使用xib封装一个自定义view的步骤1新建一个继承UIView的自定义view,假设类名叫做(AppView)2新建一个AppView.xib文件来描述 ... [详细]
  • 【自制小工具】代码生成器
    【自制小工具】代码生成器陆陆续续接触过好几款代码生成工具,发现确实好用,但都会有那么点不完善的地方,所以索性就自己做一个吧。界面非常简单,反正是自己用的,简单点用起来也方便上图:左 ... [详细]
  • kepserver中文手册,kepserver使用教程,kepserver设置
    下面介绍一下KepServer模拟器的使用,以下示例使用服务器随附的Simulator驱动程序来演示创建、配置和运行项目的过程。Simulator驱动程序是基于内存的驱动程序,能为 ... [详细]
  • 论文阅读及复现 | Improved Semantic Representations From TreeStructured Long ShortTerm Memory Networks
    两种形式的LSTM变体Child-SumTree-LSTMsN-aryTree-LSTMshttps:paperswithcode.compaperimproved-semanti ... [详细]
  • 看这里,教你如何快速将pdf文件翻译成中文
    因为网上下载的PDF资料,往往掺杂着一些英文,所以中英文翻译是一件很平常的事,毕竟不是每个人的英文都那么好,轻轻松松的就能够看完一篇英文的文件,那么,我们就要寻找翻译工具来帮助我们 ... [详细]
  • 以SOA服务为导向的信息系统构建是通过有计划地构建信息系统时,一种简单而有柔性的方法,就是组件化与服务导向架构。过去的信息系统,是在使用者需要新功能时才开发的,也就是响应不同时 ... [详细]
  • 简单动态字符串redis里面很多地方都用到了字符串,我们知道redis是一个键值对存储的非关系型数据库,那么所有的key都是用字符串存储的,还有字符串类型,这些都是用字符串存储的 ... [详细]
  • 例子如Table表有性别字段,1代表男2代表女、3代表中性、还有没填就代表未说明selectid,decode(sex,'1','男', ... [详细]
  • 接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对 ... [详细]
  • 作业迁移
    背景:数据库服务器更换,1、数据库迁移(BACKUPRESTORE);2、数据库登录名用户迁移(注意孤立用户);3、作业迁移数据库迁移,备份数据库、拷贝备份文件到新服务器,还原数据 ... [详细]
author-avatar
CCTV2财经2677
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有