在前面的文章中,我们提到了测试类型定义需要综合考虑各个方面的输入,包括开发文档定义的需求(包括涉及的一些标准与规范等)、ISO/IEC 9126质量模型、测试经验,以及通过分析在研发阶段发现的缺陷、产品发布之后用户反馈的缺陷分析等。图1是结合数据通信产品的特点,而定义的测试类型:



windows gtest覆盖率报告 覆盖率的测试要求_测试类


图1 某个数据通信产品中的测试类型

1)测试类型定义


(1)功能性(Functionality)


功能性指的是软件或者产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。通过评价特征集和程序的能力、交付的函数的通用性、和整体系统的安全性来评估。例如:假如NIF端口收到的数据包外层EtherType类型和端口的VLAN S-Tag EtherType不一样,那么将数据包看成是untagged的类型,并给数据包加上一个相应的VID类型。


(2)可靠性(Reliability)


可靠性指的是在软件或者产品指定条件下使用时,软件产品维持规定性能级别的能力,以及在异常或者错误的情况下,恢复的能力等。比如系统的容错性(Fault Tolerance)、易恢复性(Recovery)、健壮性(Robustness)、稳定性(Stability)等。例如:系统在异常断电之后,在断电恢复之后能够正常恢复系统,并且系统的业务可以正常恢复工作。


(3)易用性(Usability)


易用性指的是软件或者产品在指定条件使用时,软件产品被理解、学习、使用和吸引用户的能力。易用性是一个非常主观的测试类型,而且在需求中很难定义。因此这个测试类型需要测试人员了解作为用户的一般使用习惯和方式。包括易操作性(Operability)、易学习性(Learnability)、易理解性(Understandability)、易安装性(Installability)等。例如:软件系统的版本程序安装,应该有具体的安装指导步骤,并且是简单易懂,容易操作;


(4)可移植性(Migration)


可移植性指的是软件或者产品、或者数据等从一种环境转换到另一种环境的能力。例如:R1.0版本的数据库,可以直接应用到R2.0版本的软件中。


(5)配置(Configuration)


配置是指产品或者软件在运行状态下,是否能够按照提供的参数范围进行配置。例如:MAC地址的老化时间的范围是15秒到3825秒之间,并且以15秒作为步长,老化时间的缺省值是300秒,即5分钟。


(6)容量(Volume)


容量是指产品或者软件在运行状态下,是否能够达到需求要求的最大容量值。例如:假如VLAN是802.1ad模式,MAC地址的学习模式是IVL。在IVL模式中,最多可以创建的VLAN数是256。


(7)性能(Performance)


性能指的是软件或者产品在典型的配置运行条件下,它的处理速度、响应时间、资源消耗、吞吐量、效率、丢报率等。例如:RSTP的收敛时间不能超过15秒。


(8)一致性(Compliance)


一致性在这里主要是指协议的一致性,即系统实现的协议和标准、规范或者行业标准之间的符合程度。例如:VLAN的帧结构应该和IEEE 802.1Q 1998标准保持一致。


2)应用测试类型


测试类型的定义需要综合考虑各个方面的输入,并且它并不是一次性的测试活动。随着测试对象的变化、测试人员经验技能等的增加,需要不断更新测试类型,以反映知识、技能和经验的继承。


下面以大家熟知的手机呼叫功能为例,根据前面定义的测试类型,简单细化得到了一些测试条件。从该案例中,我们可以看到通过测试类型是如何帮助测试人员拓阔思路,从而提高测试覆盖率的(实际的测试用例要复杂和全面一些,这里只是作为一个例子进行讲解)。


表1 测试类型在手机呼叫功能中的应用



测试类型

测试条件:手机的基本呼叫功能

功能性

- 手机作为主叫,呼叫其他手机号码

- 手机作为主叫,呼叫特殊号码

- 手机作为被叫,接听电话

- 手机作为被叫,拒绝接听电话

- 手机作为主叫,主动挂机/被动挂机

- 手机作为被叫,主动挂机/被动挂机

易用性

- 手机号码输入是否简单方便?

- 手机接听是否方便?

- 手机拒绝接听是否方便?

- 通话状态显示是否简单易懂?

- 其他操作是否方便?

配置

- 呼叫转移配置

- 呼叫限制配置

- 呼叫等待配置

- IP电话配置

- 自动回拨配置

性能

- 最长待机时间测试

- 最长通话时间测试

- 每个小时通话12次,每次5分钟,检查待机时间

可靠性

- 呼叫异常号码

- 作为主叫,通话时间保持24小时

- 作为被叫,通话时间保持24小时

- 在充电状态下,作为主机呼叫72小时

- 在充电状态下,作为被叫保持72小时

- 通话过程中关机重启

- 通话过程中拔掉电板

- 通话过程中电池没有电了

可移植性

- 手机软件版本从1.0升级到2.0

- 在2.0版本中恢复1.0版本的内部数据库

容量

- 同时可以接听的电话数目

- 同时可以呼叫的电话数目

一致性

- 与电话呼叫相关的标准与规范一致性检查