自动化测试测试平台策略 之模块交互策略

简介:

自动化测试测试平台策略 之模块交互策略

序言:要做一个自动化测试平台,越强大的平台,其模块之间的交互越难,也就是各个模块之间的接口定义越难,而如何采用一种策略去规范各个模块的接口、消息格式和交互方式更是难,这一点,我觉得可以从学习网络协议中找到一丝灵感,那些协议的交互方式以及消息的格式传递都是值得学习的,以前觉得学习协议纯粹是为了了解,现在学习真的是想掌握其几点精华思想,突然能够想象到:一群人在一起思想的碰撞,不断的去总结,去发现,去实用,才有了现在的协议标准。觉得,不一样的领域都去发现才能有所感悟。

  一、自动化测试平台中的模块

  1、软件产品是具有一系列特定功能的组件组成,其系统可以被分为一系列的功能模块,每个模块所特有的信息处理过程都被包含在模块的内部,如同一个“黑箱”,这就是“封装性”,然后模块与模块之间按照一定的规则相连则成了一个复杂的系统(一个系统也可以作为一个模块,去组成更复杂的系统)。

  2、而在自动化测试平台的系统开发中,首先,按照其抽象出来的自动化测试流程和方式划分一系列的功能模块,这些功能模块都能脱离系统独自使用,有的模块独自使用能够提高一些效率(像CLI测试中的基于脚本的自动化测试框架,GUI测试中的基于工具的自动化测试框架等都是一种模块,还有一些测试工具),然后在此些模块的基础上,我们定义一些交互规则,将他们以最好的方式进行安排在自动化测试流水线上,然后提供一个统一管理的界面,慢慢的,就构建成了一个自动化测试平台。(关键点:必须在测试功能模块独自提高效率的基础上,能够在测试流程中加以应用,平台的作用伴随更多的服务,将他们流水线化)

  二、自动化测试平台平台构建难点

  1、如何在测试流程中提炼自动化测试流程,然后抽象出自动化测试流水线。

  2、如何能够统一规划整个测试部门的测试资源,这需要一个服务器去统一存储和调度管理。

  3、然后,很关键的一步:如何将已有的功能测试模块结合起来,即建立一套良好的交互协议和交互消息格式,使其能够很好的交互和互补,真正完成自动化测试流水线的运作。

  三、自动化测试平台模块交互策略分析

  以下策略是自己对测试平台建设中的一些提炼,不一定完全适合,可以参考

  1、策略1:服务注册机制

  即定义一个框架,其框架提供相应的API,所有的模块利用这个API遵循一定的规则都可以作为服务注册到这个框架中,注册的同时,也对该服务的发送和接收的消息进行了规定,不同的消息可以调用其模块不同的功能,然后,模块则可以以这个框架为媒介,以传递消息的方式互相控制。当然,对于数据的存储,需要单独提供一个空间,可以是服务器,也可以是内存机制。

  2、策略2:消息分发统一机制

  即定义一个消息分发模块,模块的交互都会经过这个消息分发模块,这个消息分发模块将消息进行解析,然后传送到对应的模块。

  这里,两种策略都需要统一规定好消息的格式。可以参考网络协议中的一些消息格式,例如一个简单的:

源头

目的头

时间

消息类型

消息内容

  总之,个人上次听过一句话,如果你在一个行业领域已经停滞不前,那么就将眼光放宽,去另外一个领域去看看,往往这样,会激发你无限的灵感。这也许是真理啊,乔布斯不就很爱好艺术吗?马云不就是个金庸迷吗?当然,不是说要去复制,个人觉得,说的是不要闭门造船吧,而是学会提炼共性,在思想中升华吧。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
3天前
|
运维 测试技术 持续交付
深入探究软件自动化测试中的挑战与解决策略
【5月更文挑战第18天】随着软件开发周期的不断缩短和发布频率的增加,传统的手动测试方法已无法满足快速交付的需求。因此,软件自动化测试成为确保产品质量和加快上市速度的关键工具。然而,自动化测试的实施并非没有挑战。本文将探讨在实施自动化测试过程中常见的问题,如测试用例的设计、维护成本、框架选择和技术更新等,并针对这些问题提出有效的解决策略,以帮助组织提高自动化测试的效率和效果。
|
6天前
|
存储 XML 测试技术
深入理解自动化测试中的数据驱动策略
【5月更文挑战第15天】在软件测试领域,自动化测试已成为提升效率和确保质量的关键手段。数据驱动测试(DDT)作为一种高效的自动化测试方法,其通过外部数据源来控制测试用例的执行流程,实现测试逻辑与测试数据的分离。本文旨在深入探讨数据驱动策略的核心原理、实施步骤以及面临的挑战,并通过案例分析展示如何在实际项目中应用数据驱动策略以提高测试覆盖率和灵活性。
|
6天前
探讨AC/DC电源模块的可靠性设计和测试方法
探讨AC/DC电源模块的可靠性设计和测试方法
探讨AC/DC电源模块的可靠性设计和测试方法
|
6天前
BOSHIDA AC/DC电源模块的可靠性设计与测试方法
BOSHIDA AC/DC电源模块的可靠性设计与测试方法
BOSHIDA  AC/DC电源模块的可靠性设计与测试方法
|
6天前
|
机器学习/深度学习 人工智能 运维
深入探索软件测试:策略、工具与未来趋势
【5月更文挑战第14天】在软件开发的生命周期中,测试环节扮演着至关重要的角色。它不仅保证产品能够达到预定的质量标准,还有助于提前发现并修复潜在的缺陷,从而减少维护成本和提高用户满意度。本文将深入探讨当前软件测试领域的最佳实践,包括测试策略的制定、工具的选择以及面对快速变化的技术环境如何保持测试活动的前瞻性和灵活性。通过分析自动化测试、性能测试和安全测试等关键领域,本文旨在为读者提供一个全面的软件测试指南,同时对未来的发展趋势进行预测。
|
6天前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
197 0
|
6天前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
18 0
|
6天前
|
监控 数据可视化 IDE
python自动化测试实战 —— 单元测试框架
python自动化测试实战 —— 单元测试框架
20 2
|
6天前
|
测试技术 BI Python
【如何学习Python自动化测试】—— HTMLTestRunner 生成测试报告
【如何学习Python自动化测试】—— HTMLTestRunner 生成测试报告
9 0
|
6天前
|
IDE Java 测试技术
【如何学习Python自动化测试】—— 自动化测试环境搭建
【如何学习Python自动化测试】—— 自动化测试环境搭建
4 0