关于自动化软件测试
作者:网络转载 发布时间:[ 2012/6/13 9:12:13 ] 推荐标签:
看了这篇文章《什么是测试自动化?》
首先说明一下什么是自动化测试, 它主要完成2个方面的工作:
● 把手动的测试用例自动化,手动的测试用例可以自动执行
● 把没有办法手动的测试用例自动化,比如让你测试光驱可以打开几次,做个压力测试,人工测试显然不可行(也有人把这部分称之为自动化测试,但是我觉得这样太绕了,全部称之为测试自动化吧)
然后再说明一下为什么要自动化,ROI如何;
● 研发要解决的问题是,一个是效果问题,一个是效率问题, 自动化可以提高效率(大部分人这么认为,虽然其实这个有待商榷),所以自动化有利于提高效率
● 这是一种工程师的态度,或者是套用一下流行的词,叫做Facebook的文化,Hacker的文化;因为不喜欢重复的做一个事情,把它自动化,看上去是很Cool的事情
所以自动化重要的事情是提高效率(当然能否提高效率,这个事情是这样的,因为UI经常变动,或者是由于其他的外部因素,自动化需要修改,维护,那么投入的人力和物力是否大于产出或者小于产出,这个每个公司,每个产品都不一样,具体不在这里讨论了)以及实现手动无法完成的事情;
接下来回应一下《什么是测试自动化?》
文章里面提到测试自动化是无法自动化所有的测试用例,这点是肯定的,完全同意;所以这里来说说自动化的弊端:
● 自动化其实更多的是一种防御策略,是为了防止Regression,自动化发现的bug数量一般都是不及手动测试发现的bug数量;而且有人提出了有些系统比较难发现Bug的测试用例你即使在不同的版本多跑几次相同的测试用例效果甚微,像杀虫剂效应一样,由于虫子有抗药性,同样Bug也有;所以不能期望自动化测试发现更多的Bug
● 自动化测试需要更多的投入,维护,由于系统需要经常变动,期望值发生改变,所以自动化测试也需要变动
另外说明一下对API的测试不能算成自动化测试的范畴,因为你本来是要测试这些API,只是恰好这些都可以写成Code,可以自动的运行而已;
所以理想的情况是, 自动化的产出大于投入在自动化的人力,物力;然后解放出来的人力,物力可以花在发现新的Bug,解决新的Bug上面;而且由于大家不用去做重复的事情,真个团队的Productivity也很高。
相信这样的解释,大家对自动化有一个合理的期望,然后心安理得的选择自动化或者是手工的测试。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11