1.需求不明确
2.系统设计的结构性缺陷
3.设计文档残缺,需求设计等文档没有保持同步更新
4.测试的完整性和深入性
5.违反软件开发流程
6.不遵守编码规范
7.开发不按照设计文档进行
8.对发现的bug不重视
9.项目经理对项目进度、质量
1978年,麦考尔(McCall)等人提出了从软件质量要素、准则到度量的三层模型
3个层次:
产品运行、产品维护、产品迁移
11个因素:
(产品运行5个因素):正确性、完整性、可靠性、效率、可使用性
(产品维护3个因素):可维护性、可测试性、灵活性
(产品迁移3个因素
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
持续集成的宗旨是避免集成问题,如同在极限编程(X