软件测试工程师该如何规划自己的职业发展道路?
软件测试在职业发展上,概括说来可以分为“管理”和“技术”两大类。
一、软件测试在管理上的发展
1、测试组长
测试计划的制订和执行
负责产品重点、难点的测试
负责带新员工,让测试工作可以顺利进行
2、测试经理、测试主管
制订并执行测试计划
测试结束后对产品质量进行评估,给出产品发布建议
做好项目范围管理、质量管理、成本管理、时间管理、风险管理和人力管理
负责产品测试的重点、难点工作
3、测试总监
理解产品的商业目标,直接对产品成功负责
人员招聘和培养,留住关键人才,提高或更新不合格人员,提升团队的胜任力和职业能力
负责项目财务管理(预算和控制)
负责资源的计划与划分
持续改进测试能力,提升效率和产品质量,从测试的角度对交付产品的成本、周期和质量负责
二、软件测试在技术上的发展
1、软件测试架构师
负责产品开发的整体架构设计;负责产品测试的整体架构设计
负责对产品开发中的技术重点和难点进行研究与攻关;负责对产品测试中的测试重点和难点进行研究与攻关,为测试组织提供最优的测试方法
协助开发项目经理制订项目计划和控制项目进度;协助测试经理制订测试项目计划和控制测试项目进度
需要有一定的战略规划能力、业务建模能力、数据分析处理能力、面向产品生命周期的质量保证和持续改进能力
2、专项测试工程师
功能测试
按需求检测开发产品是否符合需求
性能测试工程师
熟练使用loadrunner,jmeter等工具
自动化测试工程师
必须要掌握一门编程语言,应该以Java或者python为主
主流的框架:selenium,appium,monkey,monkeyrunner …
安全测试工程师
测试开发工程师
持续集成工程师
自动化测试的详细介绍
一、自动化测试的适用对象
1)项目维护周期长。如果维护周期太短,自动化框架有可能还没开发完,产品已经下线了。
2)比较频繁的回归测试。如果选用手工测试,第一轮可能还没完,第二轮就开始了。
3)产品比较稳定,不会频繁变动。如果产品不稳定,维护自动化用例成本太大,自动化测试投资回报率太低。
4)机械并频繁的测试:每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。
二、自动化测试的分类
(1)UI自动化测试(WEB UI或APP UI)
(2)API自动化测试
三、常见的自动化测试工具
QTP:功能性自动化测试工具,适合BC和CS框架
selenium:WEB自动化测试工具,BC框架
Ration Robot:功能性自动化测试工具,CS、BS框架
jmeter:性能化接口测试工具,CS、BS框架
appium:APP自动化测试工具,不太常用
soapui:接口自动化测试工具,也是功能性自动化测试工具
四、如何实施自动化测试
自动化测试分为七个过程,重点是前五个:
分析:总体把握系统逻辑,分析系统的核心体系架构。
设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精。
实现:实现脚本,有两个要求:一是断言,二是合理的运用参数化。
执行:脚本的执行过程中异常需要仔细分析原因。
总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
维护:自动化测试脚本的维护是一个难以解决但又必须要解决的问题。
分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本的维护成本。