大学毕业那会,正是全球经济危机,工作特别不好找,偶然的机会进入了软件测试行业。

头两年主要在小公司做软件测试,软件测试是主流之外的领域,测试人员不受重视、加班加点,测试也主要以手工为主,这应该是当时业界的主要氛围。有些善于编程的人也相继转做开发,因为做开发影响力更大。我当时也一度考虑转开发岗位,后来想一想测试行业还处于初级阶段,一定会被越来越重视,有幸进入了支付宝,成为一名测试开发工程师。

在支付宝工作的几年中,经历了大大小小的项目,无论是质量、性能、安全、稳定等都要求极高。多年的工作实战中,总结了一些个人感悟和大家分享:

1、当一个产品在概念上还没有成型的时候,不要过度的去考虑质量(因为如果测试方法不当,却会扼杀一个有可能成功的产品,至少会拖慢这个产品的速度),而是要以最快的速度投入市场验证,通过不断的迭代完善需求。注意这里是“不要过度”,而不是“不考虑”。初期要找到质量和快速发布的一个平衡点。风险总是相对的,如果产品太长时间没有测试投入,代码的质量会越来越差,后期也很难去改进,基本都会进行重构,这样的质量债会拖慢产品的发布。

2、质量不是测试出来的,如果产品最开始设计的时候就是错的,那这个产品无论如何测试也不会变的正确,除非推翻重来。虽然质量不是被测出来的,但是未经测试也不可能开发出有质量的产品。质量不等于测试,质量是把开发和测试放到一起,放在搅拌机里搅拌,直到不能区分彼此的时候,你就得到了质量。

如果开发是开发,测试是测试,永远得不到质量。

3、一个团队如果想能编写出高质量的产品,唯一途径是全体成员共同对质量负责,包括产品经理、开发人员、测试人员等。我认为,达到此目标的最好方式是把测试当做产品的另一种功能,测试功能的地位应该与真实客户看到的其他功能同等重要。

4、测试团队一定要提高对人员招聘要求,即懂得开发人员的技能又懂得测试人员的思维。同时推进开发人员负责测试,开发人员负责质量,测试团队负责帮助开发团队搞定这两项任务。质量从来就不仅仅是一些测试人员的问题,每个写代码的开发者就是测试者,质量由开发测试组合共同承担。如果你的职位上有测试的字样,你的任务就是使那些职位上没有测试的人可以更好的去做测试。

随着团队不断壮大,你会发现测试仅仅是工作的一部分,我们还会负责测试框架,缺陷工具等的开发工作,我们所做的非测试的工作对生产力的提升产生了巨大的影响力。

5、不同工程师的角色定位

测试工程师:把用户放在第一位思考,代表用户利益。组织整体质量实践,构建端到端的自动化测试。

测试开发工程师:工作重心在可测试性和通用测试框架的开发上,也会编写单元或者集成自动化测试。

软件开发工程师:关注客户使用功能的开发实现上。

6、对于所有类型的测试,能够自动化,并不需要人脑的睿智与直觉来判断(比如界面是否漂亮),那就应该实现自动化。自动化的粒度要细,可以根据实际情况分层实现:单元测试、集成测试、端到端测试。

我心中的测试乌托邦

一个完美的研发过程是在怎样进行的呢?

测试先行,在开始写代码之前,一个开发人员就要去思考如何测试即将编写的代码,这些测试代码会作为产品代码的一部分与功能代码放在一起,最适合且最有资格去做的就是编写代码的开发人员。在编写测试代码的过程中需要依赖外部基础设施服务,比如一个测试用例需要从远程数据源读数据,此时需要mock数据,在理想的情况下,这些服务都已经开发好,开发人员随时可以使用。

但是对于人的思维方式而言,在编写功能代码的时候与编写测试代码迥然不同,功能代码思维模式是创建,重点考虑用户、使用场景、数据流上;测试代码主要思路是破坏。理想情况下,需要雇佣不同的角色,一个写功能代码,一个写测试代码。产品的每个功能对应一个开发人员,整个产品配备一定数量的测试开发人员,测试开发人员开发测试工具与框架帮助功能开发人员解决单元测试问题,同时也编写一定的单元和集成测试代码。

除了上述的开发,测试开发人员,还需要第三种角色,真正关心用户的角色——测试员,把用户放在第一位思考,代表用户利益,组织整体质量实践,构建端到端的自动化测试。三种角色分工合作,达到完美,相互之间也可以平等合作。

另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取免费软件测试资料以及群内测试大牛解惑!

测试工程师职业发展路线图

功能测试 — 接口测试 — 自动化测试 — 测试开发 — 测试架构师

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。

资源不错就给个推荐吧~

