前言
在我之前的文章《如何提高送测版本的质量?》中,已经探讨了全局性的考虑及测试人员如何提升送测版本的质量。今天,我想从开发人员的角度,探讨如何进一步改善版本质量。以下观点是基于我所在公司的实际情况,如果您有更为独到的见解,非常欢迎共同探讨。
公司背景
我所在的公司位于青岛,虽是一家本地公司,但在版本管理流程上,我们拥有清晰且规范的流程。尽管如此,我们在版本管理方面仍然面临诸多挑战(以下将举例说明)。我们公司目前使用SVN管理源码,所从事的项目是软硬件集成,涉及多个大型项目(由多个子项目集成),采用迭代开发模式。
版本发布过程中存在的一些问题
1. 带风险上线:尽管版本已经送测,测试人员仍会发现一些一般和轻微的bug。但由于客户对版本中的主要功能需求迫切,项目经理选择带风险上线。长期遗留的bug导致部分功能始终无法完善。
2. 代码合并时处理冲突不当,导致版本冒烟测试不通过。
3. 打增量包时遗漏部分打包项,如关键的jar包。
4. 测试环境与用户使用环境存在差异,使得部分问题在测试环境中难以发现。
5. 在部分bug排查上花费过多时间,或在技术研究上超出预期时间。
6. 多个子系统相互依赖,一个子系统的版本发布可能需要等待另一个子系统的对应版本,造成上线延迟。
7. 版本质量不佳,每次发布新版本时都会引入新的问题,导致版本迟迟不能上线。
针对以上问题的分析和应对措施
对于上述问题,我们采取了以下应对措施:
1. 在上线前,项目经理需要明确哪些bug需要处理,哪些可以遗留。对于遗留的bug,需要做出原因说明并给出解决时间表。测试部门会在测试报告中记录这些遗留bug,并定期进行跟踪。
初期,我发现遗留bug管理工具中堆积了大量历史bug,其中一些甚至已经存在两三年。我尝试每周发送bug状态跟踪邮件以引起项目经理的重视,但效果并不显著。后来,我改变了策略,先内部重新验证bug,然后与项目经理逐条核对,分类处理。这种方式更具目标导向,更有效地推动了问题的解决。
2. 针对代码合并时出现的问题,主要是因为开发者在合并时不够细致。解决这个问题,可以考虑设立专人负责代码合并,并在模块分工上保持一致性。可以制定配置管理指南,并进行定期培训。
3. 对于打包内容,需要明确并沟通确认。对于复杂项目,可以召集相关人员进行讨论。打包完成后,需要进行冒烟测试,确保没有遗漏。
4. 对于测试环境与使用环境的差异问题,目前尚无有效的预防措施,但我们可以对出现的问题进行分析总结,并在后续开发过程中加以注意。有条件的话,可以使用客户的环境进行验证。
5. 如果在技术问题上短时间内没有解决思路,可以多与公司的技术大牛沟通,寻求经验或技术上的指导。
6. 对于子系统间的依赖问题,加强沟通是关键。虽然设计文档是一种沟通方式,但效率可能不高。我们可以寻求更有效的沟通方式,如定期会议等。 |