No.序号 | Checklist检查项 | Status执行情况 | Comment说明 | |||
日志公共规范 | ||||||
1 | 日志类别是否齐全 | 运行日志、操作日志、安全日志、接口日志、调试日志、统计日志、跟踪日志,根据系统设计规格确定是否包含上述日志 | ||||
2 | 日志命名、存放路径是否规范统一 | 参照系统设计规格 | ||||
3 | 日志级别定义是否合理,默认日志级别是否合理 | 参照系统设计规格 | ||||
4 | 日志级别修改是否易用 | |||||
5 | 是否满足除数据信息外,日志文件内容全部使用英文描述,并且无语法、拼写错误,语句通顺,言简意赅,无含义模糊的单词 | |||||
6 | 日志文件中密码是否密文记录 | |||||
7 | 日志表达语义是否完整准确 | 不允许出现非国际、行业公认的英文缩写 | ||||
8 | 出错或导致业务失败的地方是否输出打印日志,内容是否包括错误码、错误详细描述 | 错误详细描述中必须要包含的内容如下: 1、变量值越限错误,需要输出变量的当前值, 值的正确取值范围; 2、配置错误,需要输出错误的配置项/配置值、期望的配置值(范围); 3、文件类错误,需要输出相关文件名、路径; 4、数据库类错误,需要输出相关数据库名、表名和字段名(如果涉及)。 | ||||
9 | 非调试级别日志中不能出现编码中的对象结构、方法接口名称等涉及代码内部实现的细节信息, | |||||
10 | 非调试日志中不能打印源码文件名、行号和原始码流 | |||||
11 | 非调试级别日志中不能输出Java异常堆栈 | |||||
12 | 涉及业务处理的日志是否输出会话id | 会话id便于跟踪业务的处理全流程 | ||||
13 | 在循环体内不能记录非调试日志 | 如有必要可在退出循环处记录日志 | ||||
14 | 递归调用是否只在最高级调用者处记录日志,中间各级调用者都未记录非调试日志 | |||||
15 | 日志是否有访问权限控制 | 管理员才能有删除权限 | ||||
16 | 系统中所有可能短时间内频繁输出的日志点是否进行日志的泛滥抑制设计 | 频繁输出日志点包含但不限于: 通信连接的中断与恢复 队列、堆栈溢出 消息收发 状态检测 业务逻辑的执行 | ||||
17 | 日志是否有备份策略 | |||||
运行日志 | ||||||
1 | 系统运行过程中的异常状态和异常动作是否记录运行日志 | 如集群主备倒换、数据库断连、TCP(UDP)连接断连、定时器超时、系统死循环、心跳失败、消息发送失败等 | ||||
2 | 系统进程运行过程中的关键事件是否记录运行日志 | 如系统启动、系统关闭、系统重启、进程吊死 | ||||
3 | 系统关键线程的运行情况是否记录运行日志 | 如线程启动、线程挂起、线程恢复、线程退出,线程吊死 | ||||
4 | 系统运行使用的资源异常信息是否记录运行日志 | 如CPU、内存、硬盘、VM、SLEE等资源的过载和恢复信息、以及资源破坏信息、资源操作错误信息、数据库表锁定、后台资源的定时清除等 | ||||
5 | 统对业务消息处理的过负荷和恢复信息是否记录运行日志 | |||||
6 | 业务的关键流程调用结果是否记录运行日志 | |||||
7 | 业务的加载、卸载是否记录运行日志 | |||||
接口日志 | ||||||
1 | 接口日志的格式是否正确规范 | 接口日志的格式规范:日期时间|级别|接口类型|接口名称|源端设备|宿端设备|跟踪标识|事务标识|返回码|自定义字段一|自定义字段二|自定义字段三|…… \n | ||||
2 | 业务流程中与外部系统的消息收发(双向)是否记录接口日志 | |||||
3 | 业务流程中内部模块的接口调用不记录接口日志 | |||||
操作日志 | ||||||
1 | 用户进行的业务操作是否记录操作日志 | |||||
2 | 维护人员进行的运维操作是否记录操作日志 | |||||
3 | 定时任务触发的操作是否记录操作日志 | |||||
4 | 对系统的资源和运行有影响的后台命令是否记录操作日志 | 如修改、删除、启动停止 | ||||
5 | 系统配置参数的修改是否记录操作日志 | |||||
6 | 管理员进行的资源管理操作是否记录操作日志 | |||||
安全日志 | ||||||
1 | 系统用户的登录、注销、鉴权、锁定和解锁等活动是否记录安全日志 | 系统用户:包括系统管理员、操作维护员、系统监控员等 | ||||
2 | 管理员给用户授权是否记录安全日志 | 如权限的授予、回收、转移等 | ||||
3 | 维护人员修改了系统保存的密钥是否记录安全日志 | |||||
4 | 用户修改自己口令是否记录安全日志 | |||||
5 | 文件的加密、解密是否记录安全日志 | |||||
6 | 会话的建立、锁定和解锁是否记录安全日志 | |||||
7 | 用户的非法访问行为是否记录安全日志 | 如用户A企图删除用户B的VM资源 | ||||
8 | 系统相关安全配置是否记录安全日志 | 如安全日志内容配置 | ||||
9 | 重要资源的变更是否记录安全日志 | 如某个重要文件的删除、修改等 | ||||
调试日志 | ||||||
1 | 调试日志是否有打开关闭功能,是否有定时自动关闭调试日志功能 | |||||
2 | 所有出错或导致流程失败的地方是否记录调试日志 | 日志内容必须包括出错的具体描述,出错的根本原因表示,关键变量的值及数据描述 | ||||
3 | 调试日志是否可定位所有问题原因 | |||||
4 | 对外接口函数和给外部回调接口函数的入口和出口点是否记录调试日志 | 入口需要打印所有入参名/值,出口需要打印所有出参名/值和执行结果;公共库函数原则上不记录调试日志,但需要将错误信息传递给调用者(例如通过全局变量或返回值),由调用者将错误信息记录调试日志 | ||||
5 | 关键流程的入口和出口是否打印begin和end标识 | |||||
6 | 影响流程分支走向的关键变量值是否打印记录 | |||||
7 | 定时器启动/停止是否记录调试日志 | |||||
其他 | ||||||
软件的升级操作是否记录日志 | 包括远程升级和本地升级 | |||||
对重要业务数据的创建、删除、修改是否记录日志 | 特别是与财务相关的数据,包括:卡号、余额、话单、费率、费用、订单、出货、帐单等 | |||||
统计日志 | ||||||
跟踪日志 |
日志测试Checklist
最新推荐文章于 2023-07-21 16:02:03 发布