在这浮躁的时代,评价一个优秀的测试人员,标准不是技术有多牛,开发的工具有多炫,职位有多高,收入令人羡慕。而是,如何务实、用心的为提升效率和质量,如何交付高质量的版本而努力工作。还是刚入行那句话,不忘初心,方得始终
提升质量,先分析缺陷是如何从出生到线上的
1.开发人员没有进行有效的单元测试,带着一大堆问题提交;
2.代码没有进行Code Review,带着一大堆问题入库;
3.版本没有提测标准,带着一大堆问题到测试环境;
4.测试人员没有充足的时间,基于黑盒很难覆盖到每条路径;
5.生产部署出纰漏,线上没有进行快速有效的回归。
这部分没做好,缺陷会犹如源头之水,接踵而至
--------------
Code Review常规检查点:
1.异常处理:是否需要捕获异常,捕获异常了有没有处理,捕获未处理的有没有往上抛,往上抛的有没有被上层处理;
2.补偿机制:是否需要补偿机制,补偿机制是否合理;
举个例子:完成一个方法有A、B、C三种方案,正常情况下走默认的A方案,如果遇到xx问题,走备选方案B,如果遇到xx问题,走备选方案C。同时,还要鉴定备选方案B、C是否合理,是否为最优方案。
3.NPE问题:某些赋值或条件,如果不进行适当的健壮性处理,会存在空指针的隐患;
4.大对象IO:某些地方如果频繁进行大对象的磁盘IO,可能对性能造成影响,程序员容易在打日志的时候疏忽这个问题;
5.SQL问题:业务层面,需检测操作的数据,如查询的数据是否符合业务预期。性能方面,需检测该语句是否存在性能问题;
6.隐私安全:对于金融产品涉及的账密、证件、手机、银行卡等敏感信息是否进行了脱敏处理;
7.资源浪费:浪费内存资源、cpu资源等情况;
例如:对变量赋值,而该变量从未使用、字符串用+连接、对象无意义的new了一个实例等。
8.参数校验:重点关注Controller层的方法入参,是否如接口文档设计进行了必填项、取值范围、长度、类型等校验;
9.内存泄露:使用的资源未释放,可能导致内存泄露,如流文件未正确关闭等;
10.错误码设计:糟糕的错误码设计和错误描述,不利于今后的问题定位。
网友评论