工做经验总结

团队管理

 

开发管理

1. 系统联调

场景描述网络

  当前的智能音箱项目组由 音箱设备端 -> Proxy代理 -> 语音语义及技能 三大系统组成。设备端负责用户语音数据的采集、上传至Proxy端,Proxy负责数据透传,语音语义团队将接收到的音频数据进行解析并实现相应技能。技能按照相反的顺序返回至音箱设备端。目前的现状是整个工做流程不可靠,到底是哪一个环节也都说不清,可定性的定位故障点在Proxy与语音语义环节,至少proxy发送的音频与语音语义接收到的数据是不一致的。整个调试还得三个小组分别派人联调。工具

 

解决方法单元测试

  • 从逻辑上来讲应把这三个团队划分明确的边界,对接部分肯定明确的输入输出。
  • [ 用户语音(输入) - 智能音箱 - 音频数据(输出) ]    =>    [ 音频数据(输入) - Proxy - 音频数据(输出)]    =>    [ 音频数据(输入) - 语音语义 - 技能结果(输出) ]。
  • 从上述流程可知各团队真正依赖的是音频数据,因此各个环节均应生成相应的音频数据文件,经过 BeyondCompare 等文件比较工具进行差别比较。
  • 各团队对接部分只需确保各自环节的输入输出正确性便可,这样可避免相互的依赖关系。
  • 每一个环节均实现打桩数据,便可直接根据已有的数据文件进行本系统模块功能的测试,这样可解决上一环节的依赖。
  • 每一个系统均实现单元测试代码,集成测试或系统测试时都可很是方便的实现自动化测试,定位问题故障。
  • 网络通讯环节可经过WireShark等抓包工具进行精准分析。

 

配置管理

1. 文件管理

场景描述测试

  当前项目组中的项目资料SVN既包含项目管理文档、我的工做文档、第三方资料库等。其中我的文档中的工做成果可能包含比较大的第三方类库、资源文件,第三方资料库可能包含一个开发板的系统镜像等,若是将全部数据都纳入项目管理使用的SVN库,必然形成版本库文件过大,并且那些私有的大文件对绝大部分人来讲是彻底不关心的。所以,我认为对于大文件应该单独保存,SVN中只需包含相应大文件的资源连接,用户根据须要可自行下载。这样既保证了数据的完整性,也保证了项目库的简洁性。

代理

解决方法调试

  • 文件管理应分为大文件管理及小文件管理两部分。由于大文件混杂在SVN、Git等受控库时,初次下载代码时均会下载大量大文件,严重影响下载速率及本地磁盘占用空间。项目管理

  • 大文件管理是指安装文件、光盘镜像、大于10M的文档资料等,应经过共享文件、HTTP、FTP下载等方式管理。资源

  • 小文件管理是指受控的代码、文档、资料、可交付成果等,应经过SVN、Git等方式进行管理。开发

相关文章
相关标签/搜索