09 基于质量特性的测试

Posted on Wed, 25 Dec 2024 17:07:43 +0800 by LiangMingJian


1.功能性测试

1.1 概念

  • 功能性是指软件产品在指定条件下使用时,软件所实现的功能达到其设计规范和满足用户需求的程度。
  • 黑盒测试技术是主要针对功能的测试,也叫基于规格说明书的测试技术。
  • 常用的功能测试方法有等价类,边界值法,因果图法,判定表法,场景法。
  • 功能性测试用例的设计要能检查软件功能是否正常,还要能检查软件对于错误的处理。

1.2 测试类型

  • 完备性:功能集对指定的任务和用户目标的覆盖程度。提供的整体功能是否完善。
  • 正确性:产品或系统提供具有所需精度的正确结果的程度。提供的功能是否正确。
  • 适合性:功能满足用户适用要求的程度,也就是软件产品提供的功能是否是需方或用户需要的功能。提供的个体功能是否完善。

2.性能效率测试

2.1 概念

  • 性能效率测试主要关注软件产品的时间特性和资源特性,评估在指定条件下面使用资源的性能情况。
  • 时间特性是指评估产品或系统在特定条件下执行其功能时,其响应时间、处理时间及吞吐率满足需求的程度,时间效率反映与运行速度相关的性能。其内容包括:
    • 响应时间:从用户发起一个请求开始到服务器完成对请求的处理并返回处理结果所经历的时间。
    • 处理时间:系统处理任务所需要的时间。
    • 吞吐率:单位时间内完成任务的数量。
  • 资源利用性是指评估产品或系统在特定条件下执行其功能时,所使用资源数量和类型满足需求的程度,主要考察系统所采用的各种资源的利用程度。其内容包括:
    • 服务器端:CPU、内存、磁盘、输入输出效率、带宽。
    • 数据库:缓冲区、命中率
  • 容量是指指产品或系统参数的最大限量满足需求的程度。容量主要反映系统能够承受的最大并发用户数、最大的请求极限,最大数据处理容量等内容,检查在何种极端的情况下,系统出现缓冲区溢出、访问超时等问题。其内容包括:
    • 对象处理大量的数据(大量并发用户数,数据库记录数)时,确定是否达到了将使软件发生故障的极限。
    • 给定时间内,能够持续处理的并发,最大文件长度,最大数据库记录数等。

2.2 测试类型

  • 基准测试:指此时环境确认以后对业务模型中涉及到的每种业务做基准性的测试,目的是获取单用户执行时的各项性能指标,为多用户并发和混合场景的性能测试分析提供参考依据。
  • 并发测试:指并发不同数目的虚拟用户执行检查点操作,目的是对检查点进行压力测试,预测系统投入使用后在检查点能够承受的用户压力情况,并根据相应的响应时间和各项资源使用情况分析、确定系统存在的性能瓶颈,为系统的优化和调整提供依据。
  • 压力测试:测试系统在事先规定的某种饱和状态下,系统是否还具备处理业务的能力,或者系统会出现什么样的状况,目的是测试系统的稳定性。
  • 负载测试:通过在被测试系统上下不断增加负荷,直到事先选定的性能指标,变为不可接受或系统的某类资源使用已经达到饱和状态,负载测试方法实际就是一个不断加压,直到找到系统不可用临界点的过程。
  • 稳定性测试:指被测系统在特定硬件、软件、网络环条件下,给系统加载一定业务压力,是系统运行一段比较长的时间,以此检测系统是否稳定,目的是提供给予系统一定的业务量,检测系统在一段时间内是否能够维持稳定性。
  • 极限测试:在过量用户下的压力测试,目的是确定系统的极限并发用户数。
  • 场景测试:通过对系统体系架构和功能模块的分析以及系统用户的分布和使用频率的分析,来构造系统综合场景的测试模型,模拟不同用户执行不同操作,最大限度模拟系统真实场景,使用户预知系统投入使用后的真实性能水平,从而对系统做出相应的优化及调整,避免实际情况中出现系统长时间不响应及崩溃的情况。
  • 吞吐量测试:指模拟系统真实的使用情景,每隔一定时间段并发不同数目的虚拟用户执行检查点操作,持续运行一段时间,计算每单位时间系统处理的能力,目的是计算系统的吞吐能力。

3.易用性测试

3.1 概念

  • 主要从用户的角度考虑软件产品被理解、学习、使用和吸引用户的能力。

3.2 测试类型

  • 可辨识性:评价用户能够辨识产品是否符合其要求的程度。
    • 产品说明、用户文档等描述的完整性。
    • 演示覆盖率。
    • 产品标识可辨识。
    • 入口点的自描述性。
  • 易学性:评估帮助用户能自行学习的程度。
    • 帮助系统和文档的完整性。
    • 自动填充默认输入字段。
    • 差错信息易理解性。
    • 用户界面的自解释性。
  • 易操作性:系统易操作的程度。
    • 操作一致性。
    • 消息的明确性。
    • 功能的易定制性。
  • 用户差错防御性:评估系统预防用户犯错的程度。
    • 抵御误操作。
    • 用户输入差错纠正。
    • 用户界面舒适性。
  • 易访问性:特殊群体的易访问性。
    • 残疾人、有缺陷的人能提供产品使用的有效途径或手段。
    • 正常人在特定环境下对于软件或系统的易操作性。
    • 支持的语种的充分性。

