总第13期
2018年5月刊
Test Theory    测论
Test Theory    测论
如何做好解决方案测试
文/乔辉、史计达

质量是一个公司的生命线,而测试作为守护这个生命线的职责部门,其工作直接影响面向用户交付的产品和解决方案满意度。以新华三技术有限公司为例,按测试面向对象的不同可区分为硬件测试、软件测试;软件测试根据职责又区分为软件特性验收测试团队、产品测试团队、鉴定测试团队、解决方案测试团队。

解决方案测试和单产品测试分工不同、测试策略不同,两种测试在目标上也有着明显的区别。解决方案测试更侧重站在用户思维上去进行多产品组合测试、场景化组网测试。解决方案测试不会聚焦设备的基础功能以及方案所需特性规格之外的功能,而是聚焦各组件产品之间的接口是否满足解决方案设计要求,并且关注于场景化需求,进行端到端的业务流程正确性、可靠性、易用性等方面评估。本文不讨论具体的软件测试方法,而是从解决方案测试的流程来阐述,如何让解决方案测试用例涵盖所设计的组网场景、客户需求、方案稳定性。

解决方案测试

1. 需求规格分析分解

图1 解决方案测试流程

从解决方案的流程定义来看如图1所示,基于解决方案场景化的特征,需要解决方案测试从前端客户需求分析入手,加强和方案设计人员、一线市场人员的反复沟通确认,甚至深入到客户处进行交流;只有真正了解客户的内在需求,才能做好端到端的场景化综合测试。

同时,解决方案测试人员要从需求规格是否可落地、交付给服务和客户时是否易实施的角度考虑方案的不合理之处,去反压方案开发细化、优化需求规格,以考察整体方案是在真正并且完整理解了客户需求的基础上来进行的方案设计,而不出现偏差。

2. 测试技能技术准备

通过对需求规格的分析分解,了解到方案所需的技术模块,同时理清方案所需的测试方法和测试工具。为保证技术技能的储备能够满足方案测试需求,测试人员需要提前介入到软件特性验收测试、部件产品联调测试来加深对技术技能的理解,实现后续方案测试执行的快速和准确;还要加强和测试仪器的沟通,了解先进的测试工具和测试方法论。

解决方案测试同时将对方案规格的理解文档提供给部件产品测试团队,实现各方测试团队联动,协同合作,共同确保方案的交付周期和质量。

3. 测试设计输出

为了让方案测试执行人员跳出产品功能模块的测试局限性思路,解决方案测试设计必须以业务为维度去进行测试,每个业务再从功能、性能、可靠性、异常、可维护性、易用性等角度去分解业务测试。

测试设计需要保证测试思路能细化到测试点的形成和测试人员能够理解贯彻执行对应的测试思路。

测试设计的测试组网拓扑图要确保能够对被测方案涉及到的业务模块软件特性的全覆盖、对被测产品硬件形态的全覆盖,并对组网说明、背景流量设计等进行说明。

测试组网图如图2所示,要清晰地表述出每个层次设备的具体型号、拓扑连接关系(10G还是40G、单条链路还是聚合链路)、IP地址&路由规划等。

图2 解决方案测试组网图

为确保方案的稳定性,测试过程中辅以长时间、大规格、大流量、多业务叠加的烤机测试。烤机测试设计需要考虑业务模块涉及的常用命令行反复操作时的内存泄露测试。

尤其需要注意的是,测试设计时针对每个接口和流程时要多考虑常规之外的异常处理流程,我们可以给出常规的业务操作指导流程,但是没有办法限制客户进行非常规的操作,需要在测试中覆盖异常类流程处理时设备和接口之间处理原则。

4. 测试点输出

根据方案规格和测试设计思路,将其细化为具体的、可执行的测试用例/测试点,在测试用例/测试点中要有明确的测试思路导向,但是又不能固化和限定测试人员的发挥想象力,也就是测试用例/测试点的设计原则是在满足方案场景的基础上,尽可能发挥测试人员的想象力,以发挥测试人员更多的主动性和价值。

测试点同时要参照既有经验、产品经验、业界经验、网上问题等来确保测试点的全面性。

5. 测试优化改进

对于有延续性、持续开发中的解决方案,要加大自动化覆盖力度,节省繁琐的操作、解放方案测试人员生产力。方案交付给用户后,遇到的问题反馈到测试设计和测试点环节,要举一反三,持续改进,为客户提供更加优化、可靠的方案质量。

测试实践

这里介绍以一个方案为例来接下如何进行测试。AD-Campus方案引入VxLAN+SDN技术,构建新一代柔性园区基础网络,颠覆传统园区“人适应网”的现状,实现整个园区内“网随人动”的效果,从而满足移动化和物联网浪潮下对于园区网络有效管控、运维简化的诉求。

AD-Campus方案测试组网模型如图3所示:

图3 AD-Campus方案测试组网模型

1. 需求规格分析分解

ADCampus方案定义的场景:网络层面面向园区网建设,服务于企业园区、高校园区、工业园区等,基于这些场景和方案规格需求,明确ADCampus的重点规格为:

● 网络自动化部署

● IPv4+IPv6混合应用

● 网随人动、策略随行对应的安全策略

● 配置自动下发,无命令行

2. 测试技能技术准备

在开始测试执行之前,测试人员要完成对上述技术模块的学习以及了解对应的测试方法,例如如何模拟大量设备、大量用户同时上线时对DHCP、认证模块的冲击,如何测试端到端用户上线速率等。这里测试人员通过提交多Leaf/Acess模拟工具来实现大量设备上线能力,通过标准测试仪器来模拟大量用户802.1x、Portal用户上线能力。

3. 测试设计输出

根据典型组网和需求,我们需要从转发平面、数据平面、管理平面、控制平台以及设备层面依据不同功能需要,设计出有针对性的测试用例。同时,需要贯彻全员烤机要求,每个人输出烤机测试点,测试组内部定期进行评审和优化,做到人走设备不停歇,持续考察设备长时间的稳定性。为了构造校园网中的攻击场景,使用测试仪打入高速率协议报文、打入源MAC变化的数据报文触发MAC认证进行MAC扫描攻击等行为,来关注整个方案长时间运行的稳定性。

4. 测试点输出

根据测试设计的指导建议,针对相关500多个测试点每个测试点有明确的测试目标要求,确保测试执行人员按照目标完成既定测试后,可以发散测试。

5. 测试优化改进

ADCampus方案是一个延续的方案,我们安排专人对一些重大局点持续跟踪,不断将客户诉求、网上问题补充到内部的经验案例库,并切实落地到了ADCampus方案测试中。同时,我们还在进行自动化脚本的开发,让各组件之间的配套、基本功能测试以自动化来实现,以解放人力去做更多组合型、可靠性、异常性测试,加强方案的健壮性。

结束语

解决方案测试作为方案交付的质量关卡,需要本着对客户负责的态度,以客户的角度去进行测试,同时测试人员必须秉承质量重如泰山,不断加强和优化测试设计的完备性,测试执行的准确度,为客户提供高质量的场景化方案。

分享到
关闭