如何校验高质量的测试?

如何鉴定什么是高质量的测试?首先框定一下Scope,本文所说的测试是面向用户业务需求的测试,写的测试是面向真实业务需求的,站在真实用户的视角去看的。如果你的写测试不是面向真实业务的,就需要你使用用户视角去看问题。什么是用户视角呢?举个例子,当你的系统进行了分层设计,你在测试用户登录功能中的ApplicationService层时,此时,Controller层就是你的用户,你写测试是需要在Controller这个用户的视角去看。

借用中医看人的比方,首先看你的面相、气色、体态,然后再给你把脉,感知你的心跳节奏、脉搏状况。无非是先看外、再探内。一个健康的人应该是内外和谐的。内部气血相通、外部面色红润,再加上体型优雅,大半可以断定这是一个健康的人。

借鉴中医看人的套路来看看什么是高质量的测试。首先,从外形上看,测试命名是要表达业务含义的,测试命名推荐采用能够符合give…when…then三段式格式,另外强烈建议不要采取驼峰命名法,即便你用的Java语言。

外形还没看,再来看测试体,测试题是否三步曲齐全:

  1. Given:有没有数据准备。
  2. When:有没有目标调用。
  3. Then:有没有断言。

具备了基本形状,我们再去看看这些光鲜外表下是否“气血相同”?首先看三步曲是否迈对了:

  1. Given,是否是用户关注的场景(有没有跟测试名一致),如果不是岂不是 表里不一。
  2. When,是否正确调用,是否按要求调用,如果不是岂不是 声东击西。
  3. Then,是否是用户真正关注的结果,如果不是岂不是 挂羊头卖狗肉。

三步曲迈对了,接着可以发出灵魂的拷问:

  1. 这个测试到底测试的哪个用户需求场景?是真实的用户需求,还是我自己假想的需求。
  2. 测试用例足够覆盖全所有的用户需求场景了吗?我要不要找BA聊聊看漏了什么场景,要不要找QA问问有没有边界场景没覆盖到。

最后,整体反观所有测试。有一些通用标准。是否有大量重复代码,测试是一等公民,需要你给予足够的重视。

当然,有了上述的诊断方法,不代表你就能写出高质量的测试,要想写出高质量的测试,还需要更多的思考和练习。《有效的单元测试》能够给你不同的视角,激发你的思考。FizzBuzz、GildedRose、Tennis、Args、GuessNumber、MarsRover这些都是很好的练习素材。

另外,测试是敏捷中为数不多、价值连城的活文档,这份文档你一定要坚持写,而且还要写出高质量的内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1****、问:你在测试中发现了一个bug****,但是开发经理认为这不是一个bug****,你应该怎样解决?首先...
    一箭阅读 9,096评论 1 205
  • 银行软件测试面试问题 软件测试经典面试题 软件测试面试题汇总 测试技术面试题 1、什么是兼容性测试?兼容性测试侧重...
    天宇逍遥heart阅读 1,454评论 0 20
  • 请你闭上眼睛,找一个舒适的姿势躺着也好,坐着也好,深呼吸两三次,尽量把自己的注意力集中到呼吸上来,然后开始慢慢想象...
    阳光灿烂的心情阅读 288评论 0 0
  • 韩露 热爱生活,微笑面对 【行~实践】 一、修身: 学习:学习PMP 健身:步行超过8000步+压腿 二、齐家: ...
    Chris_han7阅读 145评论 0 0
  • 第一次看《粉红牢房效应:绑架思维、感觉和行为的9大潜在力量》这本书的分享时,觉得这本书的名字很有趣,而且当时分享的...
    5058时间酿酒阅读 161评论 2 4