4.可靠性测试

4.1 概念

  • 在规定的时间和条件下,软件所能维持其正常的功能操作、性能水平的程度/概率。
  • 一般使用 MTTF (平均失效前时间) 或 MTBF(平均故障间隔时间)来衡量可靠性。

4.2 测试类型

  • 成熟性:软件能很好的处理内部错误,不会发生异常的程度。
    • 故障密度。
    • 故障修复率。
    • 平均失效间隔时间(MTBF)。
    • 周期失效率:观察时时间内发生的故障总数除以周期数。
  • 可用性:评估软件产品或系统在需要使用时可进行的访问和操作的程度。
    • 在计划使用的时间内,实际可用的时间,平均可用时间。
    • 在周期内,系统不可用的时间,平均宕机时间。
  • 容错性:软件或硬件在发生故障时,产品运行符合预期的的程度。
    • 避免失效率,为系统或软件控制多种故障模式,以避免关键和严重的失效。
    • 组件的冗余度,为了避免系统失效而安装冗余组件的比例情况。
  • 易恢复性:评估系统出现异常后能否恢复、多久能恢复、能恢复到什么程度。
    • 平均恢复时间 。
    • 数据备份完整性。
    • 数据恢复能力。

5.信息安全性测试

5.1 概念

  • 评估系统产品或软件,保护信息和数据的程度,以使用户或者其他产品期的系统具有授权等级一致性数据的访问程度。

5.2 测试类型

  • 保密性:保证数据不会被泄露。如加密存储、加密传输的程度。
    • 访问控制性
    • 数据加密正确性
  • 完整性:保证数据不被破坏,防篡改,防丢失的程度。
  • 抗抵赖性:已经发生的操作,不可否认的程度。
  • 可核查性:发生过的操作,可复查的程度。
    • 用户审计跟踪的完整性
    • 系统日志存储
  • 真实性:使用者身份可证明的程度。
    • 鉴别机制的充分性
    • 鉴别规则的符合性

6.维护性测试

6.1 概念

  • 当一个软件投入运行应用后,需求发生变化、环境改变或软件发生错误时,进行相应修改所做努力的程度。

6.2 测试类型

  • 模块化
  • 可重用化
    • 资产的可重用性
    • 编码规则符合性
  • 易分析性
    • 日志完整性
    • 诊断功能有效性
  • 易修改性:评价产品是否能被有效的修改且不会引入新的缺陷,降低产品质量的程度。
    • 扩充系统应用
    • 软件版本更新方式
    • 软件版本更新时的数据操作
    • 系统参数配置
    • 用户权限配置
  • 易测试性:评价产品测试的难易程度。

7.兼容性测试

7.1 概念

  • 同时共享相同的硬件或软件环境时,系统或组件可以与其他系统或组件交换信息,以及执行其所需的功能的程度。

7.2 测试类型

  • 共存性:指在与其他产品共享通用的环境和资源的条件下,产品能够有效执行其所需的功能并且不会对其他产品造成负面影响的程度。
  • 互操作性:两个或两个以上的系统、产品或部件可以交换信息,并使用已经交换的信息的程度。
    • 数据格式可交换性
    • 数据传输的交换接口

8.可移植性测试

8.1 概念

  • 软件从一个计算机系统或环境移植到另一个系统或环境的容易程度,或者是一个系统和外部条件共同工作的容易程度。

8.2 测试类型

  • 硬件适用性:软件产品无需采用特别手段就可以适应不同指定环境的能力。
    • 对系统中的主要硬件部件进行测试、验证
    • 软件运行的最低配置和推荐配置要求
    • 针对辅助设备的适用性验证
    • 针对板卡及配件的适应性验证
  • 软件环境适用性
    • 操作环境的适应性
    • 数据库的适应性
    • 浏览器的适应性
    • 支撑软件的适应性
  • 易安装性:软件产品在指定环境中被安装或卸载的能力。
  • 易替换性:软件产品在同样环境下,替代一个相同用途的指定软件产品的能力。
    • 验证覆盖安装
    • 验证安装程序能否从“断点”继续安装
    • 验证升级安装,修复软件
    • 验证卸载后重新安装

9.依从性测试

  • 评估产品或系统遵循八个质量特性有关的标准、约定和法规以及类似规定的程度。

10.符合性测试

10.1 概念

  • 测试对象是否符合相关标准的程度。
  • 测试的依据包括用户文档集中包含的所有文档,产品说明中所标识出的所有需求文档,软件产品宣称符合的标准。

10.2 测试类型

  • 产品说明符合性评价
  • 用户文档集符合性评价
  • 软件产品符合性评价
  • 文档差异评价
  • 软件产品差异评价