测试架构师修炼之道: 1 软件测试工程师的职业规划
2016-08-11
1 软件测试的职业发展方向
1.1 管理
表1 管理级别区分
管理级别 | 职位 | 工作年限 | 属下 | 测试对象 | 职责 |
初级软件测试管理者 | 测试组长 | 两年 | 2~5 | 一般负责产品的一个或多个特性。 | 1. 测试计划的制订和执行 2. 负责产品重点、难点的测试 3. 负责带新员工 |
中级软件测试管理者 |
测试经理、 测试代表、 |
4年左右 | 10~20 | 产品 | 1. 最重要的工作还是运作测试项目,制订并执行测试计划,测试结束后还需要对产品质量进行评估,给出产品发布建议 2. 要做好这些,需要他们掌握更多的项目管理知识,深入理解项目价值,做好项目范围管理、质量管理、成本管理、时间管理、风险管理和人力管理。 3. 除此之外,他们还要和开发人员、市场人员、服务人员等密切配合、紧密合作,其间,沟通协调能力必不可少。 |
高级软件测试管理者 | 测试总监、 测试部长 |
10年以上 | 产品线或公司 | 1. 对测试团队的发展负责,进行人员招聘和培养,留住关键人才,提高或更新不合格人员,提升团队的胜任力和职业能力; 2. 负责项目财务管理(预算和控资) 3. 负责资源的计划与分配; 4. 持续改进测试能力,提升效率和产品质量,从测试的角度对交付产品的成本、周期和质量负责。 |
1.2 技术
产品测试技术是指把某个具体(或一类)产品测试得更好的技术;专项测试技术并不是针对具体的产品,而是测试领域普遍适用的技术。
表2 测试技术类专项测试技术
表3 质量属性类专项测试技术
1.3 做管理还是做技术
图2-1 软件测试在“管理方向”和“技术方向”上的相互转换
为什么软件测试具有这样的特性呢?
这是因为软件测试是一门基于实践的学科,对软件测试来说,“管理”不可能是“绝对的管理”,软件测试的管理者首先要是产品测试技术专家,这是“做正确的事”的基础,很难想象一个不懂测试技术、不理解各项测试活动的软件测试管理者如何评估软件测试的重点、难点,如何做计划,如何评估风险控制项目进度;与此同时,“技术”也不能是“绝对的技术”,不理解“价值”“目标”和“成本”的技术人员容易犯的错误就是陷入“唯技术论”中,缺乏“管理”思想会让他们制定的测试策略不切实际,一纸空文的测试策略是没有意义的。
2 “角色”和“段位”
如果职位没有变化,如何了解自己的测试水平:
测试一段:能根据测试用例的描述步骤来执行测试用例,能对照用例的预期结果发现产品的问题,能够清晰准确地将问题记录下来后反馈给开发,开发能够读懂问题描述的含义;
测试二段:对产品需求有一定的了解,能够根据产品需求分析、设计产品的测试用例,发现问题后能够进行初步定位;
测试三段:对产品的需求和实现都有较为深入的理解,设计用例时会注意用例的有效性,测试用例时会考虑使用自动化测试等方法提升测试执行的效率;
测试四段:深入理解产品需求和实现,理解产品质量,理解产品的隐形需求,对产品性能、可靠性、易用性等非功能属性的测试均有所涉及,并掌握其中的测试方法,会使用测试
陷分析技术,会评估产品质量;
测试五段:不断追求最适合产品的测试技术,关注测试过程改进,推动产品测试技术的进步;
测试六段:走向前端,做缺陷预防,能将测试方法标准化,并固化为测试工具和流程。