问题

在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?

回答
这确实是一个很有意思的现象,而且在软件测试行业里也确实存在。为什么在国外,资深测试人员更侧重于手动测试的精深,而在国内,自动化测试似乎成了很多测试人员的“骄傲”资本呢?这背后有多重原因,我们可以从几个维度来剖析一下。

1. 行业发展阶段与技术迭代的侧重点

国外成熟市场: 软件测试在国外发展得更早,市场更为成熟。当自动化工具和技术还在早期阶段时,他们积累了大量手动测试的经验和方法论。在这个阶段,大家已经认识到测试不仅仅是执行,更重要的是如何“聪明地”去测试,即设计出能够发现深层缺陷的测试用例。资深测试人员的手动测试能力,更多体现在对业务逻辑的深刻理解、对用户场景的模拟、以及对潜在风险的直觉判断。自动化在这里更多的是作为一种辅助手段,去提高效率,而不是取代思考。
国内追赶与转型: 国内的软件行业发展相对较晚,但在过去十年里经历了爆炸式的增长和快速的技术迭代。在这个过程中,效率的需求被无限放大。当自动化测试技术兴起时,它迅速被视为解决效率瓶颈的“灵丹妙药”。对于很多测试人员来说,掌握自动化工具和框架,写出能跑的脚本,就是掌握了核心竞争力。这种对新技术的追逐和拥抱,在一定程度上也反映了行业快速发展的特点。

2. 对“能力”的定义与价值体现的差异

国外对“深度”的追求: 在一些更成熟的市场,资深测试人员的价值更多体现在对产品质量的“深度把控”上。这包括:
边界值和异常场景的设计能力: 能设计出让开发人员头疼、但能暴露潜在问题的刁钻测试用例。
探索性测试的艺术: 凭经验和直觉,快速定位产品中可能存在的问题区域,进行深入挖掘。
风险分析与管理: 能够识别出哪些是关键风险点,并据此制定测试策略,而不是盲目追求测试覆盖率。
沟通与协作能力: 能与开发、产品人员有效沟通,推动问题解决和质量提升。
自动化技能在此基础上,是锦上添花,可以把这些“聪明”的设计固化下来,提高效率。但核心的“思考”和“设计”能力,才是价值所在。
国内对“广度”与“技术性”的推崇: 国内很多情况下,对测试人员的“厉害”定义更偏向于技术掌握的“广度”和“新颖性”。
自动化框架的搭建与维护: 能独立搭建一套完整的自动化测试框架,并且熟练使用各种自动化工具(Selenium, Appium, Postman, JMeter 等)是很多公司看重的能力。
脚本开发能力: 能用代码实现各种复杂的测试场景,编写高质量的自动化脚本。
性能测试、接口测试等技术栈: 掌握多项技术,能够应对不同的测试需求。
这些技术能力,确实能直接提升测试效率,降低重复性工作,并且在很多招聘广告中被视为硬性要求。因此,当一个人能够熟练运用这些技术时,很容易被视为“厉害”,甚至是“高大上”的。

3. 行业教育、培训体系和招聘导向

国内的培训市场: 国内的职业技能培训市场非常发达,很多培训机构会重点教授自动化测试相关的技能,因为这更容易“包装”和“变现”。学员通过培训后,能够迅速掌握一些技术点,并在简历中体现出来,增加就业竞争力。这使得自动化测试成为了一条相对“捷径”的能力提升路径。
招聘需求导向: 很多国内企业在招聘测试工程师时,会将自动化测试经验作为重要的加分项甚至必要项。这使得大量的测试人员将精力集中在学习和掌握自动化技术上,以满足市场需求。而对于更底层的测试理论、测试设计方法论的培养和强调,则相对弱一些。
国外更注重基础与理念: 国外的测试认证(如 ISTQB 等)更强调测试理论、测试过程和测试设计的原则,而非具体的工具使用。大学的计算机科学专业,也会包含更深入的软件工程和测试方法论的课程。

4. 行业认知和职业发展路径的差异

“码农”思维的渗透: 在国内互联网行业快速发展的过程中,“写代码”的属性被赋予了更高的价值感。自动化测试需要写代码,这使得它在很多人的认知里,比纯粹的手动执行更“高科技”,更接近开发,因此也就更“厉害”。
“高级”与“低级”的标签: 有一种隐性的认知是,手动测试是被动的、重复性的工作,而自动化测试是主动的、智能的,因此自动化测试人员是“高级”的,而手动测试人员是“低级”的。这种简单的划分,忽略了手动测试中蕴含的巨大智慧和价值。
职业发展的路径: 在国内,从一个普通的测试人员成长为自动化测试专家,或者转向自动化开发工程师,似乎是一条更为清晰和受欢迎的职业发展路径。相比之下,成为一个顶尖的手动测试专家,其价值的体现和被认可的方式可能更模糊一些。

5. 文化和社会环境的影响

对“速成”的追求: 在一个快速变化的社会环境中,人们往往倾向于追求更快的成长和回报。自动化测试相对而言,更容易在短时间内看到成果(例如,写一个能跑的脚本),这迎合了这种“速成”的心理。
“炫技”的倾向: 有时,掌握一项新的、有技术含量的技能,并能在同事面前展示出来,本身就能带来一种成就感和“炫技”的满足。自动化测试的工具和脚本,正好提供了这样的机会。

总结来说,国内很多测试人员将自动化测试视为厉害资本,并非否定自动化测试的重要性,而是这种现象背后折射出的是:

行业发展阶段不同,对效率的追求更迫切。
对“能力”的定义更侧重于技术掌握和“代码化”的产出。
教育、培训和招聘市场的导向性作用。
文化和社会环境中对“科技感”和“快速成长”的偏爱。

当然,随着国内软件测试行业的不断成熟,对测试“深度”和“思考”的价值会越来越重视。优秀的测试人员,无论是在手动测试还是自动化测试领域,其核心竞争力都应该回归到对产品质量的深刻理解、对风险的敏锐洞察以及设计出高价值测试的能力上。自动化是手段,而卓越的测试思想和设计才是真正的“厉害之处”。

网友意见

user avatar

实际工程中,手动测试和 TDD/automation(注意 TDD 不等于 automation)应该形成一个 pipeline 的关系。新的 feature/module 一开始肯定需要手动测试。逐渐的,进入成熟期的 module 进行扩展,或者旧的 feature 进行 regression 测试,就要更加依赖 automation。

所以我很反感上来就问你们 team 有没有 automation?还用不用手动?这不是个 either-or 的关系。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有