前言
从 2008 年以一名初级软件测试工程师的身份进入职场,到现在已经整整十年了。一直想着在这个特殊的时间节点写一篇总结,却不想一下拖到了 2019 年,干脆和 2018 年总结一起写吧。
几个节点
十年来陆续服务过四家公司,刚好和一些人生重要的里程碑重合:
- 2012: 离开工作三年多的第一家公司,寻找更丰富的生活; 同年和当时的女友(现在的老婆)确定关系。
- 2013: 告别一年的驻场银行外包工作; 同年买房、登记结婚。
- 2015: 告别为期三年的外包工作,回归产品研发团队; 同年成为兼职奶爸。
- 2018: 工作十周年; 成为二胎奶爸。
第一份工作: 2008-2012,从初入职场到遇到瓶颈
遥远的 2008 年发生了挺多大事:
也就在这一年夏天,我直接从毕业生成为失业人。
失业有各种原因:外部经济形势很差; 自己在考研和找工作之间摇摆不定,在确认考研开始找工作时,已经错过了前期的一些好机会。
终于在兜兜转转之际,十月底在一家做欧美项目管理产品的小公司入职初级测试。
期间的成长:
- 从菜鸟上手测试:因为之前完全没接触过软件测试,所以基本上是从零开始:业务学习、如何划分测试点、写测试用例、测试执行、提 bug 等等。
- 被迫独当一面:由于公司运营情况不佳,测试团队在不到一年时间从十几人降到了包括我在内的 2 人,于是被迫独当一面去负责项目:参加需求评审、时间管理、进度管理、bug 汇总等。相关的能力也得到了迅速的锻炼和提升。
- 培训、管理能力:后来另一位测试人员里离职后,招了四个应届生由我进行培训,并在实际项目工作中进行管理。 学习了一些基本的管理能力和培训方式。
- 自动化测试实践:由部门主管带领使用 visual studio 的 code ui test 组件进行 UI 自动化实践,学习了用例拆分、用例维度划分等相关知识。
- 接触安全性测试:由于业务需求,研究和实施了一些基础的安全性测试。
遇到瓶颈:
- 收入跟不上成长速度: 公司花了很长时间摆脱运营困境,薪资福利竞争力显得不足。
- 成长瓶颈:找不到进一步发展的方向,急切要看看外面的世界。
第二份工作: 2012-2013, 短暂的驻场外包
回过头看,当时的选择过于草率,仅仅因为相比前一份工作提高一点的收入,入职了一家外包公司,并驻场到某银行负责中间业务平台的相关测试。
期间的成长:
- 在不同的项目间来回切换,丰富了自己金融行业相关的业务和测试知识。
- 银行内的测试流程较为规范,准入、准出、测试用例管理等步骤执行很严格。
遇到的瓶颈和不适应:
- 驻场外包过于死板和严格:请个假都得看各种脸色;空闲期无所事事混到下班时间还不能按时走。
- 过于复杂的办公室政治:甲方和乙方的各种博弈,不同外包公司之间的竞争等。 心累。
- 效率低下: 每次部署环境都得打多次电话求环境组配合,一等就是等半天;各种配合也是能拖就拖。
- 看不到发展方向: 无法上外网,无法使用相关测试工具,单纯的业务测试螺丝钉。
第三份工作: 2013-2015, 开源技术
这是一家以开源技术作为主导的技术外包公司。虽然还是外包,但自由度提高很多。
期间的成长:
- 先后负责 web 、移动、H5 等各种不同类型的项目,扩展了相关测试知识。
- 为解决问题为目的主导工具使用和技能学习。如 selenium、soapui、jmeter、sqlmap 等。
- 不定期组织部门的技术学习和项目分享。
第四份工作: 2015-现在, 回归产品研发团队,搭建质量管理体系
团队研发的是一个平台型项目,并且在公司内外进行对接使用。
期间的成长:
- 从零开始搭建质量管理体系。 将测试质量体系从无到有建立起来,将很多自己的想法付诸实践,也遇到很多不一样的挑战。
- 组建测试团队。管理工作的比例加重。
- 引入相关的测试工具和测试手段。 在产品研发的不同阶段,分别引入 selenium、appium、jmeter、locust、云测平台等不同的测试工具和测试手段。
- 开发搭建 UI 测试自动化平台和接口测试自动化框架。
- 以技术推动测试,更多地使用代码和脚本替代纯手工测试执行,丰富测试的深度和广度。
- 其他杂七杂八的杂活,如 CP 对接支持,团队对外的沟通,产品文档管理等。
十年里的得与失
1. 一些收获
- 快速的学习能力。 来来回回做过很多不同类型的项目,也使用过各种不同的测试工具,对于我来说最大的收获就是如何快速学习。例如临时性地去负责某个短期项目(短至 1-2 个月,甚至 1-2 周)时,如何寻找到最佳的学习资源(需求文档、设计文档、咨询开发人员等)、如何快速协调解决重要问题(例如环境资源、工具使用资源)、如何独立寻找解决方案(如不同测试工具的使用等)。
- 需求分析能力和敏感度。 如何分辨合理需求和不合理需求,如何在简要需求中挖掘出潜在的需求,如何提前分析出需求潜在的坑。
- 合理使用工具。 合理地在不同的场景,使用合适的工具解决相关问题。 如同样是性能测试,对于某些严肃的场合,就不能使用破解版的 loadrunner 来做,可以选取 jmeter 或者 soapui 等开源工具来代替。
- 具备一定的填坑能力和技巧。 紧急的项目往往避免不了坑的存在,这时就需要有一定的填坑能力和沟通能力。如协助开发人员快速定位、修复问题;与客户沟通解决方案和处理手段,等等。
2. 一些感悟
- 坚持是一种美德。 第一份工作时同一天入职的有另外一位小伙伴。当时一起在城中村租房子(不同楼层),一起挤公交,一同熬加班。后来小伙伴熬不下去了,我坚持了下去。一年后偶遇这位小伙伴,闲聊几句,仍然在熬夜看动漫,找不同的工作,而我则庆幸自己坚持到了成长。
- 道不同不相为谋。 在外包公司工作期间,有遇到不少同事,每天热衷于八卦哪家公司薪水多少,谁谁跳槽去了某公司又加了多少,而自己手头的工作则不那么热心。对应这些小伙伴,只能心里默默警醒自己:做好自己,不忘初心。
2018 的成长
具体到 2018 年,总结一下做了以下这些工作:
展望 2019
前两天和领导进行年终总结面谈,对于新的一年,有以下的展望:
- 自动化的进一步完善和提升。 由于部门工作量的增加,领导对于自动化的期望也有所增加,希望在现在的基础上继续提升。 至于如何提升(覆盖率? 执行效率?稳定性? ),还在思考中。
- 协助开发人员完善单元测试体系。
- 手上的杂事太多,需要进一步整理和规范。
- 推动相关工作的进行,通过提升他人的工作效率,达到提升自我工作效率的目的。