软件质量的定义
软件质量分为软件产品质量和软件过程质量两个方面。
软件产品质量主要包括内部质量和外部质量,内部质量通常是指软件产品在开发过程中各个环节注入的产品质量属性,外部质量是指用户可以感知到的属性。
内部质量(共6个特性):可维护性、灵活性、可移植性、可读性、可理解性、可测试性
外部质量(共
1.需求不明确
2.系统设计的结构性缺陷
3.设计文档残缺,需求设计等文档没有保持同步更新
4.测试的完整性和深入性
5.违反软件开发流程
6.不遵守编码规范
7.开发不按照设计文档进行
8.对发现的bug不重视
9.项目经理对项目进度、质量
1978年,麦考尔(McCall)等人提出了从软件质量要素、准则到度量的三层模型
3个层次:
产品运行、产品维护、产品迁移
11个因素:
(产品运行5个因素):正确性、完整性、可靠性、效率、可使用性
(产品维护3个因素):可维护性、可测试性、灵活性
(产品迁移3个因素
最近热门的张小泉品牌菜刀门事件背景:广州一消费者使用张小泉菜刀拍蒜后刀面断裂,后联系张小泉官方客服,客服却表示称“不建议拍蒜。
事后,张小泉总经理夏乾良还在采访视频中表示中国人切菜方法不对,称所有的米其林厨师都不是这样。引发大量网友吐槽。
这件事一定程度反映的是一个企业对客户需求和产品质量的认知,
传统质量观点
每日构建(Daily Build)也可称为持续集成(Continuous Integration)。每日构建意味着自动地,每天,完整地构建整个代码树。
持续集成可以减少集成阶段"捉虫"消耗的时间,从而最终提高生产力。它使得绝大多数bug在引入的同一天就可以被发现。而且,由于一天之中发生变动的部分并不多,所以可以很快找到出错的位置。