软件测试-软件代码走查清单模板.docx

上传人:lao****ou 文档编号:87352 上传时间:2023-02-20 格式:DOCX 页数:7 大小:30.77KB
下载 相关 举报
软件测试-软件代码走查清单模板.docx_第1页
第1页 / 共7页
软件测试-软件代码走查清单模板.docx_第2页
第2页 / 共7页
软件测试-软件代码走查清单模板.docx_第3页
第3页 / 共7页
软件测试-软件代码走查清单模板.docx_第4页
第4页 / 共7页
软件测试-软件代码走查清单模板.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件测试-软件代码走查清单模板.docx》由会员分享,可在线阅读,更多相关《软件测试-软件代码走查清单模板.docx(7页珍藏版)》请在第一文库网上搜索。

1、软件代码走查清单检查人:检查口期:20年 月 口审查内容:审查结果:通过口不通过口说 明:序号总则条款执行情况说明一、文件结构1每一个定义文件与其专用的头文件(如果有的话)名称一一对应,共用的头文件只有一个,所有的重定义语句都放在共用的头文件中;是1否1免12头文件中一般只存放“声明”,除“模板”以外不存放其他的“定义”;是否免3所有的函数和全局变量在头文件中进行声明;是否免4头文件和定义文件目录结构合理;是1 否1 免1 5每个程序文件的头部必须包含完整的版权和版本声明;是否免6重要头文件要使用ifndef/define/endif预处理块;是否免二、程序版式7两个函数体(方法)之间留空行,

