• 2
  • 2
分享
  • 从3个方面带你写一个合格的测试用例——软件测试圈
  • 曼倩诙谐 2022-11-09 13:23:43 字数 2550 阅读 2114 收藏 2

  51Testing软件测试网正在收集测试行业问卷结果,如果你也想为测试行业的前景助力,就点击下方的链接提交答案吧,还有精美礼品等你拿(测试课程五选二)。链接:http://vote.51testing.com/


  前言

  作为一个测试新人,刚开始接触测试,对于怎么写测试用例很头疼,无法接触需求,只能根据站在用户的角度去做测试,但是这样情况会导致不能全方位的测试APP,这种情况就需要一份测试用例了。

  在介绍如何编写测试用例之前,先看一个软件系统登录功能的测试(如下截图所示):

1-1.jpg

  要做这个登录页面的测试用例,你会从哪些方面思考进行测试呢?

  看似简单的页面功能能够设计多少条测试用例完成较全面的测试呢?10条以内?20条?.......

  那么在给出上述答案之前,先带大家熟悉一下什么是测试用例?测试用例有什么作用? 然后在结合上述抛出的案例抛砖引玉一起讨论如何编写测试用例?

  下面就是此文目录截图:

1-2.jpg

  一、什么是测试用例

  测试用例:为了特定的目的(证明软件存在某问题)而设计的一组由测试输入、执行条件、预期结果构成的文档。

  1、测试用例简单来说就是指导如何做测试的文档,该文档主要记录需要验证被测软件的是否满足需求。

  2、测试用例表现形式常见的有两种,可以以模板形式展示:

  1)一种是通过Excel直接编写

  · 大多数项目中都需要按照这种方式设计编写

  2)一种是通过xmind直接整理测试点

  · 时间紧迫,项目没有强制要求时,可以设计测试点的形式编写

  · 对于业务流程类的测试,也可以整理为测试点进行测试

  3、设计及执行人员:测试工程师

  4、用例的模板:描述编写用例核心内容,一般项目都有自己的设计用例的模板,常见测试用例模板可参照如下:

1-3.png

  二、为什么要写测试用例

  为什么要写测试用例,实际中产品出现问题,第一责任人首先想到的是测试为啥没有测到?

  产品出现问题了,你为啥没有测出来呢?

  当然,除了避免“甩锅和背锅”,其实写测试用例更重要的作用如下:

  · 技术上将需求转化为具体可验证的指标

  · 以文档的形式记录软件可能存在的问题

  · 防止测试过程的活动出现遗漏,提高工作效率

  · 测试工作量的展示

  三、如何编写测试用例

  既然写测试用例如此重要,那么如何更好的编写测试用例呢?个人认为需要满足如下几点: - 常规思考,设身处地的从用户角度出发(比如:实际用户是这么使用的么,会不会遇到异常情况呢?) - 测试理论方法的支撑(比如:根据需求设计测试用例时,能用到哪些常见的测试用例设计方法?) - 产品的熟悉和经验的积累(比如:已经有过类型项目经验,曾经在某个方面有过问题,当时是如何处理的呢?) 上述的设计用例过程,有个前提,就是对于测试有耐心和毅力,加上日常有意识的思维训练,才会写出全面的用例。

  1、常规思考

  回归到开篇的问题,对于一个基本的登录页面,按照常规思路能否会想到如下截图的测试点呢?实际,这些测试点都是源于从用户角度出发,结合需求进行细化设计的过程。实际测试中是不是只有这些测试点呢?

1-4.jpg

  2、学习积累

  相信大多数测试工程师都能够想到上述基本的测试点,然在实际工作中面对的项目不同,设计测试用例的颗粒度也有不同的要求,如果针对上述登录的模块,更深入一层考虑呢?此时需要对产品的熟悉程度及测试经验的加持,而且这些点的设计是不断学习、熟悉项目、测试积累中得到的。

1-5.jpg

  3、理论支撑

  有了常规的思考,有了经验的积累,还需要理论的支撑。测试用例毕竟是通过人去思考设计,这个过程不可避免有疏漏。如何规避?实际就需要测试理论的支撑,个人认为深入思考设计用例不外乎以下两方面:

  1)测试用例的设计方法

  测试理论中很关键一块就是将需求拆分为具体的测试点,然后根据用例设计方法进行具体的设计,其中拆分需求的关键是熟悉需求,将文档中已有的描述内容,按照用户使用场景、个人测试经验的积累(如果有的话)、把大段的内容拆分成能够直接用用例设计方法的测试点,这样就直接可以通过简明扼要的文字描述转化为Excel的测试用例,在这个过程通俗理解就是拆分细化的过程,直到可以直接写用例验证一个具体的功能点即可。

  其中熟知的设计用例方法有:

  - 观察法

  - 等价类、边界值

  - 判定表、因果图

  - 流程图、场景法

  - 错误推测法等

  2)测试设计的思路开拓

  倘若按照需求将已有的描述信息都已经拆分完毕了,是不是就可以确保测试没有问题了呢?

  其实不然,在上述基础上如果还需要再拓展全面测试,还需要借助于软件质量模型的特性,从这些特性出发,给予测试用例设计者更多的思考空间。这样的设计就更加的全面可靠。

  常见软件质量模型特性说明:

  - 功能性:功能有没有,好不好用

  - 性能效率:对应系统的资源耗费程度及响应时间

  - 易用性:容易理解、学习、使用

  - 兼容性:能够兼容不同的软硬件平台

  - 可靠性:不易出问题,万一出问题容易恢复

  - 安全性:对于用户的安全保障(外在的人生安全、内在的信息安全等)

  - 可移植性:能否在不同环境条件下无故障运行

  - 可维护性:对于后期的修复维护是否方便快捷

  因此,对于上述登录功能,按照上述质量模型的思路指导,就得到如下的测试点:

