关于自动化软件测试
● 把手动的测试用例自动化,手动的测试用例可以自动执行
● 把没有办法手动的测试用例自动化,比如让你测试光驱可以打开几次,做个压力测试,人工测试显然不可行(也有人把这部分称之为自动化测试,但是我觉得这样太绕了,就全部称之为测试自动化吧)
然后再说明一下为什么要自动化,ROI如何;
● 研发要解决的问题是,一个是效果问题,一个是效率问题, 自动化可以提高效率(大部分人这么认为,虽然其实这个有待商榷),所以自动化有利于提高效率
● 这是一种工程师的态度,或者是套用一下流行的词,叫做Facebook的文化,Hacker的文化;因为不喜欢重复的做一个事情,把它自动化,看上去是很Cool的事情
所以自动化最重要的事情就是提高效率(当然能否提高效率,这个事情是这样的,因为UI经常变动,或者是由于其他的外部因素,自动化需要修改,维护,那么投入的人力和物力是否大于产出或者小于产出,这个每个公司,每个产品都不一样,具体就不在这里讨论了)以及实现手动无法完成的事情;
接下来回应一下《什么是测试自动化?》
文章里面提到测试自动化是无法自动化所有的测试用例,这点是肯定的,完全同意;所以这里来说说自动化的弊端:
● 自动化其实更多的是一种防御策略,是为了防止Regression,自动化发现的bug数量一般都是不及手动测试发现的bug数量;而且有人提出了有些系统比较难发现Bug的测试用例你即使在不同的版本多跑几次相同的测试用例效果甚微,就像杀虫剂效应一样,由于虫子有抗药性,同样Bug也有;所以不能期望自动化测试发现更多的Bug
● 自动化测试需要更多的投入,维护,由于系统需要经常变动,期望值发生改变,所以自动化测试也需要变动
另外说明一下对API的测试不能算成自动化测试的范畴,因为你本来就是要测试这些API,只是恰好这些都可以写成Code,可以自动的运行而已;
所以理想的情况是, 自动化的产出大于投入在自动化的人力,物力;然后解放出来的人力,物力可以花在发现新的Bug,解决新的Bug上面;而且由于大家不用去做重复的事情,真个团队的Productivity也很高。
相信这样的解释,大家对自动化就有一个合理的期望,然后心安理得的选择自动化或者是手工的测试。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
- 关于接口测试自动化的总结与思考
- 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
- 自动化测试-----总结
- 自动化前端项目构建
- 关于 SAP UI5 应用的自动化测试方法
- 【人工智能 AI】怎样实施RPA 机器人流程自动化(Robotic Process Automation)?核心技术有哪些?
- Android自己的自动化测试Monkeyrunner和用法示例
- 关于自动化测试的几个正确认知
- 软件测试学习资料之Airtest自动化测试(2)——Airtest环境搭建
- 【自动化测试入门知识】7个知识点带你入门自动化测试
- 关于对自动化测试的理解:目的与本质(点工必看)
- 自动化测试===自动化测试分类(一)
- Python开发案例之用Python子进程关闭Excel自动化中的弹窗