2、类定义之间留空行,类的成员变量声明及方法声明之间以空行分隔;是否免8除非不得已,不要拆分一个语句到几行,超过80个字符的长行必须拆分成多行,且拆分时尽量保持语句中逻辑结构独立的部分在同一行内,操作符放在新行之首,函数声明语句由于参数过多需要拆分成多行时,参数的类型放在新行之首;是1否1免1序号总则条款执行情况说明9与其对应的“”必须各占一行、对齐于其前面一行语句起始处的同一列,程序体中最外层的“ 与“ ”必须位于顶格,“ ”与“ ”体内的内容缩进四个字符;是否免10一行代码只做一件事,如只定义一个变量,只写一条语句,也不要出现类似wwhile (counter+ do等语句自占一行,不论执行多

3、少行语句,即使不执行任何语句,也要加“和 “” ;是否免14在定义变量(或参数)时,是否将修饰符和紧靠变量名而不是类型名;是否免15注释行数一般不宜少于有效代码行数的四分之是否免16每个函数(方法)定义前必须以清晰的备注对其功能进行描述,且描述符合要求是否免17每个结构(类)定义中体中声明的每个变量之后要加备注描述该成员变量的作用;是否免18注释不能与代码不一致;是否免19类(结构)定义体中对成员变量及成员方法的定义必须以空行分开,无论是方法都依照其属性以publ ic, protected, private为次序进行声明;是1否1免1三、命名规则20对于全局变量的命名,必须以“g_”开头,局

4、部变量不得以“g_”开头;是否免21变量的命名尽量有意义,如果没按意义进行命名,则必须在声明变量时加上备注解释其意义;是否免四、表达式与基本语句22代码行中的运算符超过两个,必须用括号清楚地确定表达式的操作顺序;是1否1免1序号总则条款执行情况说明23if、while语句后面的表达式必须不论长短使用括号;是否免24行语句中的复合表达式不宜超过五个:符,超过五个,分成几个语句来进行关隙作M算;是否免25可以在循环体外的判断语句要避免放在循环体内执行,循环次数大的时候尤其要避免这种情况;是否免26循环语句或者判断语句不要超过五重,超过五重时,想办法在不改变逻辑的情况下重新整理代码;是1否1免127

5、在布尔表达式中不要错误地进行比较,比如说用布尔变量与“TRUE”、“FALSE”或者0、1进行比较,用浮点变量与其它数字进行等于或不等的比较,用指针变量所指内容与“NULL”进行比较;是否免28尽量不要使用“goto”语句时,确实需要使用时要确保不留隐患,例如跳过了某些对象的构造、变量的初始化、重要的计算等;是否免五、常量29对特殊的数据必须定义直观的常量来:示,不能每次都直接在表达式中使用药表攵字;是否免30在C+程序中,要用const常量取代宏常量;是否免31如果某一常量与其它常量密切相关,应在定义中包含这种关系,比如地球直径是地球半径的两倍等;是1否免32类内的const数据成员只在某个

6、对象生存期内是常量,而对于整个类而言却是司变的,在程序中避免错误地将该数据成员当作永远不变的常量;是1否1免1六、函数设计序号33执行情况说明34函数的声明中完整地书写参数(包括类型和名)而不只是参数的类;合理地安排参数的名字及顺序参数命名及顺序,不要使用单字符参数名;35参数的个数不要超过十个;36不要使用类型和数目不确定的参数;37不要省略函数返回值的类型;38函数名字与返回值类型在语义上最好不要39404142434445464748存在冲突;不要函数的将正常值和错误标志混在一起返回,正常值应当用输出参数获得,而错误标志用“ returnn 语句返回;在函数体的“入口处”,最好用“ass

7、ertv对参数的有效性进行检查;不要滥用 “assert”语句,混淆非法情况与错误情况,出错是必然存在的并且是一定要作出处理的;不要用“ returnw 语句返回指向“栈内存”的“指针”或者“引用”对于在函数中不会改变的参数,使用“const” 提高函数的健壮性;函数体的有效代码量一般应为50行;减少公用变量(包括全局变量)在多个函数中的使用,以保证函数的独立性,低耦合性等特性;函数体的有效代码量不能超过200行,一般情况下超过则必须拆分;七、内存管理用malloc或“new”申请内存之后,立即检查指针值是否为“NULL” ;要为数组和动态内存赋初值;序号总则条款执行情况说明49数组或指针的下

8、标不能越界;是否免50动态内存的申请与释放必须配对;是否免51必须在程序中有效地预防和处理“内存耗尽”问题;是否免52在程序中不得修改“指向常量的指针”的内容;是否免53避免出现野指针,例如:指针变量没有被初始化;用“free”或“delete”释放了内存之后,忘记将指针设置为“NULL” ;是1否1免154不要将“malloc/free和new/delete”混淆使用;是否免55malloc语句分配的字节数必须正确;是否免56类型转换必须正确;是否免57在创建与释放动态对象数组时,“new/delete”的语句必须正确无误;是1否免八、C+函数的高级特性5859606?重载函数不能有二义性;

9、是否1 免1 不要混淆了成员函数的重载、覆盖与隐藏;是1否免运算符的重载符合编程规范:是1否1免1不要滥用内联函数,例如函数体内的代码比较长,函数体内出现循环;是否免不要用内联函数取代宏代码;是否免62九、类的构造函数、析构函数和赋值函数63不要违背编程规范而让C+编译器自动为类产生四个缺省的函数包括:缺省的无参数构造函数、缺省的拷贝构造函数、缺省的析构函数、缺省的赋值函数;是1否1免164构造函数中不要遗漏了某些初始化工作;是否免65正确地使用构造函数的初始化表;是1否免序号总则条款执行情况说明66析构函数中不要遗漏了某些清除工作;是否免67不要错写、错用了拷贝构造函娄4 .9攵和赋值函是否

10、免68赋值函数一般分四个步骤:检卫释放原有内存资源;分配新的P并复制内容;返回*this。不要土骤中的任何一个;至自赋值;勺存资源,量漏这些步是否免69正确地编写派生类白赋值函数。注意事H继承基类的构造函到数;派生类的构造目调用基类的构造函类构函数应该为虚(艮在编写派生类的赋4记对基类的数据成步勺构造函数、页包括:派勺攵、析构函娄数应在其农攵;基类与9口加virtual茎函数时,左Q重新赋值;析构函数、匚类不可能攵、赋值函1始化表里定生类的析关键字);工意不要忘是1否1免1十、类的高级特性70不要违背继承和组合的规则包括:若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允

11、许B继承A的功能和属性;若在逻辑上A是B的“一部分”,则不允许B从A派生,而是要用A和其它东西组合出B;是否1 免1 十一、其它问题71数据类型问题如:变量的数据类型不能有错误;不同数据类型间不能赋值;不同数据类型间不能比较;是1否1免172变量值问题如:变看须正确;变量不能2的精度要保证足够;置的初始化或缺省值必文生上溢或下溢;变量是否免73逻辑判断问题如:要确保不会在程序中出现由于精度原因而导致的比较无效吗;确保表达式中的运算优先级正确;确保逻辑判断结果正确;是1否1免1序号总则条款执行情况说明74循环问题如:确保循环终止条件正确;避免死循环;确保循环变量不被错误修改;避免误差的累积;是否免75错误处理问题如:不能遗漏忘错误处理;确保发生错误时,错误处理程序块会被运行;确保错误处理程序块本身正确;确保错误处理程序被执行的时机正确;是否免76文件I/O问题如:避免对不存在的或者错误的文件进行操作;确保文件以正确的方式打开;确保文件结束判断的正确;正确地关闭文件;是1否1免1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服