1-6.jpg

  四、写在最后

  此时的你再回过头来看看,还会认为登录这个百试不爽的功能就设计十几条甚至几十条测试用例了吗?显然不是那么简单,需要在熟悉需求基础上,进行拆分细化,将常规的思考、经验的积累、理论的支撑结合起来使用,最终才能转化为测试待验证的结果。

  熟悉需求上第一步,在此基础上进行测试点的拆分细化,这个过程如果对于复杂一点的功能点,需要借助于测试用例的设计方法,对于页面级的测试点应用最多的不外乎是等价类、边界值。

  仅仅熟悉了需要,还需要结合经验的积累,从质量模型的特性出发,进行全面的思考功能点的设计,是否出现遗漏的,是否有项目特殊要求的。

  用例的设计不是一蹴而就的事情,好的用例也是需要不断的练习,反复的修改评审,才能编写出卓越的用例。



作者:程序员小濠    

来源:http://www.51testing.com/html/08/n-4478908.html


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 用postman进行接口测试的时候,我们经常会把接口地址的全路径填在url地址栏当中。这种做法不太好的地方在于,当你需要从一个测试环境切换到另一测试环境时, 需要把所有的url全部修改一遍,当你有 500个用例都需要修改,直接累瘫。那在postman当中,如何更方便的修改测试环境呢?其实只需要两步。第一步,点击 postman 左侧工具栏的 environment, 点击 + 号添加新的测试环境。 一个测试环境当中可以创建很多环境变量,有了环境变量,在请求数据中就可以引用这些变量。在这里,我创建一个了一个开发环境,一个线上环境,里面都有一个叫 baseUrl 的变量。第二步,在请求发送界面,点...
            0 0 2795
            分享
          • 岁月流逝,万物轮回依旧,人生苦短,酸甜苦辣咸,构造丰富多彩人生。也曾失落彷徨,也曾泪水流淌,也曾过度失望!但内心那颗不骄不躁,不卑不亢的心一直在挣扎徘徊。我不否认我是一个患得患失,多愁善感的人。即便如此,骨子里流淌着的不乏那一种不安于现状,不妥协沉望的劲头。一辈子很长也很短,有时候长的让人浮想联翩,有时候短的让人一蹴而就,似乎一转眼生命就到了尽头。好吧,我不想引申这方面。总之一句话,人生苦短,干!目前从事测试工程师职位,说起来也是不可思议。行伍出身的我,在退伍复员后,没有明确追求,机缘巧合,加入到测试大军中去。这一个转身,简直没谁了。外表强壮的我,说话谈吐硬汉腔调的我,怎么也跟戴眼镜穿格子衫的...
            0 0 5491
            分享
          •   一、什么是API接口测试?  API接口有多种,个人将其划分为三类。  第一种是函数级别的,测试需要对接口的各个参数进行测试,如:  Int getResult(String key, String ID, Int ticket)。  第二种是对象级别的,开发在使用API接口时,先引入包名,在使用之前声明一个对象,之后可以使用对象提供的方法,而测试时,需要测试的是API的功能及对数据输入的正确性。第二种和第一种的差别是,我们只需关注提供给用户使用的接口就可以了,不用关心接口调用其他函数情况,相对于第一种来说,测试的粒度要大一些,范围小一些。  第三种是http协议的接口,App客户端和后端...
            1 2 3088
            分享
          •   摄影师戴建峰发文称其使用自己的作品被视觉中国告知侵权,该事件曝光后引发关注,视觉中国多次冲上了微博热搜榜,图片版权问题迅速成为公众讨论的焦点。  多家知名公司官微此前也曾纷纷表态,自己家的LOGO图变成了视觉中国的版权图片。  受此影响,截至8月16日15时收盘,视觉中国总市值较前一日蒸发超5亿元,跌至115.10亿。  专家认为,视觉中国4年前宣称“全面整改”,到底整改了什么?最近这些年,人们对于版权越来越重视,这是好事。但把维权当生意,最终会让“版权”“污名化”。希望人人尊重版权,但请尊重法律,莫要“碰瓷”。  资料显示,视觉中国成立于1994年5月,于1997年1月在A股上市,风险信...
            0 0 1049
            分享
          •   一、软件测试工程师大致有4个发展方向:  1资深软件测试工程师  一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。  达到这个水平比较困难,这需要了解很多知识,例如C语言,JAVA语言,数据库,数据结构,软件工程,等等,但是你要在一家公司干3--5年的话,在压力中这些技能你都会掌握!  2测试部门管理者  小的如组长,大的如测试经理,这需要你有先天的优势,善于交流沟通,善于处理人际关系!不过做两年,你也会成为老油条的!  3测试书籍编写者  出书也是很赚钱的,当你在这一行干了几年,积攒了足够的经验,可以把你的经验,具体做过的项目总结出来,现在关于软件测试的...
            0 0 1054
            分享
      • 51testing软件测试圈微信