前面的第一篇文章主要是讲自己干测试以来的工作心得,采取第一人称的形式让各位同学能够深有体会。但我相信,你能继续看到这篇文章是因为,你开始因为我的代入而对测试多多少少有了一些兴趣并且想了解一下。

那么,从这篇文章开始,我将持续提供技能方面的知识以及我对于测试的思考方式。

从这篇主题的牵引下,我接下来会阐述测试用例的编写以及如何发散思维、更好的契合项目进度。

相信大家从很多论坛或者讨论群里听说过杯子的传说:

如何测试一个纸杯?

你没听错,杯子的传说一直都被当做一个教材,不信你看:

功能性:用水杯装水看漏不漏;水能不能被喝到

安全性:杯子有没有毒或细菌

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

对,你没看错,这就是测试纸杯。这就是以项目的角度去看待纸杯。你可能会问我,为什么我刚收到这道测试题的时候,脑袋一片空白,最熟悉的东西反而显得越复杂。我记得我曾经被平安集团面试测试岗的时候问了一个问题,如果给我一台ATM机,你该怎么去测试?我当时的情形就跟你们差不多,一脸懵逼,我特么是搞软件的!无从下手,思考两三分钟后才有了一些头绪,我从易用性,安全性,功能性,可靠性四个方面进行单点说明,最后说出来的用例我自己都感觉没有可读性,很乱。

为什么思绪乱?

你可能会说想得太多,但不知道从哪说起,说出来就忘记了一大半;你也可能会说,这些东西太熟悉了,习以为常的事物突然去放大思考显得不严谨;你也可能会说,我真特么啥也不知道。

怎么去处理思绪乱?

我前段时间,叫一个小姐姐写了一份要足够500个测试用例,是关于美团打车的APP。可能是为了满足虚荣感,最近喜欢跟素人交流怎么上手测试,所以说了很多理论,而这位小姐姐跟我以前一样,看了理论啥的就想睡觉,就像是高中的时候语文老师噼里啪啦的讲了一大堆,最后的输出结果就是后排一片倒。所以我让这个小姐姐开始实践,然后挑选了一个很复杂的APP美团打车让她试着写一写。

开始的思路是:先列出框架,说得高大上,其实就是主要功能点,如登录、打车、我的、发票等等。

小姐姐按照这个思路写了70多个用例,给我的第一感觉就是:哇,这是拿excel统计功能点!

所以我写了一份关于美团注册的测试点给她看

这个注册功能的测试点覆盖率大概在80-90%左右。

然后我就提了一个要求,按照我这个思路去写其他功能点,写满500个测试用例。我觉得对于一个素人来说,500个测试用例是很有难度的,毕竟没有项目经验以及业务基础。令我欣慰的是,她竟然写到了530多个。

我拿到这个excel的时候,首先我看写了多少行,我之所以这样看是因为我觉得,写到了这么多说明覆盖率已经很高了。从框架到填入细节,你写得越多,说明你想得越全面,我不确定这些用例是否具有可执行性或者错误,但我确定的是,你的测试用例已经满足了我第一批需求。

所以,接下来,我又让这位小姐姐做一个任务,将500多个用例进行评定优先级,筛选并且综合目前所写的用例。我不清楚这个对于她有多大难度,但总得试一试,谁说做过项目的就一定比素人牛皮呢,我一直认为思维决定高度,而非技术。

我之所以会让她按照这三步走,主要是我的工作方式,或许称得上思维方式就是如此。先列出框架,再填充分支,最后择优方案。通俗的比喻就是,我去菜场首先会找到肉类,然后我看了看桌板上的猪牛羊鸡肉,我最终选择了我需要的猪肉。

那么你可能会问我,我没参加过什么具体的项目,以上所述和项目有关系吗?就像是说,我农村来的,你可别骗我。

项目没有你想得那么复杂,当然只是针对于测试用例来说。所以你可以得出,测试用例虽是最基本的技能,但也是最易上手项目并且最易掌握的。而项目就是遵循最优原则,避免重复性的用例以及提炼出你认为比较优先的用例。

那么问题又来了,如何提炼比较优先的用例,也就是说如何判定优先的用例?

我说一下我测试的方式,当我拿到一个功能测试,我会先参照UI设计原型,你也可以理解为前端的HTML和JS;然后我会参照需求文档,优先测试可单独测试的功能,比如查询,输入等,你也可以理解为后台的接口单元;再然后我会按照实际业务需求,来测试逻辑是否连贯,通俗点说,就是我在一个地方做了什么会影响到另一个地方吗,你也可以理解为后台的接口集成;最后我要看频繁或者恶意操作是否会造成系统故障,比如系统卡死,闪退等

所以,对于我来说,UI级测试用例是优先级较高的也是最易执行并且最易调整的,比如按钮的颜色、页面是否调用接口、输入框规格等;而接口级测试用例则要看具体情况:1.优先执行主要需求的测试用例  2.优先执行查询类测试用例  3.优先执行逻辑类的测试用例  4.优先执行跳转类测试用例  5.提示类用例可看情况选择  6.优先执行文字说明书类用例  7.违反常理类用例可看情况执行,等等。

