随着国内软件行业的不断发展,国内软件公司也越来越注重于软件的质量,越来越关注软件的可靠性,因此,做为质量保证的重要手段,软件测试过程的实施与管理成为一个热点,其中系统测试是整个测试活动的一个重要的阶段,系统测试的设计也就成为了关注点之一。以下是本人从事系统测试工作中的一些体会。
1、系统测试的定义:
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。
2、系统测试的对象:
系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。
3、系统测试的设计
系统测试过程包含了测试计划、测试设计、测试实施、测试执行、测试评估这几个阶段,而整个测试过程中的测试依据主要是产品系统的需求规格说明书、各种规范、标准和协议等。在整个测试过程中,首先需要对需求规格进行充分的分析,分解出各种类型的需求(功能性需求、性能要求、其他需求等),在此基础之上才可以开始测试设计工作,而测试设计又是整个测试过程中非常重要的一个环节,测试设计的输出结果是测试执行活动依赖的执行标准,测试设计的充分性决定了整个系统过程的测试质量。因此,为了保证系统测试质量,必须在测试设计阶段就对系统进行严密的测试设计。这就需要我们在测试设计中,从多方面来综合考虑系统规格的实现情况。通常需要从以下几个层次来进行设计:用户层、应用层、功能层、子系统层、协议层
3.1、用户层:
主要是面向产品最终的使用操作者的测试。这里重点突出的是在操作者角度上,测试系统对用户支持的情况,用户界面的规范性、友好性、可操作性,以及数据的安全性。主要包括:
3.1.1、用户支持测试
用户手册、使用帮助、支持客户的其他产品技术手册是否正确、是否易于理解、是否人性化。
3.1.2、用户界面测试
在确保用户界面能够通过测试对象控件或入口得到相应访问的情况下,测试用户界面的风格是否满足用户要求,例如:界面是否美观、界面是否直观、操作是否友好、是否人性化、易操作性是否较好。
3.1.3、可维护性测试
可维护性是系统软、硬件实施和维护功能的方便性。目的是降低维护功能对系统正常运行带来的影响。例如:对支持远程维护系统的功能或工具的测试。
3.1.4、安全性测试
这里的安全性主要包括了两部分:数据的安全性和操作的安全性。核实只有规格规定的数据才可以访问系统,其他不符合规格的数据不能够访问系统;核实只有规格规定的操作权限才可以访问系统,其他不符合规格的操作权限不能够访问系统;
3.2、应用层:
针对产品工程应用或行业应用的测试。重点站在系统应用的角度,模拟实际应用环境,对系统的兼容性、可靠性、性能等进行的测试。
3.2.1、系统性能测试
针对整个系统的测试,包含并发性能测试、负载测试、压力测试、强度测试、破坏性测试。并发性能测试是评估系统交易或业务在渐增式并发情况下处理瓶颈以及能够接收业务的性能过程;强度测试是在资源情况低的情况下,找出因资源不足或资源争用而导致的错误;破坏性测试重点关注超出系统正常负荷N倍情况下,错误出现状态和出现比率以及错误的恢复能力。
3.2.2、系统可靠性、稳定性测试
一定负荷的长期使用环境下,系统可靠性、稳定性。
3.2.3、系统兼容性测试
系统中软件与各种硬件设备兼容性,与操作系统兼容性、与支撑软件的兼容性。
3.2.4、系统组网测试
组网环境下,系统软件对接入设备的支持情况。包括功能实现及群集性能。
3.2.5、系统安装升级测试
安装测试的目的是确保该软件在正常和异常的不同情况下进行安装时都能按预期目标来处理。例如,正常情况下,第一次安装或升级、完整的或自定义的安装都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。还有一个目的是核实软件在安装后可立即正常运行。另外对安装手册、安装脚本等也需要关注。
3.3、功能层
针对产品具体功能实现的测试。
3.3.1、业务功能的覆盖
关注需求规格定义的功能系统是否都已实现。
3.3.2、业务功能的分解
通过对系统进行黑盒分析,分解测试项及每个测试项关注的测试类型。
3.3.3、业务功能的组合
主要关注相关联的功能项的组合功能的实现情况。
3.3.4、业务功能的冲突
业务功能间存在的功能冲突情况。比如:共享资源访问等。
3.4、子系统层
针对产品内部结构性能的测试。关注子系统内部的性能,模块间接口的瓶颈。
3.4.1、单个子系统的性能
应用层关注的是整个系统各种软、硬件、接口配合情况下的整体性能,这里关注单个系统。 3.4.2、子系统间的接口瓶颈
例如:子系统间通讯请求包的并发瓶颈。
3.4.3、子系统间的相互影响
子系统的工作状态变化对其他子系统的影响。
3.5、协议/指标层
针对系统支持的协议、指标的测试。
3.5.1、协议一致性测试
3.5.2、协议互通测试
|