谁能提供一些软件测试标准?
完整的软件测试是评估软件性能和质量的重要手段,可以用来检查软件是否满足设计和项目合同规定的技术要求,测试软件处理误操作的能力,为评估软件的可靠性和安全性提供依据。
软件测试有许多不同的分类方法,根据测试用例的设计方法,有白盒测试和黑盒测试;根据测试策略和流程,可以分为单元测试、集成测试、确认测试和系统测试。从是否需要执行被测软件的角度来看,可以分为静态测试和动态测试。上述方法都被证明是有效的,应根据测试的目的适当选择。
通信软件测试和通用软件测试适用于相同的测试方法、流程和工具,但存在一定的差异,尤其是对于手机终端软件的测试。对于手机软件这种人机交互频繁、人性化要求高的应用系统的测试,电信运营商需要从两个角度考虑:一方面,从开发者的角度,要求测试系统提供充分的证据证明软件系统的功能是可行的;另一方面,从用户的角度出发,应该要求测试系统提供手机软件系统的缺陷和不足的信息。
二、手机终端软件测试的难点及可行的解决方案
正确评价手机软件产品并不容易。一方面,手机终端的软件与其硬件直接相关,硬件的开放接口可能有限。另外,各个终端的软件千差万别,很难直接套用通用的评测工具。
手机终端软件很难评价,不代表手机终端软件不可预测。手机软件包括两个主要部分:协议、人机界面和应用软件/应用系统。协议只有通过FTA(总型号认证)后才能使用(针对GSM手机),其无线电资源管理、移动性位置管理和通信管理软件必须满足与该标准对应的标准,并可使用自动测试系统对协议进行跟踪测试。应用软件/系统基本适用于通用软件测试流程和工具。
如何测试MMI部分是测试的难点。由于协议和MMI的交互不能完全分开,所以MMI软件的问题也会影响到协议部分。目前大部分公司没有自动化测试软件,只能通过模拟用户操作手机,出现问题时进行跟踪。但是有些厂商的软件底层有测试代码支持,可以实现自动化测试。实现方法是开发测试代码,添加到手机原代码中,但这对于电信运营商来说并不现实。
对于上述问题,目前可行的解决方案之一是软件仿真,即通过软件模拟器进行软件测试,在模拟器平台上可以完成覆盖测试、内存测试、性能测试和一致性测试。对于MMI来说,将手机应用程序移植到模拟器平台上,可以模拟MMI菜单树的显示,还可以通过模拟网络消息来模拟短信和电话的功能,可以对部分代码进行单元测试和集成测试。需要注意的是,使用模拟器测试手机软件不能是唯一的测试方式,但往往可以进行交叉测试,或者与目标系统的同版本进行对比。
第二个解决方案是开发一个测试系统,提供对协议堆栈和MMI的跟踪和分析,并模拟用户的硬件功能。系统可以通过线程调用来控制,包括用户界面线程、脚本解析线程、串口控制线程和设备线程。用户界面线程为测试提供人机界面;脚本解析线程响应用户界面线程发送的控制消息,负责解析脚本文件并执行解析后的脚本;串口控制线程控制测试系统和被测系统之间的数据传输;设备线程实现了根据测试要求自动设置设备参数的功能。
虽然可以采用模块化的方式开发测试系统,但仍然存在开发难度大、测试对象属性差异大的问题。更简单的方法是基于现有的测试平台/系统进行开发,比如基于Ageresystem的Optitrace suite的开发。
第三,3G环境下手机终端软件的测试
鉴于3G技术的复杂性和终端定制将成为主流,3G手机软件的测试值得进一步研究。3G业务在国外已经发展了一段时间,在手机测试方面也有了一定的积累。目前已经开发了相应的测试工具,业界正在论证服务测试平台。
从目前的情况来看,一致性测试已经成为3G环境下手机软件测试过程中的新难点。一致性测试是确认设备是否满足其功能所需的规范或协议的测试过程。一致性测试标准包括三个部分:抽象测试集(ATS)、协议实现一致性描述(PICS)和协议实现附加信息(PIXIT)。可执行测试集是在上述三个部分的基础上生成的。
协议一致性测试和射频一致性测试是最复杂也是最重要的部分。协议一致性测试属于软件测试的范畴。在某个网络环境中,被测协议实现(IUT)是在黑盒中测试的。通过比较IUT实际输出与预期输出的异同,确定IUT与协议描述的一致程度,从而确定IUT在互联时通过一致性测试的成功率。其实2G系统也需要一致性测试,3G系统比2G系统更复杂,这就使得一致性测试更重要。
协议一致性测试可以测试手机与网络之间的信令协议是否符合TS34.123规范。3GPPTS34.123定义了约700个TTCN测试用例,分别测试RLC层、MAC层和RRC层。全球认证论坛GCF也制定了测试用例/规划平台的认证流程和终端产品的认证注册流程。根据优先级,将测试用例分为七批,从高到低进行认证。
从目前的情况来看,能够提供协议一致性测试设备的厂商并不多,但却是软件测试中不可或缺的一部分。当设备由多个厂商互联时,一致性测试将提高人们对设备满足相应协议标准的信心,增加同一标准不同实现之间互联的概率,对我国具有自主知识产权的TD-SCDMA设备具有现实意义。
对于3G手机来说,除了上面提到的协议一致性测试之外,MMI和应用软件/应用系统的测试仍将是测试中的主要工作,而随着手机的智能化程度越来越高,这部分测试工作将会给电信运营商带来更大的挑战。