前两篇博客主要分别讲了自身对于测试工作的心得分享、如何快速编写出覆盖率高得测试用例以及如何按照项目进度进行执行测试用例。如需回忆可直接点击下方链接查看我前两篇文章。

个人注册CSDN后第一篇分享关于测试工程师工作心得的文章
https://blog.csdn.net/weixin_43034017/article/details/86013289
测试工程师进阶之测试用例发散思维(一)
https://blog.csdn.net/weixin_43034017/article/details/86064734

接下来我会更多的从发散思维上对测试用例进行阐述:测试用例能做到什么样子?测试用例还是你想象中的那样简单?测试用例还只是停留在页面吗?不过在阐述发散思维之前,我想理清一下测试工程师的定位。

当然我不会随便Copy一下官方对于测试工程师的解释。我是按照我的体会去思考测试工程师它到底是个啥。

在目前的现状来看,对于开发而言,测试就是: 我写完了代码提测,测试提交bug,bug修完测试回归;对于产品而言,测试就是:我的需求和你讲明白,你按照我的需求规格进行测试,赶在需求交付日完成测试进行发版;对于项目经理而言,测试就是:管控好需求进度,交付需求,产品质量责任人。所以简而言之,就是产品给需求,开发收bug,项目经理要进度。

当然这只是目前的现状大多数是这个样,为什么这样?是因为敏捷开发。敏捷开发这词不懂得可自行百度。其实在我心目中,测试是一个很严谨的工作,你得把自己当做项目经理去管控好每一条线:测试首先就要参与需求评审,三方意见达成一致后便开始着手测试计划,提前写好测试用例形成文档给到开发提供参考,然后后台开发定义接口后形成接口文档给到测试,接口集成测试完成后反馈给开发,提交前端开发联调后进行客户端测试,发现bug即时反馈开发以及未达需求即时通知产品,规定bug优先级并且计划bug排期,回归测试,邮件申请,申请通过后通知运维发版,发版测试。当然现实很骨感,不同的企业文化,不同的项目开发形式,不同的发展目标,很影响测试的具体工作开展,但我相信在以后的健全管理下,测试的担子将会越来越重,责任范围越来越广。

前面提到的测试流程,所以你如果想做好测试,你需要考虑到开发、产品甚至项目经理怎么看待你这份测试用例,即便开发不看,但你得保持严谨的态度,写这份测试用例不仅仅是给别人看的,而是一份给自己的文档记录。所以写一篇测试用例能尽量用到专业词汇、接口相关、数据库相关、UI相关等,不仅别人对你刮目相看且产生信任,自己每次的思考也能全范畴展开,因为这时候你已经站在项目经理的角度去写测试用例。当然这只是一个夸张比喻,哪有项目经理去写测试用例,哈哈哈。

那么说了这么多,发散思维如何展开便跟你现有知识水平相关。下面我将举一个例子:
​​​​
很明显,这是在我写第一篇测试用例时用到的例子。相信你也能看出,上面的测试虽然包含UI、测试步骤,但仍然停留在页面上的测试。

如果你具有数据库方面的知识,你是否可以添加到你的用例?比如:
假设数据表user的字段password对应密码,mobile_phone对应手机号,渠道value值0代表微信,1代表QQ
数据表valid的字段valid_code对应验证码

测试点 测试描述
数据库user表 选择一条已有的数据,输入其中的mobile_phone,页面是否提示已注册
输入一条未对应mobile_phone的手机号,点击验证码是否成功发送
验证码是否保存在valid表,且手机显示的验证码与valid_code值一致
输入与valid_code不一样的验证码,页面是否提示验证码错误
在未接收到验证码之前输入valid_code,页面是否注册成功
选择输入密码方式,输入手机号对应的password,是否登录成功
选择输入密码方式,输入与手机号对应password不一样的值,是否登录成功
选择微信登录,value字段对应的值是否为0
选择QQ登录,value字段对应的值是否为1

你会发现还有一些可以扩展开来的与数据库相关的测试用例。

如果你具有接口方面的知识,你是否可以添加到你的用例?比如:
假设有一个user/sign的接口,参数有name,password,返回参数有valid_code,succeed,error_desc

测试点 测试描述
user/sign接口 当你随便输入一个手机号,name值是否与你的手机号一致
输入一个数据库未有的手机号,点击获取短信验证码,succeed是否为1
输入一个数据库未有的手机号,点击获取短信验证码,valid_code值是否与你手机接收的验证码一致
输入数据库已有的手机号,点击获取验证码,succeed是否为0
输入数据库已有的手机号,点击获取验证码,error_desc是否描述“该手机号已被注册”
选择输入密码方式,输入手机号以及密码,password是否显示明文且一致
选择输入密码方式,输入手机号以及密码,succeed是否为1
选择输入密码方式,输入手机号以及错误密码,succeed是否为0且error_code是否描述“密码输入错误”

