软件测试工程师什么情况下该开始学自动化测试?

我在网上看到很多人这么说“不知道是不是该学自动化,会不会有种功能性能性测试都还没玩透就要学自动化的感觉,怕步子迈大了不好,但是看着大家都在说自动化,心里着急得很。”

这里我其实有几个观点:

1 不应该过分强调自动化测试的重要性。

2 在学习顺序上,自动化测试不是非常高优的。第一是因为,测试理论和设计能力更重要; 第二是因为,如果你真的进入了高阶阶段,它对你一定不会很难。

3 自动化测试对职业发展(升职加薪)是有很大帮助的,这是很多人想学的原因,但只学自动化,而不培养其他测试能力,路肯定走不下去。

这里对2和3稍微解释一下。

软件测试的硬能力基本有两条主线:

1 对被测物的了解和理解的程度; 这里指的是计算机基础知识,工程实现架构和研发逻辑。

2 测试理论,测试设计,过程和手段; 自动化测试是这里的一个子项。

软能力这里就不谈了(敏感度,沟通和表达能力)。

举个例子:

假设你去测试一个精密而复杂的机器人,你可以用各种手工的方式去测试它(米尺测量高度,肉眼测速,手动感知表面是否平滑)。

久而久之你累了,于是你自己也做了一个小型机器人去代替你测试这个精密机器人,这就是所谓的自动化测试。

此时很明显我们可以看到:

1 你需要对那个精密机器人有足够的认知,甚至对内部有理解和剖析,否则你根本无法良好地测试它。

2 基于1,你需要一些测试理论和测试思路,才能很好地设计你的测试。

3 基于1和2,你完成了手工测试

4 基于3,你为了代替你的手动工作量,你完成了自动化测试。

所以你可以看到,公式其实是:

对被测物的了解 + 测试设计 = 手工测试 -> 自动化测试

你可以理解自动化测试在什么阶段上了,以及它的基础是什么。

然后我们再来看自动化测试的难度。

这里其实大家很容易忽略一个简单的事实,那就是:

如果我对我要测的精密机器人已经很熟悉了,那么你造一个小型的测试用机器人就几乎没有难度。

如果你不知道怎么造一个小型的测试用机器人,那么你大概率对这个被你测试的精密机器人也不怎么了解。

这里我可能会说一个冰冷而严肃的事实,也不是为了自己装逼或者别的什么:

如果你仍旧在为自动化测试而困扰,学不会或者要不要学,大概率你仍旧是一个不太合格的测试; 因为你的这种困扰,基本可以说明你对正在测试的东西缺乏了解。

而只学习自动化测试并不能帮你改善这一点。

这是因为单纯学习自动化测试,它只是一个工具,甚至很多时候是让你一知半解,囫囵吞枣地解放手工劳动的工具。

要想改善这一点,就要好好地去了解,你正在测试的东西是什么; 不要碍于面子,多问; 保持好奇心,多查; 保持实践精神,多身体例行地尝试,甚至自己也去写代码做工程。

然后你会发现自动化测试在这个之后,那都不是个事儿。

所以回答一下你的问题:

1 任何时候,了解自动化是怎么做的,这其实是什么时候都不晚的,什么时候都可以开始。

2 决定什么时候应该把手工转为自动化,这取决于你的手工重复劳动的程度。

3 如果你认为自动化很难,要特意去学,这说明你的计算机基础知识和技能真的不太行; 此时实际上你应该学习的不是限定死在自动化这个工具,而操作系统,网络,算法与数据结构,这类通用计算机知识,以全面补充能力(因为他们也包括测试能力)。

而只学自动化可能会让你快速解决问题之后,没有得到本质的提升。

所以吧,没事儿自己给自己写点代码玩玩,用用top和netstat,自己搭个nginx或者flask玩玩,起个mongo玩玩,实现一些继承和封装,这种提升会非常快。

4 测试门槛低,但你如果想要想上走,台阶是很长的。

深度讲解软件测试概念与方法论,打好基础,从零起步,欢迎关注:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值