当前位置: 首页 > news >正文

为什么做测试既要懂开发又要懂产品?这3点看完,你就懂了!

本篇讨论的是什么呢?何谓一个真正的测试?

纯粹是个人的理解,仅供参考。

● 论一个真正的软件测试工程师

● 自动化在项目中的应用

● 性能专项在项目中的应用

半个产品、半个开发

有人觉得这个标题有点讽刺,真正的测试?难道我们不是真正的测试,平常做的都不是测试的工作吗?其实不肯定也不否定,但这是一个包含关系,如果只是评审+用例编写执行,那么确实不是一个真正的测试。

半个产品,主要体现在理解这个需求为什么要做?其核心价值在哪里?吸引用户的特点是什么?

意味着在评审阶段,你除了帮助完善功能需求外,更重要的是理解这个需求对于用户有什么价值。你是用户你会怎么想有什么感受,不能简单的走完流程就可以了。

比如一个播放视频类应用, 多样性、 流畅度 、简易性 、快速性等,这是在评审之后可以总结出来的。

那么抱着这个价值点,围绕这我们的整个测试流程,往往能够发现不一样的地方。

如还是播放类应用,在了解个特性后,在测试过程中会需要更加留意播放方面的性能,以及兼容性。在设计测试方案的时候就会标明这几个测试重点,以便自己或者组员能够在测试过程中多加留意这部分的测试点。

然后在设计测试用例的时候会提高优先级和覆盖率。可以发现,测试有了测重点。

半个开发,其实个人认为这是偏向于灰盒测试了。体现在一个需求,你除了要明确这个需求的业务逻辑,其代码逻辑(数据流逻辑)也是需要知道的。

从后台获取的json数据结构到客户端展示再到存储至本地数据,这一个流向,都是需要去了解并测试的(这部分参照之前写的测试分析文章)。

所以测试验证的不仅仅是功能层面的东西,还是内部的具体实现(当然,具体到类方法的测试那是测试开发的职能,不关咱测试的事)。

我们要保证的,就是这一阶段数据的正确性和容错性。

这样做的好处是,能从内部发现缺陷,在出现问题的时候可以大概定位到问题出在哪,在出问题面对boss的质疑能够把责任丢给开发,哦不,是更好的解决问题。

那么半个开发还体现在对工具效率的提升上,能够通过小脚本,小框架去提升测试效率,这要求对于基本的语言要求是必须的,大公司面试的某一轮考验的就是你的代码能力,所以测试还是半个开发这一点是毋庸置疑滴。

职能范围

● 评审

● 测试方案的确立

● 用例的编写维护

● 技术点的分享

● BUG提交和总结

● 输出测试报告

● 集成测试

● 发布版本

● 论坛/其他渠道收集反馈

● 服务器性能测试

● APP性能测试

● 网页前端性能

● 编写自动化脚本

日常的工作流程

其实就现在而言,目前的工作流程是这样的(当然是以一个版本迭代为周期):

评审新需求,记录关键点–>编写测试点(用例)–>测试之前向开发了解部分实现–>执行测试(翻阅代码,查看主逻辑走向<可选>)–>提交BUG–>回归BUG(查看BUG代码改动)–>新需求的性能评估(可选)–>发布前的系统测试(结合自动化)–>发布–>自动化用例的补充(可选)–>业务逻辑总结归总–>休息

那么基本流程就是这样了,可以看到一个项目组的正真的测试人员,是要完成这么多工作的,所以这也是用来区分手工的外包人员和正式员工的区别,外包怎么样,大家都知道。

补充:

窃取某个大神的关于时间安排

时间 工作内容

30% 评审用例维护等准备以及后期工作

20% 执行测试用例,BUG回归

50% 自动化 &新技术学习,引入 !

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.cnnetsun.cn/news/66479.html

相关文章:

  • 行为驱动开发(BDD)在软件测试中的实践流程
  • Trae的使用
  • easy_nbt(Bugku杂项入门)
  • Hyperworks MotionView软件下的发动机激励噪声仿真:识别车内噪声的技术路线揭秘
  • 三层电梯控制系统是PLC入门经典项目。今天拆解一套基于FX3U PLC和GS2107触摸屏的方案,重点聊聊那些容易掉坑的细节
  • 零基础入门:Flutter + 开源鸿蒙打造可视化儿童编程工具
  • 归并排序算法实现,kotlin,c++,python
  • 京东商品列表API,Python请求示例
  • Hadess基础到实践,如何详细管理Npm制品
  • Java 开发问题:类名与注解名冲突问题
  • 如何衡量推广效果(如投产比、转化率)?一位餐饮老板的实战自白
  • 程序员必看!万字长文详解大模型“深度研究“新范式,小白也能入门AI智能体开发!
  • 大模型安全威胁全解析,Agent架构设计避坑指南,小白必看
  • SMDJ45A单向 TVS瞬态抑制二极管 :3000W浪涌保护管 防雷击抗静电
  • Foundation 文本
  • Sui 主网升级至 V1.61.2
  • 25、Kubernetes 应用部署与管理实践
  • 31、容器化应用设计理念与实践
  • 如何评估LobeChat的加载速度与响应延迟?性能基准测试
  • 缓存与数据库一致性解决方案深度解析
  • 消息队列真仙:我的道念支持最终一致性
  • Spring Boot项目推送Gitee全流程(进阶)
  • Java毕设项目:基于Springboot大学校园自习室教室座位预约网站设计与实现基于springboot高校自习室预约系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • JAVA打造同城羽馆预约,一键畅享运动
  • 经验贴 | 科学制定招聘需求与预算:HR 必看的逻辑与实操要点
  • 经验贴 | AI 面试评估系统怎么用?HR 高效识人实操指南
  • 构建个性化AI助手:LobeChat会话管理功能深度使用技巧
  • 基于昇腾NPU的YOLOV8-seg c++部署
  • 26、深入探索脚本编程与系统安全基础
  • XSS漏洞有哪几种?DOM型XSS和反射型有什么区别?SQL注入原理又是什么?网安面试题常见问题一文详解