上述与接口相关的用例依然可以扩展开来。

如果你具有性能方面的知识,你是否可以添加到你的用例?比如:
假设并发数为100用户,1s内并发,average为平均相应时间,error为错误率

测试点 测试描述
登录性能测试 当100个用户同时请求登录时,average值是否小于1s
当100个用户同时请求登录时,error值是否小于5%
如果提高到200用户,average是否变化比较大以及error值提高
如果提高到500用户,average是否变化比较大以及error值提高
如果60s内并发100用户,average值是否小于200ms,error为0
如果60s内并发200用户,average值是否小于200ms,error为0
如果60s内并发500用户,average值是否小于200ms,error为0

上述与性能相关的用例依然可以扩展开来。

当然发散这些测试用例不是为了好玩,也不是做做样子,你也可以不需要花费额外的时间去做。但当你这么做的时候,你感觉你的思路不仅仅停留在产品功能以及UI上了。开发关注接口以及数据库,项目经理关注性能优化,而你的测试用例直接来说,可以应付所有项目组的刚需。

当然测试用例也可以包含接口自动化测试、UI自动化测试等等。这在我后面会提到,如何将你做出来的自动化体现到测试用例当中。

总之,测试用例的发散思维依然是按照框架-细节-分层来做的,这在我第一篇测试用例已经提到。而上述我加上去的接口以及数据库用例无非就是将一个功能点扩散到底层。

[1]: 个人注册CSDN后第一篇分享关于测试工程师工作心得的文章 https://blog.csdn.net/weixin_43034017/article/details/86013289
[2]: 测试工程师进阶之测试用例发散思维(一)
https://blog.csdn.net/weixin_43034017/article/details/86064734

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

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

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

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

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

  3. 工程师进阶之路(二)

    转载自 量子恒道官方博客  地址:http://blog.linezing.com 工程师进阶之路 二 谈谈沟通能力--沟通的准则 如果一名工程师要成长为资深专家或者是架构师或者是技术管理者,沟通是必 ...

  4. oppo--软件测试工程师岗位面试总结(二)

    流程上是三轮面试,两轮的技术综合面试+HR面试,先面前两轮,前两轮过了,再联系面试者HR面试,博主面试岗位是测试岗,两轮面试在1个半小时左右. 坐船颠簸来回2个小时,脑壳有点不清醒,以下的面试问题仅是 ...

  5. 机器人建模中移动关节如何建立坐标系_机器人工程师进阶之路(二)6轴机械臂D-H法建模...

    本文作者为我司颜值担当 精神小伙 @梁政,经授权转载,原文发布于其专栏<机器人进阶之路>,欢迎大家支持交流. T矩阵中一共有12个有效参数,然而我们只需要6个量来获取位姿,感觉很不划算,而 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. MATLAB 利用plot 画图,加标题,保存图片
  2. python中零碎的一点东西
  3. 网规:第4章 网络安全-4.5IDS和IPS
  4. 一个检查SPN的小工具
  5. 【转】%~dp0是什么意思
  6. mysql win10 无法配置文件_MySQL设置文件无法更改的处理方案详细说明(Win10)
  7. PostgreSql之在group by查询下拼接列字符串
  8. 微软推出 Power Platform 漏洞奖励计划
  9. 服务器64位还是32位系统好,云服务器64位还是32位
  10. 反转单链表的几种方法
  11. java boolean byte_java基础boolean类型所占字节问题
  12. Python中简单的编程
  13. IPv6笔记-地址结构与分类
  14. lsb信息隐藏算法matlab,利用LSB算法隐藏文字信息的MATLAB实现
  15. vba 添加outlook 签名_如何在Outlook中添加默认签名
  16. 解决TypeError: Converting circular structure to JSON
  17. 解决了.Net 2003“试图调试项目时发生错误”的问题
  18. Response学习
  19. xilinx linux内核,Xilinx-Zynq Linux内核源码编译过程
  20. C#中的递归APS和CPS模式详解(转载)

热门文章

  1. windows7 下安装 kali Linux 双系统
  2. 皮肤水分检测原理及测量电路分析
  3. 杨慎的词------临江仙·滚滚长江东逝水
  4. 深入理解Redis跳跃表的基本实现和特性
  5. 火狐浏览器Firebug控制台显示本页面不包含 javascript的解决方案 debugger 无效解决方案
  6. 计算机键盘锁不了怎么办,电脑键盘不能打字_电脑键盘锁住不能打字
  7. 商城超卖问题的几种解决方案
  8. python泰坦尼克号生存预测论文_Kaggle 泰坦尼克号生存预测--8%(Python)
  9. Linux通过LVM新增一个物理卷(硬盘),实现多个硬盘合并到一个逻辑硬盘
  10. 邮件合并:将多条记录合并到一页