性能测试方向职业发展
1、软件测试发展路线
我们可以暂且把软件测试职业路线分为3个方向,分别是业务路线、技术路线、管理路线;4个象限,分别为执行层、中层、中高层过渡、高层。
(1)业务路线
常见业务路线的职位有QA经理、业务专家、产品经理、产品总监、行业咨询顾问等。
(2)技术路线
掌握编程技术,拥有业务经验,成为自动化测试工程师、性能测试工程师、软件开发工程师、安全测试工程师、系统分析师、测试总监、研发总监等。
(3)管理路线
积累业务知识或者提高技术储备,能够出色地完成本职工作,负责带领团队;岗位一般有测试leader、测试主管、测试经理及测试总监。
执行层:
1 软件测试--功能(初级--专职过渡阶段) 2 软件测试--性能(专职) 3 软件测试--自动化(专职) 4 软件测试--安全(专职) 5 软件测试--白盒(专职) 6 软件测试--业务(专职) 7 软件测试--小组长、主管(管理路线) 8 软件开发(专职)
9 质量保证工程师SQA(专职--业务线)
中层:中级执行管理领导
1 测试分析师(专职--领导过渡阶段) 2 测试架构师初级(专职--领导过渡阶段) 3 测试经理(执行领导--管理路线) 4 QA经理(执行领导--技术路线) 5 产品经理(执行领导--业务线) 6 项目经理(执行领导--技术路线) 7 系统分析师 8 测试培训师
中高层过渡:
1 测试总监(执行领导--高级领导) 2 产品总监(业务路线) 3 行业咨询顾问(业务路线) 4 研发总监(技术路线) 5 项目总监(技术路线)
高层:
1 CQO--首席质量官 2 CTO--首席技术官 3 CIO--首席信息官 4 CEO--首席执行官
2、软件测试还需要具备的能力
(1)需求
(2)代码
(3)运维
3、性能测试技能树
(1)测试工具--常见难点
1 用户和业务模型分析搭建 2 合适的脚本开发 3 合适的需求分析转化为场景设计 4 大容量系统的数据生成和使用 5 大型系统的性能压力负载和实施 6 云计算的负载生成和实施
(2)测试基础--常见难点
1 评估需求 2 负载建模(用户与业务模型) 3 性能压力生成的原理和并发等之间的关系 4 性能测试用例 5 新系统需求分析 6 容量规划 7 性能测试策略
(3)代码--推荐使用java、python
(4)服务器性能诊断知识
1 Linux 2 windows server 3 oracle 4 mysql 5 Nosql--非关系型数据库
1 键值数据库--redis 2 列数据库--cassandra 3 文档型数据库--mongoDB、couchdb
常见难点:
1 进程、线程任务之间的区别? 2 线程中断优先和原理 3 进程的生命周期 4 上下文切换 5 I/O密集型和cpu密集型工作负载之间有什么区别? 6 生产环境和测试环境之间换算? 7 事务数据库和分析数据库的使用 8 数据关系建模和设计 9 TOP N SQL诊断和优化(执行路径、索引和表链接优化等)? 10 阻击和根治阻塞和死锁? 11 热点防范和定位优化 12 业务数据批量缓存化、异步化 13 数据库配置优化?
(5)性能调优技能--常见难点
1 系统硬件资源(CPU、网络、内存、IO)相互之间的关系及原理 2 选择可靠性能指标及指标之间的关联和判定方法 3 永不宕机的实现原理和常见错误 4 排队系统与延迟及缓存的优化关系 5 优化的成本和性价比 6 业务优化的操作实施 7 多系统串联原理及测试隔离
(6)自动化/持续集成
(7)云计算及虚拟化