当我们在研发及生产一款产品的过程中,都必然要经过测试这一步骤。无论是实体产品,还是软件产品都是如此。在产品研发阶段,通过一系列的测试,可以帮助我们发现产品设计中的缺陷与问题;在产品生产阶段,可以通过检测来发现不良产品,避免把有问题的产品交付给客户。对于大多数电子信息类产品来说,在产品最终上市之前,往往还需要通过一致性测试、互操作性测试、可靠性测试等,这些测试可以由制造商、独立实验室、政府机构等来完成,今天大白给大家聊聊关于一致性测试与互操作性测试的话题。
一致性测试
一致性测试(也被称为合规性测试)属于非功能性测试,用于验证开发的系统或产品是否符合标准组织定义的标准规范要求。信息通信行业常用的技术标准基本上是由诸如IEEE、3GPP、ITU等国际标准组织,以及PCI-SIG、USB协会、蓝牙技术联盟等行业协会组织来定义的,在这些技术标准规范里都会给出一致性要求的具体项目,比如3GPP TS 36.521-1规范给出了LTE终端的射频一致性测试要求。
一致性测试里面还可能会覆盖不同的领域,比如针对硬件产品的物理层电气特性的一致性测试(如PCIe、USB、SATA等),针对无线产品的射频信号发射/接收特性的一致性测试(如4G LTE、WiFi、蓝牙等),还有确保通信设备或软件能正确实现通信协议的协议一致性测试,等等。
在英文中,一致性对应的词汇是Conformance,而合规性对应的词是Compliance,两者都可以指代一致性测试。在不同的技术标准与领域里,这两个词都会看到,相对而言Compliance用的更普遍,我们会看到有些地方把Compliance译为兼容性,从兼容规范的角度看是可以的,但常说的兼容性往往会把设备之间的互联互通也包含进去,这时就要注意不要与后面要说的互操作性测试产生混淆。
采用有线方式传输信号的技术基本都使用Compliance来指代一致性测试,比如PCIe总线、USB接口、HDMI接口、DisplayPort接口、SAS/SATA存储接口等。而3GPP标准的移动终端一直是用Conformance来指代一致性测试。
技术标准组织会指定相应的一致性测试系统或设备。产品厂家可以在获得认可的第三方测试机构进行相应的一致性测试,也可以在自己购置获得认可的一致性测试设备进行一致性预测试。包括PCI-SIG、USB-IF等在内的一些行业组织会每年定期举行Compliance Workshop,在
Workshop现场会提供一致性测试及互操作性测试服务,PCIe的一致性测试只能在Compliance Workshop上进行。通过一致性测试是获得产品认证的必要条件之一。
互操作性测试
信息通信网络在其发展过程中规模越来越大,涉及到的信息通信设备也越来越多。如何保证各类信息通信网络设备之间、以及设备内部各部件的互连互通,成为一个重要环节。前面提到的规范一致性测试保证了设备的参数与特性符合规范的一致性要求,但仅仅靠一致性测试是不能完全保证互联互通的,因为各家厂商从遵循技术规范到产品的具体实现还是有各自不同的理解与方式,这也就可能会造成互相沟通不匹配的问题。
所谓互操作性(Interoperability),即验证产品与一个或更多符合规定的系统/产品之间是否能进行信息共享及交换,以实现相互协作来完成一项功能的能力。互操作性测试采用最多的形式,是测试单位选择经互操作认可的设备(Golden DUT)来与被测设备进行互操作性测试,认可的设备可能是终端设备、网络设备或者应用软件,也可能是一个单独设备或者若干设备的组合。互操作性测试本身的项目与流程一般不会定义在标准组织的技术规范内,而是由负责测试的组织或机构、甚至是厂商自己单独制定流程。PCIe认证项目里,就明确要求必须通过80%的互操作性测试。
前面提到过,PCI-SIG、USB-IF等一些行业组织会专门组织Compliance Workshop或Plugfest(插拔大会)、IOP,在这些活动现场,只要双方同意,可以任意进行互联互通的测试,给产品厂家提供一个互相切磋过招的机会,这就比较像古代武林高手进行比武的场景。
Plugfest大会现场
对于电信设备(网络与终端)来说,互操作性测试往往是由运营商来主导的,比如美国AT&T、Verizon等都由自己的运营商接收测试流程,其中就包含互操作性测试。对于移动终端来说一般包括以下两种互操作性测试:
NV-IOT(Network Vendor-Interoperability Test):在室内的模拟网下进行测试,测试所用的网络配置和商用的网络基本一致;
NS-IOT(Network Simulator-Interoperability Test):使用多家仪表厂家的仪表,对纷繁复杂的网络环境进行仿真,验证终端在各种网络环境下的互联通和数据性能;
NFC互操作性测试平台
一致性测试检查被测对象的实现是否与标准规定一致,而互操作性测试用于检测被测对象的实现是否可以完成要求的功能,两者互为验证、互为补充关系,再加上可靠性测试、性能测试,结合起来才能完成完整的产品最终测试。