写在前面
本科毕业之后在外企待了不到一年时间,实在是太闲了就决定要去大厂看下。整个社招面试持续了三波。由于我下一站毫无商量余地的选择北京,从第一次裸面,到痛定思痛准备之后的第二波,再到坚定不移的第三波,自己简直身心俱疲。不过真的是感觉收获满满,无论是测试相关的测试方法和测试理论,还是认识测试开发的能力要求,都有了一定的积累和努力方向。希望借自己的真实面试经历,能够跟大家产生思维的碰撞。
这篇日志大概有以下内容:
总结互联网测试/测试开发常见面试内容
对测试/测试开发的理解
未来的学习规划
对有志于从事软件测试行业的同学的指导
互联网行业对测试岗位的需求
首先介绍下我之前任职的公司:某知名外企(貌似在国外知名度高一些),行业为传统BI,客户主要为美国大型银行、投资机构、大型制药公司以及上市集团等,主要产品为BI报表,仪表盘等。
在某乎上关于互联网行业与传统软件行业有什么不同?有这样一条回答,“互联网行业属于【服务业】,而传统的软件开发行业属于【制造业】”,虽然有点以偏概全的嫌疑,但是基本说出了互联网行业与传统行业的根本区别:服务的对象不同。互联网行业服务的对象是普通的用户,有着成千上万不同特征的用户画像;传统软件行业的服务对象是特定行业的从业者,有着严格的约束,比如Product Manual(用户手册)。
在笔者看来,落地于软件测试,互联网与传统软件行业的区别主要如下:
更加关注用户体验
产品迭代快,需求变更快,测试周期短
信息安全敏感度高,安全测试要求高
用户量级大,更产品的性能测试、并发测试等
用户场景更多,更复杂,对兼容性测试、适配测试要求更高
……(欢迎补充)
正因为这些需求,相比于传统行业,互联网行业对软件测试从业者的要求更高。特别是TDD(Test Drive Development 测试驱动开发)、BDD(Behavior Drive Development 行为驱动开发)、DDD(Domain Drive Design 领域驱动开发)以及敏捷的理念逐渐被提出来并在国内深入实践,测试的重要性逐渐提高。在这里特别更正一些同学对测试工程师的误解:随着技术的不断更新,敏捷框架的流行,测试工程师逐渐被淘汰甚至消失。真的是这样吗?这种观点当然是错误的!而是恰恰相反,测