前言:

自动化测试是测试行业里一个古老的话题。简单总结一下自己的一些思考。

问题 1: 什么是自动化测试?

自动化测试是软件测试的其中一种手段。特定是在于自动化:

个人观点:自动化不是什么神秘、高大上的技术,归根到底还是一种测试手段。

问题 2: 什么情况下适用自动化测试?

自动化测试的目的是以机器执行,节省人工执行的成本,所以测试执行的次数、频率越高,越能体现自动化的价值。常见的使用场景:

个人观点:只要是有重复性的执行(即使可能只跑 3-5 次)或者是需要跟进维护的项目,都有自动化的价值。

问题 3: 自动化测试=UI 自动化吗?

虽然提到自动化测试就会想到 QTP、 selenium 等 UI 自动化测试工具,但自动化测试的范畴并不局限于 UI 自动化:

个人观点:任何重复劳动,都可以想办法用工具来辅助。

问题 4: 自动化测试可以替代手工测试吗?

自动化测试能否代替手工测试,取决于以下几个条件:

个人观点:自动化测试是手工测试的辅助手段,两种可以结合起来使用。

问题 5:项目时间紧的情况下,能不能做自动化测试?

这是很多团队或者测试人员拒绝使用自动化测试的理由:都在加班测试了,哪有时间做自动化?

但其实自动化是一种提高测试效率(机器执行比手动执行效率高)、确保测试覆盖面(手动执行可能会受疲劳因素的影响导致漏测,而机器可以保障设计的用例一定会执行)的工具,合理地使用自动化测试,可以把测试人员从重复、枯燥的执行中解放出来(不能完全解放,也能节省一部分的工作量),把精力投入到其他的方面。

个人经验:抽出半天时间把基本功能用例转换成自动化用例,可以节省不少的回归工作!

问题 6:这个自动化测试工具可以解决我们的所有问题吗?

这是另一个拒绝使用自动化测试的常见理由:你的框架或者工具不完美,我不想用。

没有任何一种工具可以完美解决你所有的痛点。只要能解决对你最重要的其中一个痛点,就值得去推行,然后在实用中发现自己的需求和更多痛点,不断改进。

个人观点:勇敢迈出第一步最重要。

问题 7:自动化测试根本发现不了 bug ,价值不大。

针对这种想法,可以延伸到这个问题:

个人观点:测试的目的是质量保障,就是保障正常场景没有问题;只要验证了对应的点,就产生了价值。

问题 8:你不是做了自动化测试吗?为什么还会有 bug 漏测?

自动化测试本质上还是测试用例的另一种执行方式。因此如果测试用例覆盖面不够,不管是手动执行还是自动化执行,都不能避免漏测。

个人观点:自动化测试不是万能。自动化省下来的时间,还是要花在进行更多手动测试上。

问题 9:自动化不就是简单录制和写一些代码嘛,没什么技术含量。

自动化测试的入门介绍往往是很简单的,QTP 的录制回放、selenium 的各种语言版本 helloworld 教程,都能在很短时间里照着实现。

但当你在慢慢做下去的时候,就会遇到以下的问题:

个人观点:talk is cheap, show me the code!

问题 10:不就是敲代码吗,找个应届生两个月就入门了;还是先把用例设计什么的基本功做好吧!

各种测试工具和用例设计一样都是测试的基本功,都可以为提高测试效率和质量保障起作用。

个人观点:技多不压身;在测试行业,仅有一技之长是不够的。


↙↙↙阅读原文可查看相关链接,并与作者交流