- 回顾
- 什么是质量
- 什么是质量
质(优劣程度)与量(成分的含量);
将客户的需求分解成各种参数,达到客户要求的功能、性能和其他一些特性的满足程度。
产品的质量就是指该类产品基于该类产品特性的满足条件。
2.什么是软件质量
就是软件这类产品基于软件特性(功能、效率、可靠性、易用性、可移植性、可维护性)的满足条件。
- 软件质量的层次
- 符合需求规格(度量):符合开发者(开发人员与测试人员)明确定义的目标。
- 符合用户显式需求:符合用户所明确说明的目标(验收测试)。
- 符合用户实际需求:实际的需求包括用户明确说明的和隐含的需求(隐式需求--分析)。
- 影响软件质量的要素
- 流程
- 概念:将最终产品分解到各个活动,使得整个生产过程可视化(容易控制)。
- 测试人员:软件开发流程(计划--分析--设计--编码--测试--运维)
软件测试流程(单元测试--集成测试--系统测试(计划--分析设计--实现--执行)--验收测试)
缺陷管理流程(新建--评审(重复;无效)--分配--分析--修改--验证--关闭);
评审流程(计划评审会议--介绍--个人准备--评审会议--修改--跟踪)
- 技术
- 技术承载人:掌握技术的人;掌握使用工具的人;
- 技术本身:方法;工具;经验;专利;
- 测试人员:测试分析技术(分析测试点);测试设计技术(黑盒;白盒);自动化测试技术(功能自动化;性能自动化;安全自动化;接口自动化);开发技术(编程;数据库;操作系统;网络)
流程与技术直接影响软件质量
- 组织:间接影响软件质量
- 对流程的重视程度(流程的引进;遵守这个流程;改进这个流程)
- 对技术的重视程度(技术工具的引进;技术人才的培养;专利的申请;技术人才挽留)
- 软件质量模型(软件质量特性:六大特性27个子特性)
- 软件生命周期中的质量
- 软件质量模型
- 六大特性27个子特性;
- 所有的特性中都包含一个依从性的子特性;
- 依从性:法律、法规、标准、企业内部规则去考量;
(3)质量特性的解释与说明
功能性:软件正在指定条件下使用时,软件产品提供满足明确和隐含需求的功能能力
子特性 | 说明 | 举例 |
适合性 | 软件产品为制定的任务和用户目标提供一组合适功能的能力(有没有:不要遗漏;不要多余) | ATM存取款机: 存钱;取钱;查询;转账; |
准确性 | 软件产品提供具有所需精度的正确或相符结果的能力(对不对:精准度达到要求) | 存钱:一天5万rmb;一次不超过一万rmb;存10次 |
互操作性 | 软件产品与一个或更多的规定的系统进行交互的能力(硬件交互;软件的交互;模块间的交互) | 饿了吗支付与微信(支付宝);微信的朋友圈模块和通讯聊天的谋爱交互;Word文档和打印机的交互 |
保密安全性 |
| 登录;密码;VIP;超级管理员 |
依从性 |
可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力
子特性 | 说明 | 举例 |
成熟性 | 内部接口访问,软件产品为避免软件中的错误而导致失效的能力(长时间的考验) | 微信长时间运行出现闪退 |
容错性 | 外部接口防范:软件出现故障或者违反指定接口的情况下,软件产品维持规定性别级别的能力。 | 微信不符合要求的输入(10张图片;超长字符;断网) |
易恢复性 | 在失效发生的情况下,软件产品重建规定的性能级别的能力。 | 微信闪退,重启,回复如常 |
依从性 |
易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
子特性 | 说明 | 举例 |
易理解性 | 用户使用软件时对一些按钮图标提示信息的理解是否有偏差。 | 按钮、快捷键、提示信息、警告框 |
易学性 | 软件产品提供给用户快速上手的一些参考资料。 | 在线帮助手册;使用向导 |
易操作性 | 软件产品使用户能操作和控制的能力 | 苹果手机(设置铃声、屏保)--itunes---同步 |
吸引性 | 对用户的吸引能力 | 标题党 |
依从性 |
效率:在指定的条件下,相对于所用资源的数量,软件产品提供适当性能的能力。
子特性 | 说明 | 举例 |
时间特性 | 运行软件产品或者执行某个功能时,提供适当的响应时间和处理事假以及吞吐率的能力。 | 直播系统添加一个100页内涵50张JPG图片的PPT的响应时间;我添加5个100M的音频文件响应时间 |
资源利用性 | 运行软件产品或者执行某个功能时,对资源的占用率。 | 启动QQ,查看CPU和内存的变化。 |
依从性 |
可移植性:软件产品从一种环境迁移到另外一种环境的能力
子特性 | 说明 | 举例 |
适应性 | 当环境发生变化时,软件无需做修改就可以适应。 | 微信IOS--Andriod--windows; 操作系统升级,微信不需要重新开发 |
易安装性 | 指定环境中被安装的能力 | 安装步骤简单,不需要做很多设置;App |
共存性 | 软件产品在公共环境中同与其分享公共资源的其他软件共存的能力。 | 360和腾讯 |
易替换性 | 软件同样环境下,替代另一个相同用途的制定软件产品的能力 | 软件的升级;打补丁 |
依从性 |
可维护性:软件产品可被修改的能力
子特性 | 说明 | 举例 |
易分析性 | 软件产品诊断软件中的缺陷或失效的原因容易被识别的能力。 | 注释行;Log日志 |
易改变性 | 软件产品使指定的修改可以被实现的能力。 | 高内聚低耦合 |
稳定性 | 软件产品避免由于修改而造成意外结果的能力 | 宏 |
易测试性 | 软件产品使已修改的软件能被确认的能力。 | 能把软件中的代码隔离,添加一些测试代码 |
依从性 |