一支付宝测试大佬心中的完美测试相关推荐

  1. 型人格 disc测试_1号,完美型人格如何选择专业和职业@九型人格测试

    完美型人格,在九型人格测试中,也叫1号人格.完美型人格,对他人要求的同时,对自己的要求也同样严格.在这些人眼中人,所有事情都要做到极致,不能有任何懈怠,否则就是一种浪费.完美型人格,总体来说是内向地, ...

  2. 阿里10年测试大佬带你搞懂测试左移和右移

    看到我们论坛一个测试开发知识体系,对于测试左移和右移, 有点不太懂,看了2篇文章,强行提笔总结了下,还有部分内容是直接翻译的.关于测试左移和右移.测试左移中提到了尽早的发现问题.以及持续集成.尽可能的 ...

  3. 完美测试-软件测试系列最佳实践[电子工业出版社].pdf

    每个人都怀有梦想或理想,测试人员也不例外,希望将自己的工作做得比较完美.本书力求通过一些典型案例告诉大家什么是完美测试,又如何做到完美测试.在给出的例子中,不仅包括功能测试.功能的异常测试.不同平台的 ...

  4. 测试大佬带你揭秘功能测试的内幕

    目录 前言 利益相关者 过渡到QAOps 倾听用户反馈 了解用户故事 探索新测试工具 代码审查 用户体验 严守Deadlines 解决BUG 学习数据科学 积极竞争 总结 重点:配套学习资料和视频教学 ...

  5. 测试点击屏幕次数的软件_测试大佬分享:WEB和APP测试小结

    WEB测试重点 1.功能测试: 所实现的功能是否和需求一致: 2.界面测试: 界面是否美观,风格是否一致,文字内容是否正确: 3.链接测试: 打开链接速度是否合理:是否链接到正确的页面:是否有空白页面 ...

  6. 一个老测试给想入行测试行业新人的二十条建议

    软件测试不是点点点,还有性能测试,自动化测试,安全测试,甚至于AI测试,大数据测试等等,软件测试的前景还是非常好的. 软件测试相对门槛比较低,前期比较容易入门,哪怕不是计算机专业的小白,也能轻松掌握, ...

  7. 安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你

    目录 一.安卓系统知识概述 1.1 安卓系统架构 1.2 安卓权限系统 1.3 认识adb与安卓间的通信 二.安卓APP测试流程图 三.安卓App测试点 3.1 UI测试 3.2 兼容性测试 3.3 ...

  8. APP测试 你所不知道的app测试重点 难点

    APP测试 1 什么是APP测试? App测试就是软件工程师对这类应用软件进行功能测试,性能测试,安全性测试以及兼容性测试等. 对于app测试我们一般采用的是黑盒测试方法,也会在必要的时候进行自动化测 ...

  9. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等

    软件测试进阶 1.APP 的测试 2. 按照测试对象划分 2.1界面测试(UI测试) 3.响应式页面 4.可靠性测试 5.容错性测试 6.文档测试 7.平台测试: 7.1 PC: 7.2.手机端: 8 ...

最新文章

  1. Print all attributes and values in a Javascript Object
  2. python关联分析代码_1行代码实现关联分析(Apriori)算法
  3. ESC/P打印:程序控制打印机自动进退纸
  4. java shiro 访问频率_java shiro配置记住密码功能 RememberMe
  5. Eclipse搭建SpringCloud+SSM+Maven项目
  6. 手挽手带你学React:三档 React-router4.x的使用
  7. 靠谱推荐 | 我读完了所有数据产品经理的书?!
  8. Java NIO、NIO.2学习笔记
  9. WebApi和MVC的区别
  10. 现代人的压力和焦虑_设计师如何建立减少焦虑和压力的体验
  11. cmd52命令发送 mmc_乾坤合一~Linux SD/MMC/SDIO驱动分析(上)
  12. Feature Layer with selection(ArcGIS JS Api 图上点选)
  13. 用ExpandableListView实现好友分组
  14. [转载·运维案例一]nginx日志切割及7天前的历史日志删除脚本
  15. 微信小程序踩坑(1):wx.showModal模态对话框中content换行
  16. android 签名工具 autoSign jarsigner
  17. GTK-sopcast 0.2.8
  18. AE-after Effects 笔记
  19. 浅析微信支付:公众平台卡券功能开通、HTML5线上发券(JS-SDK接口)、查看卡券详情
  20. 前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!

热门文章

  1. php es 短语精确搜索,ES中文分词器之精确短语匹配(解决了match_phrase匹配不全的问题)...
  2. 各种机器学习算法比较
  3. 乐高机器人纲要_江苏STEM课程纲要发布 中小学幼儿园普遍开课
  4. Tokenizer 的用法
  5. 几度夕阳红等歌词之股市篇
  6. MySQL 如何存储大数据
  7. PowerDesigner-反向工程
  8. 目前刷脸支付市场还处在高速成长期
  9. for each 的用法
  10. 记录下linux系统tar命令解压文件时碰到的问题