自动化测试只是众多测试中的一种,并不比人工测试更高级更先进。和人工测试相比自动化测试有一定的优势和劣势,具体如下。
1.优势
(1)自动化测试具有一致性和重复性的特点,而且测试更客观,提高了软件测试的准确度、精确度和可信任度。
(2)自动化测试可以将任务自动化,能够解放人力去做更重要的工作。
(3)自动化测试只需要部署好相应的场景,如高度复杂使用场景、海量数据交互、动态响应请求等,测试就可以在无人值守的状态下自动进行,并对测试结果进行分析反馈;手工测试很难实现复杂的测试。
(4)自动化测试可以模拟复杂的测试场景完成人工无法完成的测试,如负载测试、压力测试等。
(5)软件版本更新迭代后需要进行回归测试,自动化测试有助于创建持续集成环境,使用新构建的测试环境快速进行自动化测试。
2.劣势
(1)相对手工测试,自动化测试对测试团队的技术有更高的要求。
(2)自动化测试无法完全替代人工测试找到Bug,也不能实现100%覆盖。
(3)自动化测试脚本的开发需要花费较大的时间成本,错误的测试用例会导致资源的浪费和时间投入。
(4)产品的快速迭代。自动化测试脚本将不断迭代,时间成本很高。
(5)自动化测试能提高测试效率,却不能保证测试的有效性。即使设计的测试用例覆盖率比较高,也不能保证被测试的软件质量会更优。
3.什么情况适合自动化测试?什么情况适合人工测试?