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

发表于:2011-11-28 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:散步的SUN    来源:51Testing软件测试博客

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

源头

目的头

时间

消息类型

消息内容

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

版权声明:本文出自 散步的SUN 的51Testing软件测试博客:http://www.51testing.com/?382641

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

相关链接:

自动化测试平台化策略 之“即插即用”型策略

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号