软件编程规范培训实例与练习

  文件类别:其它

  文件格式:文件格式

  文件大小:72K

  下载次数:105

  所需积分:3点

  解压密码:qg68.cn

  下载地址:[下载地址]

清华大学卓越生产运营总监高级研修班

综合能力考核表详细内容

软件编程规范培训实例与练习
软件编程规范培训实例与练习 o 问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面 出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和环境、其他函数、全局/局部变量或 数据变量之间的数据/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合 失效等严重问题; 维护类问题(C类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题 ,在系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升; 可测试性问题(D类)-指设计、编码中因考虑不周而导致后期系统可测试性差的问题。 o 处罚办法 问题发生率: P=D/S D=DA+0.5DB+0.25DC 其中: P -问题发生率 D -1个季度内错误总数 DA -1个季度内A类错误总数 DB -1个季度内B类错误总数 DC -1个季度内C类错误总数 S -1个季度内收到问题报告单总数 1)当D≥3时,如果P≥3%,将进行警告处理,并予以公告; 2)当D≥5时,如果P≥5%,将进行罚款处理,并予以公告。 目 录 |一、逻辑类代码问题 |第5页 | |1、变量/指针在使用前就必须初始化 |第5页 | |【案例1.1.1】 |第5页 | |2、防止指针/数组操作越界 |第5页 | |【案例1.2.1】 |第5页 | |【案例1.2.2】 |第6页 | |【案例1.2.3】 |第7页 | |【案例1.2.4】 |第8页 | |3、避免指针的非法引用 |第9页 | |【案例1.3.1】 |第9页 | |4、变量类型定义错误 |第10页 | |【案例1.4.1】 |第10页 | |5、正确使用逻辑与&&、屏蔽&操作符 |第17页 | |【案例1.5.1】 |第17页 | |6、注意数据类型的匹配 |第18页 | |【案例1.6.1】 |第18页 | |【案例1.6.2】 |第18页 | |7、用于控制条件转移的表达式及取值范围是否书写正确 |第20页 | |【案例1.7.1】 |第20页 | |【案例1.7.2】 |第21页 | |【案例1.7.3】 |第22页 | |8、条件分支处理是否有遗漏 |第24页 | |【案例1.8.1】 |第24页 | |9、引用已释放的资源 |第26页 | |【案例1.9.1】 |第26页 | |10、分配资源是否已正确释放 |第28页 | |【案例1.10.1】 |第28页 | |【案例1.10.2】 |第29页 | |【案例1.10.3】 |第30页 | |【案例1.10.4】 |第32页 | |【案例1.10.5】 |第33页 | |【案例1.10.6】 |第35页 | |【案例1.10.7】 |第38页 | |11、防止资源的重复释放 |第39页 | |【案例1.11.1】 |第39页 | |12、公共资源的互斥性和竞用性 |第40页 | |【案例1.12.1】 |第40页 | |【案例1.12.2】 |第40页 | |二、接口类代码问题 |第43页 | |1、对函数参数进行有效性检查 |第43页 | |【案例2.1.1】 |第43页 | |【案例2.1.2】 |第43页 | |【案例2.1.3】 |第44页 | |【案例2.1.4】 |第46页 | |【案例2.1.5】 |第47页 | |【案例2.1.6】 |第48页 | |2、注意多出口函数的处理 |第49页 | |【案例2.2.1】 |第49页 | |三、维护类代码问题 |第51页 | |1、 统一枚举类型的使用 |第51页 | |【案例3.1.1】 |第51页 | |2、 注释量至少占代码总量的20% |第51页 | |【案例3.2.1】对XXX产品BAM某版本部分代码注释量的统计 |第51页 | |四、产品兼容性问题 |第52页 | |1、系统配置、命令方式 |第52页 | |【案例4.1.1】 |第52页 | |【案例4.1.2】 |第53页 | |2、设备对接 |第54页 | |【案例4.2.1】 |第54页 | |3、其他 |第55页 | |【案例4.3.1】 |第55页 | |五、版本控制问题 |第58页 | |1、新老代码中同一全局变量不一致 |第58页 | |【案例5.1.1】 |第58页 | |六、可测试性代码问题 |第59页 | |1、调试信息/打印信息的正确性 |第59页 | |【案例6.1.1】 |第59页 | 一、逻辑类代码问题 1、变量/指针在使用前就必须初始化 【案例1.1.1】 C语言中最大的特色就是指针。指针的使用具有很强的技巧性和灵活性,但同时也带来了 很大的危险性。在XXX的代码中有如下一端对指针的灵活使用: ... ... _UC *puc_card_config_tab; ... ... Get_Config_Table( AMP_CPM_CARD_CONFIG_TABLE, &ul_card_config_num, &puc_card_config_tab, use_which_data_area ); ... ... b_middle_data_ok = generate_trans_middle_data_from_original_data( puc_card_config_tab, Ul_card_config_num) .... ... 其中红色部分巧妙的利用指向指针的指针为指针puc_card_config_tab赋值,而在兰色 部分使用该指针。但在Get_Config_Table函数中有可能失败返回而不给该指针赋值。 因此,以后使用的可能是一个非法指针。 指针的使用是非常灵活的,同时也存在危险性,必须小心使用。指针使用的危险性举 世共知。在新的编程思想中,指针基本上被禁止使用(JAVA中就是这样),至少也是 被限制使用。而在我们交换机的程序中大量使用指针,并且有增无减。 2、防止指针/数组操作越界 【案例1.2.1】 在香港项目测试中,发现ISDN话机拨新业务号码时,若一位一位的拨至18位,不会有问 题。但若先拨完号码再成组发送,会导致MPU死机。 处理过程: 查错过程很简单,按呼叫处理的过程检查代码,发现某一处的判断有误,本应为小于18 的判断,写成了小于等于18。 结 论: 代码编写有误。 思考与启示: 1、极限测试必须注意,测试前应对某项设计的极限做好充分测试规划。 2、测试极限时还要注意多种业务接入点,本例为ISDN。对于交换机来说,任何一种业务 都要分别在模拟话机、ISDN话机、V5话机、多种形式的话务台上做测试。对于中继的业 务,则要充分考虑各种信令:TUP、ISUP、PRA、NO1、V5等等。 【案例1.2.2】 对某交换类进行计费测试,字冠011对应1号路由、1号子路由,有4个中继群11,12,13,1 4(都属于1#模块),前后两个群分别构成自环。其中11,13群向为出中继,12,14群向为入 中继,对这四个群分别进行计费设置,对出入中继都计费。电话60640001拨打01160010 001两次,使四个群都有机会被计费,取话单后浏览话单发现对11群计费计次表话单出中 继群号不正确,其它群的计次表中出中继群号正常。 处理过程: 与开发人员在测试组环境多次重复以上步骤,发现11群的计次表话单有时正常,有时其 出中继群号就为一个随机值,发生异常的频率比较高。为什么其它群的话单正常,唯独 11群不正常呢?11群是四个群中最小的群,其中继计次表位于缓冲区的首位,打完电话 后查询内存发现出中继群号在内存中是正确的,取完话单后再查就不正确了。 结 论: 话单池的一个备份指针Pool_head_1和中继计次表的头指针重合,影响到第一个中继计次 表的计费。 思考与启示: 随机值的背后往往隐藏着指针问题,两块内存缓冲区的交界处比较容易出现问题,在编 程时是应该注意的地方。 【案例1.2.3】 【正 文】 在接入网产品A测试中,在内存数据库正常的情况下的各种数据库方面的操作都是正常的 。为了进行数据库异常测试,于是将数据库内容人为地破坏了。发现在对数据库进行比 较操作时,出现程序跑死了现象。 经过跟踪调试发现问题出现在如下一段代码中: 1 for(i=0; idbf_count; i++) 2 { 3 pDBFat = (_NM_DBFAT_STRUC *)(NVDB_BASE + DBFAT_OFFSET + i*DBFAT_LEN); 4 if(fat_check(pDBFat) != 0) 5 { 6 pSysHead->system_flag = 0; 7 ...
软件编程规范培训实例与练习
 

[下载声明]
1.本站的所有资料均为资料作者提供和网友推荐收集整理而来,仅供学习和研究交流使用。如有侵犯到您版权的,请来电指出,本站将立即改正。电话:010-82593357。
2、访问管理资源网的用户必须明白,本站对提供下载的学习资料等不拥有任何权利,版权归该下载资源的合法拥有者所有。
3、本站保证站内提供的所有可下载资源都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
4、未经本网站的明确许可,任何人不得大量链接本站下载资源;不得复制或仿造本网站。本网站对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

 我要上传资料,请点我!
COPYRIGT @ 2001-2018 HTTP://WWW.QG68.CN INC. ALL RIGHTS RESERVED. 管理资源网 版权所有