目录
目录
1、软件测试工程师岗位介绍
1.1、什么是软件测试
- IEEE(美国电气和电子工程师协会)标准定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
- 通俗解读:软件测试就是利用各种技术手段寻找软件存在的问题,并督促开发人员解决,以此提升软件产品质量的过程。
- 举例解读:我们日常使用的微信是通过产品人员进行策划构思调研得出具体的功能设计方案,包括微信界面及操作流程等一系列方案,开发人员根据产品的设计写代码开发实现,开发完成后所实现的功能未必是根据产品的意图实现的,会出现一些偏差,包括功能缺失及精度偏差等,最后需要我们测试人员站在用户的角度去验证检查各个功能指标是否满足用户的要求,包括基本功能、性能、安全等,我们测试人员可以手工去完成测试,也可以借助一些工具等技术手段去测试,目的只有一个:就是找出功能缺陷及漏洞,然后跟进相关人员解决。
1.2、软件测试工程师岗位介绍
软件测试工程师属研发体系下的一个重要的岗位,另一个就是软件开发工程师,软件测试工程师是一个统称。
1、按照级别划分:
- 初级软件测试工程师:小白类型,在企业内属于培养型,企业中很少见
- 中级软件测试工程师:入门级,完全可以独立承担基本的软件测试工作,通常所有的软件测试工程师默认为中级,企业内居多。
- 高级软件测试工程师:专业级,至少在某个方向有专长,对某个技术有公关的能力,企业内较少。
- 资深软件测试工程师:不仅某个方向专注,还对整个测试系统有全方位的把控能力
- 测试专家:研究级别,主要专注前沿技术的研究推广和应用
2、按照工作范围划分:(采用该区分的不多,对于以下的分类,真正专职的不多,很多企业不会去细分,大多要求一个人什么都会什么都干,全能型人才)
- 功能测试工程师:主要从事基本的功能测试
- 自动化测试工程师:专注自动化测试方面的工作
- 性能测试工程师:专注性能测试方面的工作
- 安全测试工程师:专注安全测试方面的工作
- 专项测试工程师:专注兼容、合规等测试方面的工作
- 易用性测试工程师:专注用户体验测试方面的工作
- 测试开发工程师:专注测试工具、测试框架方面的设计和实现工作
- 测试设计工程师:专注项目的测试设计及规划
- 测试执行工程师:专注项目的测试执行工作
- 测试架构师:专注项目测试整体架构设计及部署
3、按照管理级别划分(职位含金量、职权、管理范畴各个企业有差异)
- 测试组长
- 测试主管
- 测试经理
- 测试总监
1.3、软件测试工程师工作内容
就用一个通俗的例子(QQ系统的测试)来说明可能会比较容易理解一些,以下每个节点的具体实施都是有一套系统的方法指导的,特别是测试设计这块。
- 熟悉QQ聊天工具的功能(产品人员会给你相关文档参考)及实现原理(开发人员会给你开发相关文档)
- 对系统功能及实现方法进行充分的理解(期间需要不断的与产品及开发沟通)
- 分析系统测试点及测试实现方法,并对整个测试进行策划和安排
- 设计如何进行测试,包括自动化、性能、接口等等
- 待系统开发完成后根据测试安排及设计执行测试找出系统存在的问题
- 跟进开发人员修复问题并及时验证,对系统反复测试及验证直到系统稳定该项目就算做完了
- 项目做完了是不是没事了,肯定不是,很多项目要升级各种版本,还有公司会有其他项目安排
- 以上各个阶段都会有一些评审及讨论会都是需要参加的,目的是需要大家对整个系统的熟悉和配合