- 收藏
- 加入书签
针对存储设备自动化测试平台的设计
摘要:随着互联网经济的不断发展,无论是新型信息产业还是进行信息化改革的传统企业都对于存储设备的需求量不断攀升,在智慧生活、智慧城市、教育、出行、医疗、办公、养老等领域广泛应用。存储设备作为数据存放的重要介质,让越来越多的人意识到了存储设备的重要性。对于存储设备产品的测试,按传统的测试模式,效率已经难以跟上需求的步伐,这就要求研发团队不断升级测试方式方法。本文针对如何规范存储设备测试,提高测试效率做了一系列实地调研,经过多翻测试流程推演并结合测试实践经验,设计了一套自动化测试全流程管控系统平台,实现了可根据测试需要,灵活、自动化的管理存储设备。取得良好的成本节省的效益。
关键词:存储设备;自动化;测试
一、引言
长期以来,高端芯片制造技术被国外垄断,近些年,随着国家大力扶持集成电路和芯片等核心领域技术的研发与创新,使得核心技术能国产化,在国家和企业的共同创业奋斗中,经过改革开放这些年的发展,国产芯片地位逐渐提高,拥有了自主化知识产权的产品越来越多,同时市场的竞争也越发激烈,功能复杂性和质量优越性等诉求愈来愈强烈。
存储设备(如U盘、移动硬盘、SD卡、TF卡)的测试主要是为了保证存储设备的质量,然而针对不同的存储设备,质量验证的测试用例不尽相同,而大量的测试用例没有规范化管理,没有通用化与个性化,很容易误测漏测;且逐个用例手工执行效率太低,时间与测试设备没充分利用;一旦出现用例执行不通过,此情况的处理耗时耗力耗资源,可能直接影响整体的测试验证进度;再则测试资源是否被占用,无统一直观界面可查,增加了沟通确认成本;最后是测试报告的梳理,由测试人员手工整理,每执行完一轮测试后需要产出测试报告,每天需要产出测试进展情况报告,这些报告的梳理过于占用测试人力时间,而且测试质量没有规范标准。因此,本文提出一套自动化测试的平台设计方案,解决上述痛点。
二、存储设备自动化测试平台的设备环境
在现有的测试系统硬件基础上,针对系统功能需求对系统电路进行了重新设计,添加了服务器与测试机。对该系统的硬件设备进行了选型与设计,从而组成了系统硬件结构,如下所示:
1、计算机->测试用例->服务器->测试数据->测试机->存储设备
2、服务器选型
服务器是此存储设备自动化测试平台的核心硬件设备之一,其主要是用于运行自动化测试平台软件系统,测试用例汇集与管理,以及测试报告数据。包括WEB服务器、核心服务器、系统服务器。
主机规格8C16G;磁盘容量240G;部署并运行自动化测试平台。
NAS网络存储:5000G;存储数据,如测试报告等。
Redis:主从各4G、8G;将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。
3、数据库:Postgres,规格4C32G,容量800GB,连接数6000;存储数据,如用户信息、资源情况、测试用例数据。
4、环境设备组成及自动化测试平台的运行原理
本自动化测试平台对环境组网要求不高,系统采用B/S架构,开发与测试人员的工作电脑连接上企业组网内部,服务器同样连接在企业内部网络,在测试机插上待测试的各类型存储设备。自动化测试平台软件应用部署在服务器上,开发人员与测试人员通过研发好的H5界面登录访问该自动化测试应用平台,操作测试需求或测试计划,导入自动化测试用例脚本到自动化控制节点的任务队列中,选择测试对象存储设备,通过自动化软件应用平台分配测试机资源,开启运行测试用例,将存储设备的测试执行过程生成测试日志,在预设的路径下进行存储。当出现用例执行失败时及时通知测试人员与开发人员。执行完成由服务器自动产出测试报告。
1、三、存储设备自动化测试平台的软件设计
2、软件设计目标
还平台实现测试用例管理、测试设备资源的管理、测试用例执行控制管理、测试报告的管理。
1.1测试用例管理
此存储设备自动化测试平台的测试用例是针对存储设备一项特定的功能场景进行测试任务的描述,执行时间、测试样片数量,掉电方式等方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成单个独立的用例。简而言之,测试用例是为了验证存储设备某一应用场景而编写的一组测试输入、执行条件及预期结果,用于检验该存储设备在此场景下运行是否正常。
存储设备的定制功能市场广大,规模、复杂度、功能不尽相同,导致测试用例需相应变化,测试用例需要不断更新。为了提高测试效率并确保测试质量,有效管理测试用例变得非常重要。
针对每种类型的存储设备都会有针对其质量进行验证的测试用例,测试用例有些可以对不同类型的存储设备通用,而有些用例仅针对同类型存储设备的测试验证,当然还会有针对定制化存储设备专属的用例。针对存储设备通用功能的验证,可以使用统一通用的测试用例进行验证,不需要再重复编写,可直接调取运行使用。
本自动化测试平台区分自动化测试用例与手工测试用例。自动化测试用例,通过事先输入编辑好的运行脚本,由平台执行自动化脚本,达到自动测试的目的。而手工测试用例,则难以用脚本实现,需要人工执行测试操作来验证产品质量。自动化测试平台可以不间断地执行自动化测试用例,并记录每个用例的运行结果。遇到测试用例执行不通过的情况,能及时触发通知消息给开发人员与测试人员。
1.2测试设备资源的管理
测试设备资源的管理是对所有参与测试设备的资源由服务器统一调剂分配管理。当服务器接受到测试任务后,根据测试任务的相关参数要求,分配能执行该用例的测试资源;用例执行完成后由服务器释放该设备资源,再重新分配给其它用例。
测试设备统一管理可直观查看当前测试设备资源使用情况,资源的充足性可视化,资源的可用性通过服务器清晰可见。测试设备通过服务器统一分配,执行完成由服务器释放,当非工作时间且无可用测试设备资源时,用例处于等待状态,一旦资源被释放,服务器自动分配,测试设备可以被充分利用。同类型用例积压太多,未能有资源可执行,便可以增加这方面的测试设备;当有设备出现富余,则可以视情况调剂给短缺的一方。
直观呈现测试设备资源信息,包括机器编号、机器名称、机器状态、机柜、总容量、可用容量、IP地址、硬件型号、软件版本、磁盘数、最大样片数、已接样片数等。
1.3测试用例执行控制管理
测试用例执行控制管理或测试计划执行管理,是指对测试用例需求优先级、执行时间、执行时长等参数,由自动化平台统一调配控制,使用时间利用最大化,资源利用最大化。
由于存储设备的广泛应用,功能场景越来越多样与复杂,测试用例的规模也变得越来越庞大,往往存在较多的冗余用例,运行和维护用例会耗费大量的人力物力。因此需求对用例进行优先级划分,24小时使用测试设备,解决测试时间紧张与人力不足的情况。
通过自动化测试平台配置测试用例运行开始时间,控制启用或停用等操作。有些用例需要运行较长时间,可以控制执行时间,选择在夜间等时间执行。自动化平台同时可以控制执行中的用例暂停运行或结束运行,并释放测试设备资源,释放的测试设备资源可以由自动化平台及时分配给等待中的测试用例。自动化测试平台记录测试用例执行时长,执行成功还是失败,用例的执行次数与执行结果数据进行整理分析可以作用于促进测试用例质量的提升。
1.4测试报告管理
测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件存在的质量问题提供依据,同时为软件验收和交付打下基础。
版本测试用例执行完成,由自动化测试平台自动生成测试报告,为了解决报告五花八门,不统一的问题,由自动化平台按照统一的报告模板生成直观的报告。运行失败的详情通过失败分析详情查看。同时支持测试人员手工整理的报告上传至平台查阅,解决手工测试的报告产出的问题。
1.5测试用例质量检测
通过自动化平台记录的用例的运行次数,执行结果,来检验用例的测试效果。相同的用例在不同的芯片上执行不通过的次数多,说明这个用例的效果是更高效的,是更能抓到问题的用例。应该开发出更多这样的用例,来整体提升交付质量。
一个功能的使用率更高,且失效概率高,此功能的测试用例相比较于较少使用的功能的测试用例要更具高优先级。
2软件设计思路
(1)尽可能充分利用测试设备。资源统一规划,集中管理化、自动分配化,充分利用非工作时间自动执行用例,及时通知开发人员和测试人员;
(2)尽能用例覆盖更全,减少重复工作,通用用例不需要重复编写,统一测试用例池管理执行。用例可按功能模块拆分,可灵活组合,可灵活确定测试顺序,增加使用场景覆盖面,提升测试质量。
(3)尽可能提升测试效率,尽早发现问题,灵活调配测试用例顺序,调取效率更高的用例优先执行,尽早解决隐藏问题;
(4)积累测试用例执行次数与结果,用于测试用例质量分析,来丰富测试场景并验证尽可能覆盖更全面的场景。
3软件设计原理
3.1测试模式的设计
本自动化测试平台测试模式包括功能模块测试、通用功能测试、特点设备功能测试。 功能模块测试是一种常用的软件测试方法,对发现缺陷保证质量有重要作用。也称黑盒测试,是指按功能拆分测试用例,可以单个或多个功能进行测试。功能模块测试的用例设计方法通常有等价类法、边界值法、错误推演法、正交实验法、功能图分析法、因果图和决策表法等。本系统是按一定颗粒度大小的功能模块拆分组合测试用例,实现针对单个独立功能的用例包,减少重复的测试用例编写工作。
通用功能测试是指测试对象有共同功能特征进行通用或常规的测试。类如数据写入功能、擦除功能、热插拔等常规功能的验证。
特定设备功能测试是有特殊功能的设备专门制定的针对性的测试。如对存储设备的高速且高频次反复写入数据,无限次擦除,仅写入,密码验证等特定需求功能的验证测试。
3.2测试流程设计
测试需求以工单的形式生成,通知到相关人员,测试用例执行与结束的方式通过参数控制,参数控制掉电方式,测试设备及时回收再分配,测试设备异常报警机制。
l等待测试的用例详情
名称:测试用例30
特征:Corf常规测试
属性:写入、参数掉电
测试状态:待测试
测试设备:待分配
l运行中的测试用例执行详情
名称:测试用例6
特征:Corf常规测试
属性:拷贝+删除、参数掉电
测试状态:测试中
测试设备:待分配
测试人员:Lynne. Shi
测试时间:2022-10-12 10:40:56
l运行中的测试设备详情
机器编号:FA8_6_12
机柜:1102室
IP:168.19.44.199
测试状态:运行中
l当测试设备异常会发出如以下的报警通知:
2022-10-10 13-08-18:P C:GE2_2_24检测到未响应窗口:DUTTest 60.11.02.31.008(未响应),请及时查看!
四、结语
本文主要介绍一套测试全流程管控系统,从测试用例版本的输入,到测试报告的生成,以及测试设备异常的及时通知。通过自动化平台使测试进度可视化、测试流程自动化、测试资源利用高效化、测试报告产出规范化。测试用例执行进度以及测试用例的质量以抓出问题的能力程度均有数据记录可分析。尤其是测试设备资源的高效利用,节省开了企业在测试设备方面冗余的投入,大大减少闲置时长,为企业节省了更多的成本,提升了整个软件的研发效率,同时也为测试效能分析提供更多的数据基础。
参考文献:
[1]王逸飞.基于FPGA的SoC全自动化测试的设计与实现[D],东南大学硕士论文,2021.
[2]杜留根. SPI接口存储芯片测试系统的设计与实现[D],电子科技大学硕士论文,2021.
[3]李晓东.基于FPGA的集成电路芯片测试系统设计[D],长春工业大学硕士论文,2021.
[4]卢赟.面向敏捷开发的软件回归测试流程优化[D],浙江大学硕士论文,2022.
[5]周卫斌,张达强,毕明帆,故阳阳,杨永刚.基于SSL_TLS协议的芯片测试软件平台设计[D],天津科技大学硕士论文,2022.
[6]张武甲.基于参数测量单元的芯片自动测试系统设计[D],西安电子科技大学硕士论文,2013.
[7]吴再婕.服务器和存储自动化管理系统测试设计与实现[D],西安电子科技大学硕士论文,2015.
[8]邱小玲.系统化产品设计中的敏捷问题研究[D],陕西科技大学硕士论文,2016.
[9]萧世文,宋延清.USB 2.0硬件设计[M] M.北京:清华大学出版社,2006.
[10]谢斌.浅析集成电路测试技术[J].科技信息,2009,(36):413-416.
[11]熊志辉,李思昆,陈吉华,等.一种基于层次平台的SoC系统设计方法[J].电子学报,2004,32(11):1815-1819.
[12]石英,陈心浩,何湘竹.基于“单片机+ FPGA”的数字芯片自动测试系统设计[J].实验技术与管理,2020,37(12):130-135.
[13]郑宇,方岚,李苏苏,等.微处理下的数字集成电路测试系统设计[J].计算机测量与控制,2021,29(3):27-31.
[14]李富国,宁凯,徐安俊.基于FPGA的硬件测试电路设计[J].自动化与仪表,2019,34(2):35-37.
[15]刘志强.芯片自动测试系统硬件实现[J].黑龙江科技信息,2019(29):70-71.
[16]杜晓岚,张磊.基于LK8810平台的集成电路开短路测试方案设计[J].电子设计工程,2019,27(14):51-54.
[17]邱小玲.浅析软件测试的方法[J].科技信息(科学教研),2008,17:93+100.
京公网安备 11011302003690号