|
|
|
如何有效进行Node-B软件系统测试 |
概 要
介绍了Node-B软件系统测试的概念以及其与传统的软件系统测试的区别,并结合TD-TECH公司的情况,阐述了进行有效Node-B软件系统测试的三个重要方面:规范的测试流程、专业的测试方法、全面的测试类型。
Node-B软件系统测试简介
1.1 什么是Node-B软件系统测试
Node-B软件的系统测试是指基于Node-B的完整硬件配置,对软件进行功能和性能等方面的一系列验证和确认测试。Node-B软件系统测试是将软件产品提交给用户之前进行的最后阶段测试,其测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方,以确保软件系统的功能和性能等满足指定的要求。
Node-B软件的系统测试应当在开发部门完成系统的集成测试之后执行,但是其测试设计和开发应该在系统的需求规格确定后就开始进行。系统测试的范围很广,作为对系统各部分的综合性检验,属于黑箱测试的范畴,既包括基本的功能测试,又包括各种专项测试,比如性能测试、稳定性测试、负载测试等。
1.2 Node-B软件系统测试与传统软件系统测试的区别
第三代通信系统的复杂性,造成Node-B软件的系统测试与传统的软件系统测试有一定的区别,主要表现在以下几个方面。
(1)硬件平台复杂
与传统的软件系统所基于的单一硬件平台不同,Node-B的硬件平台相对比较复杂。Node-B主要的硬件模块包括射频处理板、基带处理板、主控板等。射频处理板上主要由FPGA和Micro-controller来完成软件功能,基带处理板上主要由FPGA、DSP和POWERPC 处理器来完成软件功能,主控板主要由FPGA、ATM专用处理器和MIPS处理器来完成软件功能。
硬件平台的复杂性使软硬件之间的配合和制约变得更加紧密,因而使软件的系统测试不仅仅是对软件的功能和性能验证,在一定程度上也是对硬件进行了验证。
(2)软件类型复杂
Node-B的软件类型包括实时信号处理软件、事件控制软件、消息处理软件、诊断软件、数据库软件等。不同的软件类型具有不同特性,比如对实时信号处理软件来说,性能测试很重要,而对于数据库软件,配置测试则是不可或缺的。Node-B的软件系统测试必须要针对不同的软件类型,采用不同的测试方法和手段。
(3)软件的功能和接口复杂
Node-B的软件功能很复杂,比如O&M这一个特性就包括硬件诊断、告警、性能监测、软硬件对象管理等若干个子特性。由于软件功能的复杂,软件模块之间的接口也变得很复杂。相比于传统的软件系统测试,如何使测试覆盖这些功能和接口是一个很大的挑战,需要采用专门的测试方法、测试流程和工具来完成。
Node-B 软件系统测试流程

2.1 V模型与测试生命周期
在典型的软件开发V模型中(见图1),系统测试与概要设计相对应。因此,系统测试的设计依据是概要设计文档。在实际的Node-B软件系统测试中,我们可以以3GPP规定的协议、需求文档和概要设计文档作为测试依据。
传统的软件生命周期中(见图2),编码以后才开始测试,同样,系统测试会发生在集成测试之后。它的缺陷是测试变成一个单纯的确认执行活动,而忽略了其验证的功能,容易遗漏缺陷而且缺陷的修复成本很高。对于Node-B的系统测试,我们建议采用RUP定义的测试生命周期(见图3),它强调测试由计划、分析设计和执行阶段组成,从而能很好地体现测试的验证和确认目的。


2.2 建立自己的测试流程
在TD-TECH公司,Node-B的系统测试参照RUP测试生命周期,定义了自己的测试流程。其包括以下六个阶段:
◆ 测试计划;
◆ 测试需求分析;
◆ 测试设计;
◆ 测试开发;
◆ 测试执行;
◆ 测试维护。
对于每一阶段,我们都定义了入口和出口条件,制订了这个阶段的活动指南,包括活动的内容、角色和文档模板。规范的系统测试流程,保证了Node-B系统软件测试的质量。
Node-B软件系统测试方法与类型
3.1 Node-B软件系统测试方法与应用
在Node-B软件的系统测试中,为了提高测试的有效性,避免测试不足和测试过度,有必要采用一些测试方法来保证测试的分析和设计。常见的Node-B软件系统测试的方法有:
◆ 等价类划分;
◆ 边值分析;
◆ 判定表;
◆ 因果图;
◆ 正交实验设计;
◆ 状态图;
◆ 错误推测法。
恰当地采用这些测试方法来进行测试设计,可以既保证测试用例的覆盖,又保证测试用例的质量,做到有针对性、有系统性的测试设计。比如,在进行Node-B的业务类型组合测试时,经常会遇到应该测试哪些组合的问题。Node-B的业务类型包括AMR语音业务、PS数据业务、CS数据业务等,每种业务类型又含有不同的业务速率,像AMR语音业务包括7.95 kbit/s和12.2 kbit/s两种速率,而PS数据业务包括8kbit/s、16 kbit/s、32 kbit/s、64 kbit/s、128 kbit/s、 384 kbit/s等6种速率,如果随意的挑选,很容易造成测试的重复或不充分,相反如果进行遍历测试,又会带来巨大的测试工作量,造成测试用例的有效性也很低。此时,采用正交实验设计的方法来进行设计,就可以解决这个问题。
3.2 Node-B软件系统测试类型
考虑到Node-B软硬件的特殊性和复杂性,Node-B软件系统测试除了进行常见的软件功能测试外,还要进行一系列的专项测试。应当进行哪些方面的专项测试,可以根据每个公司对产品质量定义的要求来选用。一般而言,软件产品的质量要求可以概括为:正确性要求、性能要求和可靠性要求。
针对TD-TECH公司Node-B产品的特点,我们的Node-B软件系统测试还包括了以下的专项测试:
◆ 负载测试;
◆ 压力测试;
◆ 性能测试;
◆ 配置测试;
◆ 稳定性测试;
◆ 容量测试;
◆ 安装测试。
综上所述,对Node-B产品的深刻理解,加上规范的系统测试流程和系统测试方法的应用,以及完善的系统测试类型,从根本上保障了鼎桥公司Node-B产品的软件质量。
作者:戴汨 郁鹏 |
|
|
|
| |
|
|
|
|
|
|
|
|