测试工程师核心竞争力


# 测试工程师核心竞争力

# 竞争力

# 作为测试人员,必须要深入理解业务,但是业务知识不能等同于测试能力

对测试技术本身以及产品技术实现不能缺乏系统的思考和理解,所体现的价值不仅仅能够体现在这个特定的产品业务上,而一旦离开了这个业务领域,很难快速适应其他业务领域测试

# 测开的核心是‘测试’,开发的目的是更好的服务测试

在此基础上设计、开发帮助测试人员提高效率并解决实际问题的工具

# 业务测试工程师的核心竞争力

# 测试策略设计能力, 最核心竞争力

对于各种不同的被测软件,能够快速准确地理解需求,并在有限的时间和资源下,明确测试重点以及最适合的测试方法的能力

明确测试中的关键问题

  • 测试要具体执行到什么程度
  • 测试需要借助于什么工具
  • 如何运用自动化测试以及自动化测试框架,以及如何选型
  • 测试人员资源如何合理分配
  • 测试进度如何安排
  • 测试风险如何应对

# 测试用例设计能力

概述:无论对于什么类型的测试,都能设计出高效地发现缺陷,保证产品质量的优秀测试用例

  • 不仅需要深入理解被测软件的业务需求和目标用户的使用习惯,还要熟悉软件的具体设计和运行环境,包括技术架构、缓存机制、中间件技术、第三方服务集成等等

  • 不仅仅局限于熟悉业务领域的测试用例设计,而是能够融会贯通,熟练地把系统性的测试设计方法和具体业务有机结合,对任何被测软件都可以输出出色的测试用例

  • 要想提高测试用例设计能力,平时就要多积累,对常见的缺陷模式、典型的错误类型以及遇到过的缺陷,要不断地总结、归纳,才能逐渐形成体系化的用例设计思维

# 快速学习能力

两个层面

  • 对不同业务需求和功能的快速学习与理解能力
  • 对于测试新技术和新方法的学习与应用能力

学习新内容时,要做到理解其原理,而不是只停留在表面的、简单的操作和使用,长期保持这种学习状态,可以在很大程度上提高逻辑思维和理解能力

# 探索性测试思维

概述:探索性测试是指,测试工程师在执行测试的过程中不断学习被测系统,同时结合基于自己经验的错误猜测和逻辑推理,整理和分析出更多的有针对性的测试关注点

本质:是“测试用例设计能力”和“快速学习能力”有机结合的必然结果

敏捷测试方法:优秀的探索性测试思维可以实现低成本的“精准测试”,精准测试最通俗的理解可以概括为针对开发代码的变更,目标明确并且有针对性地对变更点以及变更关联点做测试

# 缺陷分析能力

包含依次递进的三个层面

  • 对于已经发现的缺陷,结合发生错误的上下文以及后台日志,可以预测或者定位缺陷的发生原因,甚至可以明确指出具体出错的代码行,由此可以大幅缩短缺陷的修复周期,并提高开发工程师对于测试工程师的认可以及信任度
  • 根据已经发现的缺陷,结合探索性测试思维,推断同类缺陷存在的可能性,并由此找出所有相关的潜在缺陷
  • 可以对一段时间内所发生的缺陷类型和趋势进行合理分析,由点到面预估整体质量的健康状态,并能够对高频缺陷类型提供系统性的发现和预防措施,并以此来调整后续的测试策略

# 自动化测试技术

两个方面

  • 自动化测试技术本身不绑定被测对象

比如:你掌握了GUI的自动化测试技术,那么就可以基于这个技术去做任何GUI系统的界面功能测试

  • 自动化测试技术需要测试工程师具备一定的写代码的能力

核心价值:是“测试”本身,“自动化”仅仅是手段,不要本末倒置,把大量的精力放在“自动化”上,一味追求自动化而把本质的“测试”弱化了

# 良好的沟通能力

两方面

  • 对接产品经理和项目经理,以确保需求的正确实现和项目整体质量的达标
  • 和开发人员不断地沟通、协调,确保缺陷的及时修复与验证

# 测试开发工程师的核心竞争力

# 测试系统需求分析能力

除了代码开发能力,测试开发工程师更要具备测试系统需求分析的能力

能够站在测试架构师的高度,识别出测试基础架构的需求和提高效率的应用场景

# 更宽广的知识体系

不仅需要和传统的测试开发工程师打交道,还要和 CI/CD、和运维工程师们有紧密的联系

了解更高级别的测试架构部署和生产架构部署、必须对开发采用的各种技术非常熟悉

(完)