软件产品质量模型将一个软件产品需要满足的质量划分为六大属性(功能性、可靠性、易用性、效率、可维护性和可移植性),每类属性又细分出了很多“子属性”

一、软件产品质量模型

1、功能性:是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。

  • 适合性:软件产品为特定的任务和用户目标提供一组合适功能的能力
  • 准确性:软件产品提供具有所需精度的正确或相符的结果及效果的能力
  • 互操作性:软件产品与一个或多个特征、系统相互配合的能力
  • 安全性:软件产品保护信息和数据的能力,以保证未受权的用户或系统不能阅读和修改这些信息与数据,而合法用户或系统不会被拒绝访问
  • 功能顺从性:软件产品符合和该功能相关的标准、规范、规则或特定的能力(如对于一款计算器,计算规则要和数学中相关规则保持一致)

2、可靠性:是指在特定条件下使用时,软件产品维持规定的性能级别能力。

下面三个层层递进的句子,可以帮助我们来理解用户可靠性方面的要求:

  • 第一层:设备最好不要出故障;
  • 第二层:设备出现故障了不要影响主要的功能和业务;
  • 第三层:如果影响了主要功能和业务,系统可以尽快定位并恢复。

4个子属性如下:

  • 成熟性:软件产品为避免因软件故障而导致失效的能力
  • 容错性:软件产品在软件发生故障或者违反指定接口的情况下,维持规定的性能级别的能力
  • 可恢复性:软件产品在失效发生的情况下,重建规定的性能级别并恢复直接影响的数据的能力
  • 可靠性顺从性:软件产品遵循与可靠性相关的标准、约定或规定的能力(如对于通信类产品,系统的故障率不能高干多少、故障恢复时间不能长于多少等)

3、易用性:是指用户在指定条件下使用软件产品时,产品被用户理解、学习、使用和吸引用户的能力。简单10个字:易懂、易学、易用、漂亮好看。

  • 易理解性:软件产品使用户能理解软件是否适合以及如何能将软件用于特定的任务和使用环境的能力
  • 易学性:软件产品使用户能学习其应用的能力
  • 易操作性:软件产品使用户能够操作的控制它的能力
  • 吸引性:软件产品吸引用户的能力
  • 易用性的依从性:软件产品遵循与易用性相关的标准、约定、风格指南或法规的能力(如对Windows的计算器来说,在界面设计上模仿实体计算器是易用性依从性的一个体现)

4、效率:是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。通常,效率就是我们常说的产品性能。

  • 时间特性:在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及流量(吞吐量)的能力
  • 资源利用率:在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源的能力
  • 效率依从性:软件产品遵循与效率相关的标准或约定的能力(如对系统资源的占有率又不能高于多少)

5、可维持性:是指产品可被修改的能力。这里的修改是指纠正、改进软件产品和软件产品对环境、功能规格变化的适应性

  • 可分析性:软件产品诊断软件中的缺陷、失效原因或识别待修改部分的能力
  • 可修改性:软件产品能够被修改的能力
  • 稳定性:软件产品不会因为修改而造成意外结果的能力
  • 可测试性:软件产品已修改的部分能够被确认修复的能力
  • 可维护性的依从性:软件产品遵循与维护相关的标准或约定的能力(如软件出现故障时会弹出“XXX遇到问题要关闭”之类的提示)

6、可移植性:是指软件产品从一种环境迁移到另外一种环境的能力。这里的环境,可以理解为硬件、软件或组织等不同的环境。

  • 适应性:软件产品无须采用额外的活动或手段就可适应不同指定环境的能力
  • 可安装性:软件产品在指定环境中被安装的能力
  • 共存性:软件产品在公共环境中同与分享公共资源的其他独立件共存的能力
  • 易替换性:软件产品在同样的环境下,替换另一个相同用途的指定软件产品的能力
  • 可移植性的依从性:软件产品遵循与可移植性相关的标准或约定的能力(如产品不是针对某款特定的操作系统开发的,需要支持Windows所有操作系统)

二、软件产品测试车轮图

1、功能测试:

  • 单运行正常值输入法
  • 单运行边界值输入法
  • 多运行顺序执行法
  • 多运行相互作用法

2、可靠性测试:

  • 异常值输入法:异常值输入法是一种使用系统不允许用户输入的数值(即异常值)作为测试输入的可靠性测试方法。
  • 故障植入法:故障植入法是把系统放在有问题的环境中进行测试的一种可靠性测试法,主要能够测试到的质量属性是容错性和成熟性。
  • 稳定性测试法:稳定性测试法是在一段时间里,长时间大容量运行某种业务的一种可靠性测试法,它能够非常有效地测试到系统的“成熟性”,是非常重要的一种可靠性测试法。(“四字诀”——多、并、复、异)
  • 压力测试法:压力测试法是在一段时间内持续使用超过系统规格的负载进行测试的一种可靠性测试方法。
  • 恢复测试法:恢复测试法是指使用持续超过规格的负载进行了测试后,再将负载降到规格以内的测试方法。

3、易用性测试:

  • 一致性测试法:一致性测试法在测试中关注的是产品的用户界面(风格、布局、元素上是否一致、统一;布局的合理性、操作的合理性、提示等是否符合UI设计规范。)
  • 可用性测试法:可用性测试法的测试对象也是用户界面,但在可用性测试中,我们关注的是产品提供的功能,对用户来说是否易于学习理解、易于使用,所以可用性测试需要和功能测试结合起来,以场景作为测试粒度,以用户的视角进行测试。

4、性能测试:

5、可维护性测试:

6、可移植性测试:

三、四步测试设计法

第一步:建模

  • 流程类:流程图
  • 参数类:输入输出表
  • 数据类:等价类边界值
  • 组合类:因子表

第二步:设计基础测试用例
对1中模型覆盖,得到一些测试条件

第三步:补充测试数据
对2中确定测试输入,补充测试数据

第四步:扩展
根据经验和对系统容易发生缺陷的认识,补充测试用例

持续更新…

最后更新: 2018年10月30日 16:49

原始链接: http://pythonfood.github.io/2017/12/27/软件产品质量模型/

× 多少都行~
打赏二维码