SSD实战-自动化测试框架与常见异常处理

一、自动化框架介绍

Automation+Agent+Script

Automation平台下发任务给Agent,Agent调用Script执行测试

  • Agent:客户端,可以本地测试+远程测试(掉电必须远程)
  • Script:基于Python的unittest单元测试框架实现的自动化测试框架
    • globals目录: 框架核心代码
    • cases目录:存放测试用例
    • lib目录: 存放测试用例依赖库、关键字;lib\local\ChamberSerial.py:控制温箱
    • bin目录: 存放FW文件,目前未使用
    • doc目录: 文档、存放测试用例设计和测试方案 --目前未使用
    • sample: 启动测试使用的配置文件样例
starGUI+starAPI+starSSDTest

starGUI下发任务给starAPI,starAPI调用starSSDTest执行测试

  • starAPI:暴露环境信息,执行和监控测试任务
  • starSSDTest:SSD测试框架
  • starSSDTest
     |__aNvmeTest: 存放框架底层的文件,比如外部参数、测试log、报错、COMMAND接口
     |__testbed: 测试床文件,xml格式,目前已被testplan替代
     |__testSuite: 测试用例脚本 
     |__tools: 工具脚本,比如串口脚本(collect_ser2net.py)
starBotTest

作用:方便快速对整个主机进行测试

优点:快速部署、快速执行、快速得到结果(减少依赖第三方软件)

二、公司1问题记录

AttributeError: 'int' object has no attribute 'lower'

--字段添加引号,声明为字符串

KeyError: 'desc'

--系统语言设置为English

 

KeyError: 'power saver'

--系统增加低功耗模式、power saver模式

 

 

The current power-down test tool doesn't have the function:

power_off_ac

--交流掉电要用PDU

echo is not receive

--关闭防火墙

Permission denied

--使用Administrator启动

cmd运行时,点击窗口会自动停止

--关闭快速编辑模式

DLL load failed

--安装微软运行库

OSError: screen grab failed

--截图失败,可能是锁屏

ElementNotFoundError、Detail中看有Vxx.exe

--系统故障,需重装系统

can only run locally

--只能本地运行,删除配置的远程host信息

Test file could not be created

--命令无法删除,需手动删掉

findwindows.ElementNotFoundError

--依赖程序没正确运行,可能没安装或者没激活

   

三、公司2问题记录

  • mctp、mi相关测试由oakgate测试覆盖
  • recover、bad相关case可以先不跑
  • 大部分case失败,先排除环境、参数是否存在问题

name 'ran' is not defined

image

 --修改 ran 为random

failed parsing sync=-offset

image

原因:sync参数与offset被拼接在一起

--sync参数传入值"0"

image

fw-commit失败(可能action=3不支持)

image

fw-download花费时间超过15秒

--使用压缩bin进行测试

image

expect NVME SC INVALID FIEiD actual get NVME SC SUCCESS

--研发定位

企业微信截图_17933483114081

NVMe status: Invalid Firmware Image

--研发定位

image

 

HSC问题

image

image

 

 

 

HSC问题

image

image

 --HSC插靠近CPU的插槽,才能扫回盘

SyntaxError: Non-ASCII character

--脚本开头添加声明:# -*- coding: utf-8 -*-

 

image

---rescan扫盘失败,查看主机日志确定是否为环境问题

关键日志:pci_bus 0000:01: bus_res: [bus 01] is released

  • 内核在01号 PCIe 总线上检测到了严重的底层错误,已经放弃了这条总线,并强制释放了它的资源。
  • PCIe链路已经彻底断开,通过软件层 rescan 无法找回
 

企业微信截图_17688937125188

 I/O timeout

--没有掉盘,不管

--掉盘,进行分析(复测需要抓盘的trace)

--可能是大量UECC 导致free blk不够,导致主机 I/O timeout

 

Too many open files

--单个进程或用户打开的文件/句柄数超过ulimit设置(默认通常为1024)
查看:ulimit -n
临时调整:ulimit -n 65535

设置双端口

查询:nvme id-ctrl /dev/nvme0n1|grep cmic(0x3表示双端口)

python /opt/starSSDTest/tools/hsc_demo.py -m 53
python /opt/starSSDTest/tools/hsc_cli.py -m 7
设置成功:能扫回盘(下电会导致双端口失效)
设置失败:不能扫回盘、需重新上下电

 

 

c5f82bcc64985a33b644ad61024d056c_af5b5ac8-2a91-4adc-853d-96715038b5ee

297423795dc75bbcb9ae3f44b9efa540_539a4db6-f324-477b-926c-7e1bd8cead6a

 --需开启elbi

nvme admin-passthru /dev/nvme0n1 -o 0xC1 -cdw12=1 -cdw13=0x73746172 -cdw14=0x626c617a -cdw15=0x655f6e62

nvme admin-passthru /dev/nvme0n1 -o 0xC4 -cdw12=1

 

 

posted @ 2026-10-29 13:54  FengweiTech  阅读(8)  评论(0)    收藏  举报