分层思想
分层思想是软件设计模式中比较流行的一种模式,简单地说就是底层的代码负责具体的技术,而上层的代码负责业务。也就是说,越往上,其技术属性(比如具体的通信协议、数据库类型等)就越弱,但是业务属性就越强,比如具体做了什么。
最底层是数据层,负责具体的技术代码,包括数据库、网络通信和操作系统这些操作与具体的业务逻辑没有直接关系,但是如果设计得当,该层面可以被不同的项目所复用。
中间层也称为业务逻辑层,主要针对具体的业务逻辑进行封装,业务的实现依赖底层的技术代码所提供的功能。比如对于一个产品的管理功能,通过底层数据库提供的增删改查接口,进行逻辑功能的封装。
最上层也称为表示层,具体负责调用中间层的逻辑,对整个系统的功能进行展示,北向可以是终端用户,也可以是应用程序的北向接口,提供给其他应用程序。
有些设计会把中间层拆成两层,一层用于数据持久化,另一层表示具体的业务。比如我们可以将产品管理拆封成数据库访问操作和业务逻辑操作。在这种情况下,原来的三层架构变成了四层架构(其实和上面说的三层架构是一致的)。
自动化平台的分层思想
我们将具体的技术代码封装在架构的最底层,比如和测试设备之间的通信协议的实现、UI 测试中对 UI 元素的封装、测试结果的储存、测试资源的序列化等操作,这些操作和擦欧洲哦业务逻辑无关。
对于中间层和表示层,我们分为两部分——测试平台和测试用例,他们都是基于数据层之上来构建的。测试平台引用底层提供的功能,对特定的业务逻辑进行封装,并提供给表示层。而测试用例可以使用测试平台所注入的资源信息,也可以基于底层提供的功能封装测试过程(不推荐,通过测试平台去耦合是一种比较好的设计方法),最终将测试逻辑提供给测试用例去调用。