多人协作的项目中应该注意的问题

在进行LTE eNodeB的PDCP模块重建立功能测试时,经过一周调试,发现了三个主要问题:消息分发不支持L3配置的 suspend消息,SRB2和DRB恢复延迟,以及PDCP DRB上行动态参数错误。这些问题出现在PDCP模块之外,缺乏集成测试是主要原因。反思表明,对他人维护的代码关注不足,编码错误,以及因时间紧张放弃集成测试都是教训。未来开发中需重视集成测试,全面理解相关模块的代码。
摘要由CSDN通过智能技术生成

(*************这是一个相当个人化的笔记,不适合通用阅读,请见谅。*************************)

现阶段我正从事LTE eNodeB 的空口协议软件开发,这一周测试了一个自己维护的模块 PDCP的 重建立功能的测试。  持续了一周,最后的问题都出在自己模块之外的配置管理相关的代码。

从上周三早上开始调重建立,到这周三晚整整一周时间,此次调试的经验教训总结并没有结束,还有很多值得反思。

从开始到结束总共就三个主要问题:第一个问题是消息分发不支持L3配置的 suspend 消息类型,导致L2的PDCP和RLC不能及时suspend; 第二个问题是 SRB2和DRB 在重建立后没有及时从suspend状态恢复到running 状态,导致承载于SRB2 上的上行直传消息收不到; 第三个问题是PDCP DRB 维护的上行的动态参数 lastSubRxSn(上次向高层提交PDU的序列)应该在RRC 的connected状态下一直被维护不被外部更改,但在重建立重配置时将其重置为默认值4095,导致重建立后上行DRB数据不能上发到S1。


出现第一个问题的原因和一般性心理因素有关:大家一般都对自己负责的代码小心谨慎地维护好,对他人维护的代码往往不关注,比如<消息分发>,我自以为L2L3接口定义的已有消息类型都会支持……,没有亲自走读消息分发的代码去核实。

第二个问题是编码问题,在for 语句里没有正确使用break语句。

这三个问题有个共同特点:都在PDCP模块之外被维护,测试时没有引起重视,没有做集成测试。

自己在做重建立单元测试时仅仅专注于自身PDCP模块内部的协议处理,没有测试外部的配置消息。其实只要一个集成测试模拟从L3下发配置消息到&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值