测试工程师进阶之测试用例发散思维(一)相关推荐

  1. 测试工程师进阶,从0-1学习Cucumber之基于behave框架自动化测试教程(三)

    目录 前情提要 环境搭建前 behave 环境搭建 behave 常见用法demo demo one:如何在feature的step中传入参数 demo two:如何在feature的step中传入大 ...

  2. 测试工程师进阶,从0-1学习Cucumber之基于behave自动化测试教程(二)

    ❤ 大家好!我是虫兵   ❤- 一个"千人斩"面试官 , 也是个近10年的资深测试开发工程师, 坚持为应届毕业生提供简历指导及职业规划建议! 坚持无偿为初中级测试工程师提供问题解答 ...

  3. java自动化_作为测试工程师进阶自动化选Java还是Python?

    这是很多测试工程师从功能跨入自动化纠结的问题,今天本文带大家一探究竟. Java和Python一直都是两种很火的语言,用Python的一定觉得Python好,用Java的只觉得Java好. Java语 ...

  4. AI引领技术变革,自动化云平台所带来的测试工程师进阶危机~

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  5. 如何提高测试用例覆盖率?阿里测试工程师是这样说的

    我们将讨论测试覆盖率的相关问题,以及它如何帮助提高软件质量的. 测试覆盖率概述 测试覆盖率被定义为一种测试技术指标,它表明我们的测试用例是否真正完全覆盖了应用程序代码中的各种可能以及在运行这些测试用例 ...

  6. 安卓测试工程师必须了解

    一.作为测试者 作为测试者,我们就不仅要熟悉该平台上的应用程序,还要对相应的开发技术有所了解,我们不必要做到跟开发者一样熟悉,但是也必须对该平台上的API有所了解,一个应用程序最容易在什么地方出现问题 ...

  7. 一名优秀的测试工程师需要具备哪些技能?

    文章目录 js/css 前端技术 网络架构 网络协议 DNS解析 负载均衡策略 Linux 系统基本操作 数据库知识 js/css 前端技术 很多测试工作都由前端发起,所以了解前端技术可以让测试人员使 ...

  8. 软件测试工程师进阶之路|分析测试现状、测试知识、测试思想

    注:本文来源: 方水泉  <  软件测试工程师进阶之路|分析测试现状.测试知识.测试思想  > 目前,很多机构天天吹嘘测试多么好,工资多么高,但从我多年的从业经历来看,测试这条路的瓶颈非常 ...

  9. 测试工程师全栈技术进阶与实践读书笔记

    第一章 软件测试基础知识精要(上) 1.1 从"用户登录"测试谈起 1.1.1 功能测试用例 1.1.2 更多的测试用例 1.1.3 功能性需求与非功能性需求 对显式功能性需求的验 ...

  10. 测试工程师的职业规划和职业发展—进阶篇

    一份工作到两三年的时候,大部分人都会变成熟手,这个时候往往会陷入不断的重复,有很多人会觉得厌倦,有些人会觉得自己已经搞懂了一切,从而懒得去寻求进步了.很多时候的跳槽是因为觉得失去兴趣了,觉得自己已经完 ...

最新文章

  1. BZOJ 2132 圈地计划(最小割)【BZOJ 修复工程】
  2. Ajax实现简单用户名重名查询
  3. wp7上MD5加密类
  4. mysql 5.7 速度很快_MySQL5.7速度比MySQL5.6快3倍
  5. 程序员最担心,在乎的几个问题!论12年的职业生涯,能给我带来什么!
  6. 【Ant Design Vue】之layout布局
  7. gis里创建要素面板怎么打开_周末技术流 | 基于GIS的地形可视化分析
  8. Linux下使用脚本安装和升级pip
  9. [易语言]易语言实现简单的答题软件
  10. C#中未将对象引用设置到对象的实例
  11. 告别晦涩难懂的物理,《张朝阳的物理课》了解一下
  12. BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
  13. 从jieba分词到BERT-wwm——中文自然语言处理(NLP)基础分享系列(1)
  14. 字符串转成可计算的数学表达式
  15. 我的Go+语言初体验——在Docker建立一个可以用Go+语言开发的容器环境(以Ubuntu容器为例)
  16. SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛-白色相簿
  17. 移动安全事件总结情况说明
  18. my ReadHumor work / youmo
  19. oracle 临时表空间使用率
  20. augustus 软件安装与Docker使用记录

热门文章

  1. php验证是否是jwt,php实现JWT认证的方法 JWT验证使用流程
  2. java打地鼠小游戏
  3. 我的世界服务器皮肤修改,万用皮肤补丁CustomSkinLoader
  4. 通用css样式模板,
  5. 代码实现Thompson构造:由简单到复杂的构建NFA状态机
  6. 解决mac备忘录会自动将英文双引号转化为中文双引号
  7. 计算机应用技术毕业后的简历,计算机应用技术毕业生个人简历模板
  8. 如何应对“创可贴”式员工
  9. 谷粒学苑上传视频踩坑
  10. SQLSERVER2012备份日志报错:”读取失败: 23(数据错误(循环冗余检查)。)”