本文共 1884 字,大约阅读时间需要 6 分钟。
质量是产品或服务满足明确和隐含需要能力的性能特性的总体。软件质量是软件满足明确说明或隐含的需求的程度,不仅包括符合规定的要求和客户隐含的需求。
软件质量反映以下3方面问题:
区别:
不管等级高低都可以在自己的等级中做到最高质量
几个概念:
质量成本:由于第一次工作不正常而衍生的附加花费。包括预防成本和缺陷成本
(1) 预防成本(一致性成本):本着预防重于事后检查的原则,预防成本应大于缺陷成本
预防费用:使项目符合所提要求预防失败所衍生的成本评估费用:使项目符合所提要求(第一次)检测缺陷所衍生的成本审计:对过程或产品的一次独立质量评估(2) 缺陷成本(非一致性成本):修复缺陷工作或耗费的费用
内部费用:对于不能符合所提要求、尚未发行的软件(反工)所衍生的费用外部费用:对已经发布但不符合要求的软件所衍生的费用(3) 其他点:一个高质量的产品是开发出来的,后期的测试不能真正提高产品的质量,产品的质量只能靠前期的质量预防和质量检测保证
1、 Boehm质量模型:定量评估软件质量的概念,首次推出软件质量的层次模型
可用性、可维护性、可移植性2、 MaCall质量模型:列出了影响质量的因素分别反应用户在使用软件产品时的三种不同倾向或观点:产品运行、产品修改、产品转移
3、 ISO/IEC 25010 质量模型:将质量特征分为外部特征和内部特征,是一个“质量特性—质量子特性—质量因子”的三层结构模型,相信再开发人员留意只花费时间修改的质量要素是技术上影响整体质量最大的属性,而客户最关心的是那些能够成为卖点的属性
1、 质量保证 (AQ):通过定期的评估项目地整体性能以确保项目满足相关的质量标准
软件过程审计:需求过程审计、设计过程审计、编码过程审计、测试过程审计软件产品审计:需求规格审计、设计说明书审计、代码审计、测试报告审计2、 质量控制 (QC):通过控制特定项目的状态保证项目完全按照质量标准完成,同时确定质量改进的方法
质量控制技术:技术评审、走查、测试、返工3、 质量保证与质量控制的关系:质量保证是审计产品和过程的质量,属管理职能,质量控制是检验产品的质量,属检查职能
1、 结对编程 (Pair Programming):能用较少的时间生产更高质量的代码
知识共享2、 测试驱动开发 (Test Driven Development , TDD):明确要开发某个功能后,首先思考如何对这个功能进行测试,先完成测试代码的编写
3、 持续集成与测试 (CI/CD) : 要求频繁地将工作集成到整体系统中,进行重新测试
4、 不同层面自动化测试:包括单元测试、集成测试、端到端测试、用户验收测试等
5、 验收测试驱动开发 (ATDD):首先讨论验收标准,创建测试用例,编写足够代码进行自动化测试,以满足标准要求
6、 迭代评审:迭代后向相关人员展示迭代版本地运行情况,得到反馈
7、 迭代回顾会议:迭代后,评审本次迭代,确定是否进行过程改进
8、 重构:先完成代码的正常功能,然后逐步地提高代码的质量
1、 质量计划:确定项目应达到的质量标准,以及决定如何满足质量标准的计划安排和方法
确定质量,保障人员的汇报渠道2、 编制质量计划的方法
(1)实验设计(2)基准对照(3)质量成本分析(4)测试与检查的规划(5)各种数据分析图示:因果分析图、流程图、思维导图3、 质量计划的编制
质量计划应满足下列要求:满足质量目标和所有特性的要求确定质量活动和质量控制程序确定项目不同阶段的职责、权限、交流方式及资源分配确定采用的控制手段、合适的验证手段和方法确定和准备质量记录转载地址:http://dnuiz.baihongyu.com/