DOS系统下NVMe自动化测试工具的设计与实现

 2022-03-28 08:03

论文总字数:21250字

摘 要

信息存储记录历史、传承文明,是人类社会生存和发展不可或缺的重要手段。固态硬盘(SSD)是以闪存介质为主的一种极为重要的存储产品,它广泛应用于移动终端,笔记本电脑,服务器,台式机和数据中心等场合,人们对其需求量极大。在行业趋势下,NVMe横空出世。NVMe即Non-Volatile Memory Express,是非易失性存储器标准,是跑在PCIe接口上的协议标准。NVMETEST是一个用于测试NVME设备的强大测试程序。

本毕业设计是基于NVMETEST和NVMEQRWT测试软件开发的,用于实现其脚本文件的自动化测试的一套工具。其基于DOS系统、NVMe协议和TFTP协议,使用FreeBASIC语言编写启动脚本,实现了整合NVMETEST与NVMEQRWT测试并完成自动化测试的功能。该工具的实现需要制作启动镜像,将镜像部署到服务器,从而实现测试机从网线启动,下载服务器端镜像,然后直接进行自动化测试部署工作,完成自动化测试。测试过程全部以命令行的形式完成。

经过测试,此自动化测试工具可以实现从服务器下载测试软件,完成自动化测试功能。并且可实现测试脚本的筛选与个性化挑选测试,可增加后续测试项,实现了工具的重用性。此工具可让测试人员更加方便更加自由的进行NVMETEST与NVMEQRWT混合测试,大大提高了测试人员的测试效率。

关键词:自动化测试,NVMe协议,SSD,DOS

ABSTRACT

Information storage records history and inherits civilization, which is an indispensable and important means for the survival and development of human society. Solid state drive (SSD) is a very important storage product based on flash memory. It is widely used in mobile terminals, laptops, servers, desktops and data centers. In the industry trend, NVMe burst into the world. NVMe, or non-volatile Memory Express, is the protocol standard running on the PCIe interface. NVMETEST is a powerful test program for testing NVME devices.

This graduation project is based on NVMETEST and NVMEQRWT test software development, used to achieve its script file test automation of a set of tools. It is based on the DOS system, NVMe protocol and TFTP protocol, Freebasic language to write startup scripts, to achieve the integration of NVMETEST and NVMEQRWT test and complete the function of automated testing. The implementation of this tool needs to make startup image and deploy the image to the server, so as to realize the startup of the test machine from the network line, download the server-side image, and then directly carry out the deployment of automated test to complete the automated test. The test process is completed entirely on the command line.

After testing, this automatic testing tool can download test software from the server to complete the function of automatic testing. It can realize the test script screening and personalized selection test and increase the follow-up test items, to achieve the reuse of tools. This tool enables testers to conduct NVMETEST and NVMEQRWT mixed tests more conveniently and freely, which greatly improves the testing efficiency of testers.

Keywords: automated test,NVMe protocol,SSD,DOS

目 录

摘 要 I

ABSTRACT II

目 录 1

第一章 绪论 1

1.1项目概述 1

1.1.1 项目背景 1

1.1.2 项目简介 1

1.1.3 项目价值 1

1.2论文主要内容 2

1.3论文章节安排 2

第二章 理论知识与课题背景 3

2.1 SSD介绍 3

2.1.1 SSD综述 3

2.1.2 SSD核心技术:FTL 3

2.1.3 SSD基本工作原理 3

2.2 NVMe协议简介 4

2.2.1 NVMe综述 4

2.2.2 SQ、CQ和DB 4

2.2.3 NVMETEST、NVMEQRWT 5

2.3 FreeBASIC编程技术 5

2.3.1 FreeBASIC编程工具 5

2.3.2 FreeBASIC语言综述 6

2.4 TFTP协议简介 6

2.5 pxe启动 6

2.6本章小结 7

第三章 需求分析 8

3.1功能需求 8

3.2非功能需求 9

3.3 本章小结 10

第四章 概要设计 11

4.1项目结构流程 11

4.2 项目部署模块 12

4.3自动化测试脚本开发模块 12

4.3.1 DOS系统界面显示菜单 12

4.3.2个性化筛选测试项目 13

4.3.3 脚本实现nvmetest与nvmeqrwt测试 14

4.4本章小结 14

第五章 详细设计与实现 15

5.1项目开发与测试环境 15

5.2 DOS系统界面显示菜单 15

5.3 个性化筛选测试项目 16

5.3.1分割字符串 16

5.3.2 条件判断与执行 17

5.4 脚本实现nvmetest与nvmeqrwt测试 18

5.5 自动化测试工具生成 19

5.6 本章小结 20

第六章 测试评估 21

6.1 功能测试 21

6.2 非功能测试 21

6.3 本章小结 22

第七章 工作总结及展望 23

7.1总结 23

7.2展望 23

参考文献 24

致 谢 25

第一章 绪论

1.1项目概述

项目背景

SSD(Solid State Drive),即固态硬盘,是一种以半导体闪存(NAND Flash)作为介质的存储设备。与传统机械硬盘(Hard Disk Drive, HDD)不同,SSD以半导体存储数据,用纯电子电路实现,没有任何机械设备,这就决定了它在性能、功耗、可靠性等方面和HDD有很大的不同。SSD的概念很早就有,但真正成为主流存储应用还是最近10年的事情。作为存储设备,其速度,性能,功耗,安全,容量等都将成为决定它优劣的重要指标。随之出现的对SSD的测试也成为SSD上市流程的重中之重。[1]

HDD和早期的SSD绝大多数都是使用SATA接口,跑的是AHCI(Advanced Host Controller Interface),它是由Intel联合多家公司研发的系统接口标准。但AHCI和SATA已经不能满足高性能和低延时SSD的需求,因此SSD迫切需要更快、更高效的协议和接口。这样的背景下,NVMe横空出世。基于此协议,NVMEQRWT、NVMETEST测试工具应运而生。NVMEQRWT、NVMETEST、AHCCMDT、AHCDEMO和AHCNCQT是DOS DPMI模式程序。ATACT和ATADEMO是DOS的真实模式程序。这些通常从DOS USB驱动器运行。[2]

项目简介

基于上述项目背景,此自动化测试工具希望实现整合NVMETEST与NVMEQRWT测试,将NVMETEST与NVMEQRWT手动测试用自动化来实现,同时简化制作DOS USB驱动器步骤而用服务器代替。

项目价值

手动测试时,需要用到DOS USB驱动器,所以进行一次测试需要制作一次DOS USB驱动器,并在DOS系统下进行命令操作。比如手动输入NVMETEST测试命令;但是需要测试的脚本很多,横向可能会不断有新的脚本出现。纵向可能会有新的测试软件加入SSD测试的行列,而每项测试都需要手动操作,这样既浪费时间也很繁琐。而通过自动化测试可以整合这些基于NVMe协议的测试,自由度和灵活度得到大大的提升,既节省了时间,也解放了劳动力。

1.2论文主要内容

本论文目的为完成基于DOS系统的NVMe自动化测试工具的设计与实现,内容上详细说明了此项目的选题背景和意义,相关的知识与技术,需求分析,详细设计与实现,测试评估,总结与展望等。

1.3论文章节安排

本文主要分为七个章节,各章节的简要概括如下:

剩余内容已隐藏,请支付后下载全文,论文总字数:21250字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;