`
CharlesCui
  • 浏览: 418550 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

要以可持续发展的眼光去做技术选型,嘿嘿^-^

阅读更多
部门内部有个很不错的项目叫太极.

大家可以翻翻我的博客,我提起过给这个项目起名的一些花絮.

这个项目是对各种技术开发的产品做集成测试的平台,对于被测试的项目到底是基于什么语言这已经不是它所关心的问题了,太极可以解决所有语言的单元测试,集成测试和其它自动化测试问题.说白了,只要是要对代码进行自动化测试,它都支持,不管你用的是什么语言写出来的咚咚.

太极一期还是一个只针对java或者说junit项目作测试的平台,
但到了二期,我的设计思路是:将太极核心代码高度抽象,就做平台,不关注被测试产品,这个平台只提供对测试场景和测试用例已经产品线和帐户体系的管理,并将测试场景和用例的新建修改删除以及执行通过开放高层协议接口,开放出去.

太极核心平台开放的这些接口将提供给所谓的代理端调用,这些代理端是负责具体语言的测试代码的解析,以Junit来说,junit的测试代码放到svn后,太极平台告诉java的太极代理端去指定的svn地址拉取代码并且编译,然后代理端分析junit代码把其中的各个用例以及用例的注释甚至用例的代码保存到太极核心平台数据库,这样的好处是等下一次用户在太极核心平台点击执行用例的时候,他可以选择执行这个junit代码包里的某一些用例,这是可以选择的!这个很不错.


当然,junit的设计是这样,其它的xunit的设计也是这样,太极二期将会做c++和python的代理端,以后还会支持更多,但由于我们不再关注其它对于我们公司来说的小语种语言了,所以其它的代理端将由用户自己来编写,按照我们太极核心平台提供的接口.

还有更好玩的呢,除了这些执行代码的代理端,太极还将与各种bug管理系统打通,执行这一步任务的我称之为BugMetaServer,比如我现在就想让它跟QC打通,那么好,这个就叫QCMetaServer,看我之前的博客,我写了一个例子.这些BugMetaServer对太极核心平台提供统一的接口,测试人员常去这些Bug管理系统不经常上太极,那就让他们从那里可以看到太极的用例和场景,并且还有个更重要的作用就是,太极代理段执行期间遇到的bug会自动提交给太极核心平台,太极核心平台将通过这些BugMetaServer来提交bug给bug管理系统,不错吧^-^

太多的口水.

跑题太远了.

太极一期,我负责绝大部分的页面,当时我做的技术选型是用Extjs,然后大家或多或少的也学了一下.因为我当时只会Ext,别的不会,但这个东西有个很大的毛病,就是如果你不是专业的美工或者说UI,遇到一个javascript异常,你要折腾好久好久!痛不欲生啊.
现在在做太极二期,我不需要做全部的页面了,每个人都要接触一下,我咨询了大家的意见,不管是用过Ext的还是没用过Ext的,不管是会一点的还是一点都不会的,都觉得用Ext写页面碰到问题的话是个恐怖的事情!之后我也考虑到Ext太大了,不利于开源小项目的发展,毕竟大家平时写项目的话还是小项目居多,所以我决定二期用Flex来重写太极的全部页面包括报表.

这就是我要说的要用可持续发展的眼光来做技术选型.开始只有一个人会并且也只有着一个人需要用到这种技术,那他的话分量会很足,但以后不止他一个人用,或者他跳槽了怎么办?学一些新知识很累,学一些很不常用的新知识更让人很消极,Ext和Flex都属于这样的东西,还是要在最初选型的时候考虑到未来的情况,避免少走弯路,学了Ext又学Flex.

对于学习新东西而且用处不大的东西,大家都会有抱怨,你要理解他们,更要让他们理解你.

合作愉快!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics