The invention discloses a method and device for unit testing user network file system, through the pre deployment of NFS Ganesha user network file system source code and compile tools in NFS environment; Ganesha user network file system source code into CUnit testing tool dependent function library and lib library file, and write the code into the switch option and CUnit library and lib library files; establish a unit test directory, writing unit tests CmakeLists text files, the introduction of the measured function code, written test code test cases; open the unit test switch, NFS external Ganesha source code compiled by cmake; after the compilation is done, generating unit test results. This application can improve the quality of the file system service code, is more efficient, easy to manage and maintenance, and can achieve interactive operation.
【技术实现步骤摘要】
一种用户态网络文件系统的单元测试方法及装置
本专利技术涉及网络文件
,特别是涉及一种用户态网络文件系统的单元测试方法及装置。
技术介绍
随着大数据、云计算、海量存储在企业信息系统中的广泛应用和深入发展,用户的核心存储应用数量越来越多,其中通过网络进行文件数据交互,是人们普遍采用的方式。随着企业数据越来越庞大,用户对数据的传输性能和稳定性要求越来越高,存储服务器各个模块软件的代码质量已经成为软件使用者和开发者关注的重点。因此,提供一种快速、可靠、易于实施和维护的网络文件系统代码质量测试方法显得尤为重要。软件测试是一种高效的代码监测和解决功能模块缺陷与故障的重要手段。然而现有技术中针对开源代码NFS-Ganesha用户态网络文件系统的单元测试比较少,代码质量需要进行完善。NFS(NetworkFileSystem)即内核态网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。内核态是指CPU可以访问内存所有数据,包括外围设备,例如硬盘、网卡等,CPU也可以将自己从一个程序切换到另一个程序。用户态是指只能受限的访问内存,且不允许访问外围设备,占用CPU的能力被剥夺,CPU资源可以被其他程序获取。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS-Ganesha是用户态网络文件系统,属于开源项目,在系统服务故障场景下,相比于内核态NFS具有较好管理性和可维护性,并且用户态NFS-Ganesha易于实施和维护,因此,目前大数据海量分布式对象存储N ...
【技术保护点】
一种用户态网络文件系统的单元测试方法,其特征在于,包括:预先部署NFS‑Ganesha用户态网络文件系统源码环境和编译工具;在NFS‑Ganesha用户态网络文件系统源代码中引入CUnit测试工具依赖函数库和lib库文件,并编写代码引入开关选项和CUnit库函数、lib库文件,以实现自动化编译部署单元测试套件;建立单元测试目录,编写单元测试CmakeLists文本文件,引入被测函数代码,编写被测代码测试用例;打开单元测试开关,通过cmake进行NFS‑Ganesha源代码外部编译,以实现自动化编译NFS‑Ganesha源码和单元测试模块编译;在编译完成后,生成单元测试结果。
【技术特征摘要】
1.一种用户态网络文件系统的单元测试方法,其特征在于,包括:预先部署NFS-Ganesha用户态网络文件系统源码环境和编译工具;在NFS-Ganesha用户态网络文件系统源代码中引入CUnit测试工具依赖函数库和lib库文件,并编写代码引入开关选项和CUnit库函数、lib库文件,以实现自动化编译部署单元测试套件;建立单元测试目录,编写单元测试CmakeLists文本文件,引入被测函数代码,编写被测代码测试用例;打开单元测试开关,通过cmake进行NFS-Ganesha源代码外部编译,以实现自动化编译NFS-Ganesha源码和单元测试模块编译;在编译完成后,生成单元测试结果。2.如权利要求1所述的用户态网络文件系统的单元测试方法,其特征在于,所述NFS-Ganesha用户态网络文件系统源码环境为CentOS7.2版本环境,所述编译工具采用cmake-2.6.4、make-3.82、automake-1.13.4版本。3.如权利要求1所述的用户态网络文件系统的单元测试方法,其特征在于,引入Cunit测试工具、引入开关选项的位置为NFS-Ganesha源码文件中CMakeLists.txt中,引入CUnit库函数、lib库文件的位置为NFS-Ganesha源码文件中cmake子目录中的单元中。4.如权利要求1至3任一项所述的用户态网络文件系统的单元测试方法,其特征在于,所述编写被测代码测试用例包括:建立测试用例,编写测试函数代码用例;将功能满足预设条件的测试方法归类为同一个数组里,以便指向同一个测试包;根据功能或模块的不同,建立多个测试包;建立测试方法的总调用方法,以完成被测代码测试用例的编写。5.如权利要求4所述的用户态网络文件系统的单元测试方法,其特征在于,在所述生成单元测试结果之后还包括:对所述单元测试结果进行分析。6.一种用户态网络文件系统的单元测试装置,其...
【专利技术属性】
技术研发人员:臧林劼,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。