前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >门面出租-测试工具中的设计模式实例谈之门面模式

门面出租-测试工具中的设计模式实例谈之门面模式

作者头像
Criss@陈磊
发布2019-11-09 16:36:59
5210
发布2019-11-09 16:36:59
举报
文章被收录于专栏:测试技术圈测试技术圈

本文将以TestLinkAPI为案例,介绍门面模式(Facader Pattern)以及在TestLinkAPI中利用此模式提供统一对外服务接口,提高用户使用便利性的案例。

1. 门面模式模式简介

在上海和很多城市,现在都建立了所谓的“一门式”服务中心。

在一篇有关上海市浦东新区一门式服务创新的新闻中,记者写道“新区政府以城市居民核心为载体,整合资源,重组事务,创新服务标准样式。原来,做事部门散布在全区47个不一样的地方,如今,只要进城市居民核心一扇门就行了。84个前台窗户、77个后台支持,区级层面为城市居民和公司的做事情的项目目都在这儿集中。”

从设计模式的角度理解,所谓的”一门式“其实就是门面模式(Facade)

如上图所示,通过"一门式"这个Facade,过去各个市民和企业要去各个政府机构和行政审批服务机构才能完成的事情,只要在一门式就能完成。对于后台的各个系统的调用,则由Facade自身去完成,ClientA等这些用户无需关注。这就是门面模式所带来的好处。

2. 门面模式在TestLinkAPI中的应用

1) TestLink与TestLinkAPI

TestLink 是一个开源的测试管理系统,提供测试需求管理、测试用例管理、测试计划管理、测试执行与结果报表管理等功能。TestLinkAPI是一套与TestLink进行交互的第三方接口,利用了TestLink提供的 XML-RPC over HTTP接口进行了二次开发,提供统一的TestLinkAPI,便于用户进行使用。整个TestLinkAPI的设计,其实就采用了门面模式,而TestLinkAPI这个类,就是一个Facade类。如下图所示,

对于需要和TestLink进行交互的外部系统,可以借助于TestLinkAPI,调用其提供的各项服务方法,完成例如测试项目创建,测试结果导入等等的功能。而如果没有统一的TestLinkAPI的话,则外部调用者需要面对测试项目、测试执行、测试计划等各个服务类,增加系统调用的复杂性。

2) 案例点评

在系统级别的自动化测试中,我们也倾向于提供统一的对外服务的接口供外部用例调用,如将系统服务调用、数据库查询、文件处理、OS操作等在开发完成后,部署到统一对外服务的门面类中 ,简化外部使用者的使用。

另外,XML-RPC已经是一个非常古老的接口形式。在新的TestLink中,增加了Restful的接口。笔者也仿照着TestLinkAPI,写了一个TestLinkRestAPI,感兴趣的读者可以访问https://github.com/patown/testlinkrestapi进一步了解和使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 质问 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 门面模式模式简介
  • 2. 门面模式在TestLinkAPI中的应用
    • 1) TestLink与TestLinkAPI
      • 2) 案例点评
      相关产品与服务
      测试管理
      CODING 测试管理(CODING Test Management,CODING-TM)为您提供井然有序的测试协同管理工具服务,从测试用例库管理、制定测试计划,到协作完成测试任务,为测试团队提供敏捷测试工作方式,提高测试与研发团队的协同效率。提供可视化的工作视图以及数据报告,随时把控测试进度和规划。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档