宁畅工程师讲真!除“压测”外服务器出厂还得过上千道“坎”
扫描二维码
随时随地手机看文章
服务器“压力测试”作为互联网行业必修课已遍布电商平台、视频网站、游戏运营等众多应用场景。
但一台合格服务器出厂只有“压力测试”就足够了吗?就此,宁畅信息产业(北京)有限公司的测试工程师,就给出了详细解答。
服务器“诞生”至少经上千项测试
宁畅测试负责人表示,要生产出具备“德智体美劳”全面素质的服务器,需要通过不断测试,使其硬件功能稳定,电性能可靠,信号质量纯净。
每一台宁畅服务器在电性能测试方面,需经过如:Base function基本验证测试;Efficiency 效率测试;Inrush Current电流冲击测试;Overshoot & Undershoot 过冲和下冲测试;Phase margin相位裕度验证;Voltage 电压测试;Power rail 的Open & Short、Voltage、Leakage漏电测试;Sequencing 上电时序以及Clock基本测试,以及重要的CPU VRM测试。
只有信号纯净,才能保证数据传输时的质量。宁畅服务器不仅测试高速总线,如PCIE、SAS、SATA、UPI、DMI、DDR、 USB2.0/3.0、10GBASE-KR、10GBASE-T、GbE、 Clock、10G/25G Serdes以及NCSI等信号。低速总线,如SMBus、I2C、IPMB、SPI、 eSPI、LPC、VGA、Power Good and Reset等信号也会全部检查。
在板级严谨测试外,宁畅服务器还需做全面兼容性测试,如针对每一个客户的AVL,像内存、硬盘(HDD,SSD,NVMe)、网卡、阵列卡等常见扩展卡的兼容性测试,同时这些测试都会使用客户自用操作系统去做全面验证,模拟客户体验并给出反馈;其中针对Performance的调优测试,宁畅产品多次打破Spec Bechmark的记录。
服务器在通常环境下可顺畅运行,遇到“高温”、“高湿”等严苛环境也得能“吃土耐劳”。
宁畅测试团队本着“宁静、顺畅”理念,全面设计了“Thermal散热测试和Reliability(可靠性)测试”,其覆盖环境有:高温高湿场景;低温场景;盐雾场景;HALT加速寿命测试场景;Four Corner拉偏和AC loss等疲劳测试场景。
此外,Drop跌落、Shock冲击、Vibration震动、 Storage仓储测试,电磁兼容电磁干扰(electromagnetic interference, EMI)和电磁耐受性(electromagnetic susceptibility, EMS)这些都是产品包装、运输、上线和离线场景下必须测试环节。
做完以上基础测试,还得根据用户需求做特定软件环境与应用场景(包括压力测试)等等性能与稳定性测试。
一款合格的服务器产品,从设计生产到真正交付用户,粗算每台做一千项测试是妥妥的。
但是!仅做这些测试,还不能保证服务器达到宁畅标准出厂。
超4万项用例测试实现自动化
针对测试中发现的Bug,研发工程师需做系统性及时调整与处理。往往一个信号干扰问题,就需要经过多轮调试。
关键,服务器产品交付都是短时间成千上万台,要让每台服务器经过数千项测试并及时调整Bug,则需要构建系统的自动化测试体系,并在产品研发和满足用户定制化的过程中同步进行测试,以保证产品可按时、高质量地交付到用户手中。
“好比一台车要在高速路上边跑边组装、边检验,车停下来便完成所有测试与装配,用户接过方向盘就可开走。”宁畅测试负责人介绍“边造边测”非常考验宁畅测试与研发人员的技术功底与经验积累,关键还得掌握测试体系与产品研发的核心技术。
行业发展来看,只有将客户测试需求全面实现自动化,才能更好为客户服务,提供高质量产品。
而从行业中来看,如宁畅一样具备全面自动化测试能力厂商,仅占厂商总数量的2%左右。“除了人力、物力上的投入,关键还得有相关用例经验积累。”宁畅测试负责人表示,服务器测试自动化门槛很高,不仅需要测试人员,还需研发人员,在了解服务器同时掌握众多语言等技能。
图说:不同厂商测试能力比较
诸如Shell,Python,C,Java,Go,Ruby等工具语言需要掌控;如Jenkins,Django,react,Flask等架构理解也必不可少。只有掌握这些基础技能,才能面向不同业务采用不同语言与框架,如:图像数据处理要采用难度较高的OCR技术。一套完整测试系统需经过十几年的千锤百炼,才能为客户提供既敏捷又高效的服务。
图说:宁畅自动测试体系架构
目前,宁畅具备自主研发测试相关软件/硬件能力,可构建自动化测试平台,实现面向用户提供测试体系。宁畅自动化测试平台NASA(Nettrix Autotest and Stress Application)从测试环境搭建、测试、测试日志收集、测试数据分析,到最后的测试bug提交,已实现全面自动化,测试用例自动化覆盖高达95%以上。
图说:宁畅自动化任务、服务器管理界面
其中:BMC Lab测试用例14000+项,自动化覆盖95%;BIOS Lab测试用例9700+项,自动化覆盖 98%;Hardware Lab测试用例14000+项,自动化覆盖 93%;Performance Lab测试用例5700+项,自动化覆盖 97%。
此外,宁畅智能测试故障分析引擎,通过知识库黑白名单对比,对Bug实现自动定位、自动提交,并通过整合基础设施和业务调度,以及数据挖掘技术提升测试有效性,为客户提供全链路的质量保障。