一、分层软件结构
微服务可以算是一种分层架构,相对于未分层的架构具有如下优势:
(1)分离开发人员的关注:层次结构中,各层是相对独立的,每一层仅调用其相邻下一层所提供的服务,开发人员只需要将本层API和相邻下一层的API定义完整即可,其他层可以不进行关注。开发人员在开发某一层时,可以只关注于这一层所用的思想、模式、技术,这种分工方式极大地提高了开发效率
(2)无损替换:由于每一层 是相对独立的,在上下层出现问题时,只需对相应的层次进行快速的替换即可,软件的损失会降到最低。
(3)降低了系统间的依赖:微服务是低耦合的
弊端:
(1)级联修改问题:当前层次接口的修改,对应相邻层次需要跟着修改,虽然这种情况在现实开发中基本不会出现,但作为弊端要求设计者开始设计阶段对整个框架应考虑周全。
(2)性能问题:如果没有分层结构,整个软件的操作速度相对会很快,由于各层的层次性使得信息需要层层传递,这一过程对性能性能的损耗还是比较大的。
二、自动化测试框架结构设计:
1、自动化测试功能层:
(1)Action Word简介:
它是一种业务的抽象,比如测试用例里的测试步骤、检查验证、消息序列等等,它的格式通常包含名自定义和参数部分,它的形式非常像我们编程语言中的过程定义。
AW的格式一般为:AWname 必选参数 可选参数。其中名字自定义用于描述测试步骤的动作或事件,参数部分用于描述动作需要用到的对象。在测试功能层AW主要具有以下作用:
a) 测试设计的改进
b) 测试执行的改进
c) 测试流程的改良
d) 测试角色的分工与合作
2、自动化测试执行层:
执行层功能主要用于执行测试所用到的测试用例,并且调用相关AW,执行层比较常见的采用脚本语言解释器,如Perl,Python,Ruby等
执行层负责解释执行指定的测试策略和测试用例,分发、加载、执行AW。执行层包括控制器、执行器。主要功能:解释执行策略、解释测试用例、负责AW分发、加载AW实现和执行AW实现。
3、自动