TTCN3新执行器系列-序

来源:互联网 发布:快3遗漏数据分析 编辑:程序博客网 时间:2024/05/19 23:26

为什么说是TTCN3新执行器?

因为来公司时,项目组已经有一个基于内存对象模型的TTCN3执行器,就是大名鼎鼎的GTR。

为什么要做个新的?

因为业界都是基于语言转换模型的,为了向业界看齐,也为了后续执行器的长期演进,所以投入了几个人来预研,当然我作为一个刚来报道的新员工很幸运的加入了其中。

反思这近三年的开发,总的来说项目不算成功,甚至可以说是半失败的,当然这里面有太多的原因,例如:

1、技术没有得到很好的积累传承。

第一代执行器的开发骨干基本没有参与进来,按照albert的说法,刚开始做的时候连执行器是如何跑的都是不知道的。

用无知者无畏来形容非常贴切,但这显然不是一个好的开发模式。

2、对存在风险评估不足,甚至很多时候过于乐观。

如果从一开始就要求10W行的脚本,一体化转换编译控制在2分钟内,那估计项目早就cut掉了。

就是因为很长一段时间对我司TTCN3代码量规模评估不足,基本是见一个技术难点攻克一个,所以项目一直不死,但也发展不起来。

3、过多的代码重构

这个和第一点很有关系,项目从一开始就未能在正确的路上走下去,遇到太多完成98%功能而2%无法逾越的问题,结果推倒重来。

后面无数经验表明,现在的模型是越做越简单,代码量是越重构越少,可惜之前很多东西欠缺考虑。

4、应用模式问题

基于内存对象模型和基于语言转换模式是两个时代的东西,

前者适合基于脚本层的修改编译,后者更倾向于代码固化然后调用。

核心思想就是,需要从基于testcase的测试模型,转向到基于actionword的测试模型,

可以说,新执行器是天生适合actionword的,特别适合测试用例占据测试套75%甚至更多代码量的情况。

开发很多思想其实都适合于测试领域,譬如代码分层,接口调用。。。

5、人员培训

稳定的核心团队非常重要,但具备阶梯式的开发团队同样重要。

做架构的要有,做主力开发的要有,哪怕做基层持续集成的人同样那么重要。