1. 开发知识
关键点 | 要求 |
技术架构 | 对负责系统的整体架构理解:上下游系统交互,优点缺点 目前架构中存在的问题 和开发人员一起确认架构的优化方案 |
技术方案/产品思维 | 技术方案: 对负责业务的具体的实现的理解 目前实现的问题,可能存在的问题 和开发人员讨论问题原因,提供优化建议 产品思维: 现有的功能以后可能扩充吗,考虑以后的扩展设计; 现有的选项是固定的吗,以后如果增加的话,需要修改代码吗(最好现在做兼容) 对于可能变动的配置, 做成可配置的选项 是否有使用定时任务,可以代替手工的功能 】产品功能的依据 功能的提出需要有【预期目标】,有具体数据说话 实现中怎么做监控,统计,计算预期目标 】产品思维 同类的产品怎么做的,优中取优; 核心页面-严禁罗列所有的功能(所有人的需求都放到页面上,最终导致功能的不可用) 个性化定制--是否要定制的功能,每个用户的差异性很大,如何评估,数据说话 |
提供工作效率 | 接口自动化工作:提供多少效率,发现多少问题 WEB自动化工作;提供多少效率,发现多少问题 针对项目开发的测试工具 |
通用型工具开发 | 解决一类问题的通用工具、可扩展性极高的工具: |
计算机通用知识 | 掌握和使用C++,java等语言,框架的能力 脚本语言,如she'll, pathon等等 网络知识:tcp/IP, http ,协议,抓包等等 编程能力: java, C++ , tomcat, jetty,spring,Thrift,websocket等等 高级深入理解与项目测试: cookie /session ,JVM , 多线程 数据库: PG,mysql 缓存:redis,memcached (最好能结合项目测试经验) 加分项: 设计模式, 算法 |
2. 项目把控
关键点 | 要求 |
项目理解 | 负责项目的整体架构 上下游系统的业务交互 项目的业务理解及未来展望 和产品,开发一起提供优化方案 |
项目流程 | 需求到上线整个流程把控 对需求,技术方案的评估 ,提供优化建议 测试环境搭建,优化 、 测试数据的准备 测试用例设计,覆盖 & 上线风险评估 项目质量的把控,对故障的处理 |
用例覆盖度 | 用例考虑: 功能 兼容性 性能:压力,内存 可能影响到的第三方系统/业务(比如增加一个接口,要考虑哪些) 安全性 功能升级(数据的兼容性处理,对下游系统的影响) 异常情况考虑 设计用例时:对代码,数据库层面的考虑深入程度 |
处理临时问题 | 临时介入一个新项目; 突发问题; 多项目并发处理 |
看代码能力 | 从代码角度 理解业务和整体架构 |
监控 | 对业务监控,技术监控的理解 业务监控:对每次发布后的效果评估结果和手段 技术监控: 通过监控提供项目优化建议 API层监控 && web层监控 |
3. 测试规范
关键点 | 要求 |
测试基础理论 | 了解常见软件开发模型,如瀑布、Scrum、看板等,知道其区别,优缺点 测试方法理解: 静态代码检查、功能测试、易用性测试等方法 |
测试规范制定 测试流程优化 | 目标:更好控制项目质量 1) 分支管理(专用测试分支+分支review)
2) 定期质量分析。典型bug分析 + 避免方法。
3) 自测检查点
4) 推上线流程
5) 测试分支,部署持续集成
6) 监控检测上线后的质量
|
测试分层 | 多个团队合作时,制定各个团队的测试方案 平台建设: 为各个团队设计公用的平台,工具(如sonar检查,机器通用申请,服务部署) 给测试中的瓶颈,困难点提供方案或建议 根据项目架构特点,选择适合的测试方案:http://blog.csdn.net/huazhongkejidaxuezpp/article/details/60463006 |
4. 专项测试及工具设计
专项测试,如;兼容性测试、配置测试、安装测试、升级测试、性能测试、压力测试和安全测试等
5. 方法论建设
文档整理,经验总结
关键点 | 目标 |
定期的典型bug分析 定期质量分析 | 提高开发的提测质量(自测通过率把控) 提高项目整体质量 |
代码层面规范性要求 | 推动接口的规范化,防止接口直接的衍生,修改若干次后,最后发现接口的不一致; 代码质量如sonar检查 |
性能方面问题的总结及提前预防(用于需求评审阶段,提前评估性能) | 提升性能 预防引入新的性能问题 |
非功能层面问题汇总 | 内存 性能 日志 慢查询 |
前端/API层扩展性考虑 | 需求评审时特别关注,提前保证 |
环境的那些事 | 环境的稳定性 用于CI 的便捷性 |
以下能力提升:
发布效果评估;
上线风险分析
测试&上线checklist;
定期的质量分析会(典型bug分析);
项目分级&免测项目;
数据统计:
自测通过率;
项目免测率;
6. 分享能力 && 上下游沟通能力
- 业务分享
- 技术分享
上下游沟通能力: 特别是关联密切的业务/项目, qa需要了解上下游的业务 特点。
7. 带人能力
- 测试思路培养
- 项目把控培养
- 新人培养
1) 公司安全规范(例如代码误传GitHub上等等)
2) 故障定级及处理
3) 提测上线流程
4) 自测检查点
5) 典型bug与坑(质量分析会)
6) 新人开发入职后,上线流程与之同步
8. 引入新测试方法
目标:更多更快暴露问题,分析原因
关键点 | 要求 |
更多问题 | 引入新的测试方法/理论:比如探索性测试,单元测试 |
工具研究与开发上 | 针对测试方法的不足: 开发项目专用的工具; 开发通用的框架/平台 |
引入其他团队的优秀点子 | |
9. 高层次
1) 申请专利
2) 发表书籍/文章
3) 技术影响力