UI 自动化测试相关内容:
概念介绍
自动化测试最初由麦克科恩 (Mike Cohn) (敏捷开发的创始人之一)
在他的著作《Succeeding with Agile》一书中提出了测试金字塔这个概念。
从上图可以看出,整个金字塔模型由三层组成:
- 单元测试(Unit Tests)
- 服务测试(Service Tests)
- UI测试(UI Tests)
1.UI自动化测试概念:我们先明确什么是UI
UI,即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试:
Web自动化测试和移动自动化测试都属于UI自动化测试,UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试
2.为什么对UI采用自动化测试?
从不同的阶段或层次来说,自动化测试可以分为单元测试、接口测试、UI测试。如果一个产品从没有做单元测试或接口测试,只做u房的自动化测试是不科学的,很难从本质保证产品的质量
如果妄图实现全面的UI层的自动化测试更是劳民伤财,投入了大量人力时间结果却不尽人意,因为越往上层,用例维护成本越高,尤其是UI层的元素经常改变的产品。
但不管什么样的产品,最终呈现给用户的是UI层测试人员必须在UI层投入大量的精九。所以。我们有必要通过自动化的方式帮助我们"部分解放"重复的劳动,在解放劳动力和维护成本之间找到一个平衡,自动化测试就会成为我们的一个利器。
3.什么项目适合做UI自动化测试?
- 需求稳定,不会频繁变更
- UI界面稳定,变动少
- 项目周期长
- 大量的回归测试
4.UI自动化测试介入时机
项目需要在功能测试完毕后
5.UI自动化测试所属分类
1.黑盒测试(功能测试)
2.白盒测试(单元测试)
3.灰盒测试(接口测试)
注意:UI自动化测试属于黑盒测试(功能测试)
6.UI 测试建议
为了保持测试金字塔测形状,一个快速、可维护、覆盖范围合理的测试组合应该是这样的:
- 大量小而快的单元测试
- 全面的接口测试
- 少量的UI测试
都说业内最佳实践看Google,Google的自动化测试分层比例是: - 单元测试(70%)
- 接口测试(20%)
- UI测试(10%)