容易被忽视的软件质量
广义的质量其实包括软件产品交付流程中的方方面面,每个环节的一点疏忽都可能对软件质量造成不同程度的影响。下面列举一些做项目的过程中容易被忽略的质量:
- 需求分析过程仓促,或者参与人员角色比较单一,导致业务上下文了解不够,关键场景缺乏考虑等;
- 设计稿变更频繁,导致写好的代码又重新推翻;
- 项目初期只考虑少量用户的场景,随着业务的发展,系统功能难以扩展,导致严重性能瓶颈;
- 缺乏跨功能需求的关注,导致严重的安全或者性能问题;
- 忙于交付更多的功能,忽略了对代码质量的关注,该重构的没有重构,在原本不太健康的代码基础上继续增加更多的代码,导致混乱,筑起高高的技术债;
- 大面积的重构发生在版本释放前夕,无法全面回归,带来很大的风险;
- 技术选型失误,开发困难,没有及时改进,一错再错,最后问题严重到无法弥补;
- 第三方组件评估不够充分,导致线上环境无法承载等;
- 开发缺少对异常情况的处理,测试过程缺乏探索,只覆盖到主干路径,边角用例可能引发问题;
- 开发或者测试都只考虑当前功能模块,缺乏更广范围的考虑;
- 没有足够的测试覆盖,导致新增代码容易破坏已有功能;
- 对实体环境了解不够,而且没有足够日志信息记录,问题难以定位,导致问题解决时间过长;
这样的问题还有很多很多,无法一一枚举。每个角色,每个环