以下是我们近期一个B/S系统的单体测试标准检查清单。这是我统计分析了项目开发的单体测试出的几百个Bug总结写出的。
按照检查清单一条条去检查程序,会花费不少时间,但是可以培养员工规范的工作方式和提高程序的质量,
减少将来错误的发生,最终可以提高工作效率。
应用上主要用于开发者自己测试自己开发的程序。以及在第3人测试经验不足的开发者的时候应用。
可以说,任何软件开发项目都应该应用一份标准检查清单以提高质量和效率,只是检查清单的详细程度可以根据项目需要进行一定的修改。
**管理系统单体测试标准检查清单 CheckList | 开发者 | 测试者 | ||||
测试程序名称: | ||||||
# | 分类 | 类型 | 内容 | 检查状况 | ||
代码检查 | ||||||
命名 | 命名规则 | 程序代码里所有控件、变量等的命名规则是否遵守开发标准? 文件命名、字段命名、控件命名(下拉框DDL、输入框Txt、弹出框Pop) |
||||
命名 | 命名规则 | 有没有英文拼写错误? 有没有使用Test1等不合理的名字? | ||||
命名 | 方法名称 | 自定义的方法命名是否容易理解,命名意义是否能够涵盖该方法的所有功能? | ||||
资源文件 | 是否所有界面元素和弹出信息的中文显示都使用了资源文件? 除了注释之外代码里不要出现中文. | |||||
注释 | 注释 | 是否每个方法都注释了其用途、目的、参数和返回值(函数级注释)? | ||||
注释 | 注释 | 是否每段复杂的逻辑段落都进行了简单易懂的注释说明(代码段级注释)? | ||||
注释 | 注释 | 是否在不易理解或关键的分支代码行上做了合适的注释(代码行级注释)? | ||||
注释 | 注释 | 是否有注释掉的应该删除的无用代码? | ||||
注释 | 注释 | 是否在每个弹出提示信息的地方都有注释说明提示什么?什么条件下提示? | ||||
逻辑 | 逻辑代码 | 是否有多余代码? 如:是否Grid的Bind事件一次检索按钮执行了两遍。 | ||||
逻辑 | 逻辑代码 | 代码是否合理写在相应的分层上? 复杂的逻辑计算是否写在界面层的CS文件里? | ||||
逻辑 | 脚本逻辑 | 有无多余参数传递? | ||||
逻辑 | 页面层逻辑 | |||||
逻辑 | 页面层逻辑 | 页面值的取得是否有用HOLDConvert.ObjectTo…方法转换?以免Null值等计算错误 | ||||
逻辑 | 回调 | 是否为了不刷新界面使用了回调方法? 有没有多余的回调动作? | ||||
逻辑 | BLL层逻辑 | 方法的调用参数设计是否合理? | ||||
逻辑 | DAL层逻辑 | |||||
逻辑 | 删除 | 删除一条数据时,是否考虑了关联删除其他数据(下属节点或相关子表的数据)? | ||||
逻辑 | 删除 | 该数据有无被用,有无提示用户确认? 被用的情况下是否应该不可删除? | ||||
逻辑 | 事务 | 查询功能是否多余地使用了事务? 更新功能有没有漏掉事务的处理? (BeginTrans,Commit,Rollback) | ||||
运行检查 | ||||||
界面 | 界面显示 | 页面在1024*768状况下显示是否正常,有没有多余的IE自带滚动条。 | ||||
界面 | 界面显示 | 界面是否美观,布局是否合理? 有没有不应该的折行等。 | ||||
界面 | 界面显示 | 字段是否根据输入内容多少变动长短? 是否有限制不合理的输入过长的字符? | ||||
界面 | 数据默认值 | 所有新增数据的页面里,是否有考虑数据的默认值,以减少用户输入的工作量?如果有几个字段具有关联性时,输入其中一个后,是否考虑能够为相关其他项目设置默认值? | ||||
界面 | 数据排序 | 一览明细数据是否合理排序? (一般考虑为主关键字段或主要识别字段的升序,或者主要日期字段的降序等。) | ||||
界面 | 数据排序 | 下拉框的数据是否合理排序?数据是否过多? 方便选择吗? | ||||
界面 | 数据格式化 | 日期是否合理的年月日格式化? 金额是否按照会计金额格式化了且右对齐? 小数位数是否合理? | ||||
界面 | 字段显示 | 有没有【说明】【备注】等可能很长的数据字段将页面撑的很难看? | ||||
界面 | 字段显示 | 是否有无用的ID显示? 是否有看不懂的字段(如是否显示Y、N、状态显示1,2等)? | ||||
界面 | 字段显示 | 编辑状态时,是否有些不该用户控制的字段没有设为只读?(如状态等) | ||||
验证 | 必须输入项 | 数据的关键字段是否设置了必须输入? 业务逻辑上必须有数据的字段是否设置了必须输入? 必须输入项目是否通过颜色区分开来了? | ||||
验证 | 录入数据测试 | 是否进行了下面几种数据的测试? 数据项空、数据项满格(测试输入框是否太短)、错误数据(如金额输入负数)、错误类型数据(如:需要输入数字的地方输入文字、需要输入日期的地方输入金额等)、真实业务数据 |
||||
验证 | 录入数据测试 | 是否进行了连续多条数据增、删、改、查的操作测试? 每步确认后台数据是否正确更新了? 有没有少更新相关表? 特别是更新关联父表的状态等。 | ||||
动作 | 按钮可用性控制 | 编辑和删除、打印等按钮是否在没有选择数据或没有数据的情况下不可用? 在更新等处理完毕后按钮的可用性是否合理? |
||||
动作 | 动作验证 | 页面的输入动作、鼠标单击、鼠标双击动作时是否正常? | ||||
动作 | 双击 | 弹出一览选择窗口双击时应该是选中并返回。 一览明细部双击应该是打开查看页面。 | ||||
动作 | 选中数据 | 数据是否可以多选? 选中和未选中时相应的动作是否正常? 有子查询的功能里, 子查询的明细数据是否根据选中的数据查询显示? | ||||
动作 | 查询 | 查询出的数据是否按照输入的条件查询? 有没有多查出数据? 有没有少查出数据? 有没有应该是模糊查询的字段? 有没有一个个条件测试? 当查询没有数据时页面状态是否正常? |
||||
动作 | 查看状态 | 页面属于查看状态时,是否还有字段可以输入? 是否保存按钮还可以使用? 是否附件打不开? | ||||
动作 | 附件图片 | 附件、图片等附属信息是否正确地与业务数据关联了, 有没有不同的业务数据关联到了同一个附件图片? | ||||
动作 | 分页 | 使用分页的Grid是否还有多余的竖直滚动条? 选择第2页之后是否正常显示? | ||||
动作 | 编码 | 新增时,编码字段有没有自动按照规则设置默认编码? | ||||
动作 | 提示 | 有没有多余的提示? 一个动作多次提示等 | ||||
动作 | 编辑 | 编码、主键字段在编辑状态应该不允许修改。 | ||||
性能 | 性能 | 数据的检索、画面弹出、更新等是否有太慢的动作? | ||||
安全 | 权限 | 没有无某项目权限的人能否查看或编辑该项目的相关信息? | ||||
报表 | 多页 | 多页时有无空页, 题头、页脚、页码数、报表日期、分组、小计、合计是否正常,有没有被截断的文字。 | ||||
报表 | 对齐 | 各个字段与题头横向、纵向是否对齐? 数字是否右对齐? | ||||
数据 | 数据库视图 | 创建视图命名原则上V_表名或对象名。 如果有明显复杂业务逻辑的视图则命名为View_对象名。设计的SQL文里,主表字段采用*取用所有字段。 视图是否看得懂? | ||||
参考 | 本系统中有无跟该程序很类似的程序? 如果有,则测试使用一下, 有什么使用不统一的地方? 画面布局上有没有不统一的地方? |