自动化测试
什么是自动化测试?
这个没什么好讲的,就是使用工具代替人工
为什么要自动化测试?
优势:
- 减少成本(时间成本+人工成本)
- 先天具有可追溯性
- 提高回归效率
- 其他好处(定时执行、手工无法执行的用例,如稳定性)
劣势:
- 不要奢望所有的测试都自动化,否则一定会得不偿失
- 曾经维护过一个稳定性巨差的自动化,简直是要崩溃,影响用例结果的因素太多了,外部环境也会影响结果。很痛苦
- “开发手一抖,自动化测试忙一宿” ,维护成本高
- 要想做自动化,一定要和开发人员配合好,约定哪些东西能动,哪些不能动,特别是基于ui的web自动化测试。
- 自动化测试用例的开发工作量远大于单次的手工测试,只有执行次数大于等于5次时,才能收回成本。
- 自动化测试仅仅能发现回归测试范围的缺陷
- 一般都会采用手工(新功能) + 自动化回归 做新版本,之后在将新的手工用例纳入到自动化用例集里
- 不稳定的自动化测试用例实现比没有自动化更糟糕
- 要想有完美的自动化用例,需要业务测试专家和自动化测试专家相互配合(或者你即懂业务,也懂自动化)
- 自动化测试开发人员必须具备一定的编程能力
如何才能知道该用例是否可以被自动化呢?
当你发现自动化测试用例的维护成本高于其节省的测试成本时