测试工程师核心竞争力
# 测试工程师核心竞争力
# 竞争力
# 作为测试人员,必须要深入理解业务,但是业务知识不能等同于测试能力
对测试技术本身以及产品技术实现不能缺乏系统的思考和理解,所体现的价值不仅仅能够体现在这个特定的产品业务上,而一旦离开了这个业务领域,很难快速适应其他业务领域测试
# 测开的核心是‘测试’,开发的目的是更好的服务测试
在此基础上设计、开发帮助测试人员提高效率并解决实际问题的工具
# 业务测试工程师的核心竞争力
# 测试策略设计能力, 最核心竞争力
对于各种不同的被测软件,能够快速准确地理解需求,并在有限的时间和资源下,明确测试重点以及最适合的测试方法的能力
明确测试中的关键问题:
- 测试要具体执行到什么程度
- 测试需要借助于什么工具
- 如何运用自动化测试以及自动化测试框架,以及如何选型
- 测试人员资源如何合理分配
- 测试进度如何安排
- 测试风险如何应对
# 测试用例设计能力
概述:无论对于什么类型的测试,都能设计出高效地发现缺陷,保证产品质量的优秀测试用例
不仅需要深入理解被测软件的业务需求和目标用户的使用习惯,还要熟悉软件的具体设计和运行环境,包括技术架构、缓存机制、中间件技术、第三方服务集成等等
不仅仅局限于熟悉业务领域的测试用例设计,而是能够融会贯通,熟练地把系统性的测试设计方法和具体业务有机结合,对任何被测软件都可以输出出色的测试用例
要想提高测试用例设计能力,平时就要多积累,对常见的缺陷模式、典型的错误类型以及遇到过的缺陷,要不断地总结、归纳,才能逐渐形成体系化的用例设计思维
# 快速学习能力
两个层面:
- 对不同业务需求和功能的快速学习与理解能力
- 对于测试新技术和新方法的学习与应用能力
学习新内容时,要做到理解其原理,而不是只停留在表面的、简单的操作和使用,长期保持这种学习状态,可以在很大程度上提高逻辑思维和理解能力
# 探索性测试思维
概述:探索性测试是指,测试工程师在执行测试的过程中不断学习被测系统,同时结合基于自己经验的错误猜测和逻辑推理,整理和分析出更多的有针对性的测试关注点
本质:是“测试用例设计能力”和“快速学习能力”有机结合的必然结果
敏捷测试方法:优秀的探索性测试思维可以实现低成本的“精准测试”,精准测试最通俗的理解可以概括为针对开发代码的变更,目标明确并且有针对性地对变更点以及变更关联点做测试
# 缺陷分析能力
包含依次递进的三个层面:
- 对于已经发现的缺陷,结合发生错误的上下文以及后台日志,可以预测或者定位缺陷的发生原因,甚至可以明确指出具体出错的代码行,由此可以大幅缩短缺陷的修复周期,并提高开发工程师对于测试工程师的认可以及信任度
- 根据已经发现的缺陷,结合探索性测试思维,推断同类缺陷存在的可能性,并由此找出所有相关的潜在缺陷
- 可以对一段时间内所发生的缺陷类型和趋势进行合理分析,由点到面预估整体质量的健康状态,并能够对高频缺陷类型提供系统性的发现和预防措施,并以此来调整后续的测试策略
# 自动化测试技术
两个方面:
- 自动化测试技术本身不绑定被测对象
比如:你掌握了GUI的自动化测试技术,那么就可以基于这个技术去做任何GUI系统的界面功能测试
- 自动化测试技术需要测试工程师具备一定的写代码的能力
核心价值:是“测试”本身,“自动化”仅仅是手段,不要本末倒置,把大量的精力放在“自动化”上,一味追求自动化而把本质的“测试”弱化了
# 良好的沟通能力
两方面:
- 对接产品经理和项目经理,以确保需求的正确实现和项目整体质量的达标
- 和开发人员不断地沟通、协调,确保缺陷的及时修复与验证
# 测试开发工程师的核心竞争力
# 测试系统需求分析能力
除了代码开发能力,测试开发工程师更要具备测试系统需求分析的能力
能够站在测试架构师的高度,识别出测试基础架构的需求和提高效率的应用场景
# 更宽广的知识体系
不仅需要和传统的测试开发工程师打交道,还要和 CI/CD、和运维工程师们有紧密的联系
了解更高级别的测试架构部署和生产架构部署、必须对开发采用的各种技术非常熟悉
(完)