主要内容

自定义数据存储的测试指南

从自定义数据存储类派生的所有数据存储共享一些公共行为。此测试过程提供了测试所有自定义数据存储应该具有的最小行为和功能集的指导方针。您将需要额外的测试来限定自定义数据存储的任何独特功能。

如果您根据指令开发了自定义数据存储开发自定义数据存储,然后按照这些测试过程来限定您的自定义数据存储。首先执行单元测试,然后执行工作流测试:

  • 单元测试限定了数据存储构造函数和方法。

  • 工作流测试限定数据存储使用。

对于所有这些测试用例:

  • 除非在测试说明中指定,否则假设您正在测试一个非空的数据存储ds

  • 在文件扩展名、文件编码和数据位置(如Hadoop)上验证测试用例®),您的自定义数据存储设计来支持。万博1manbetx

单元测试

建造

数据存储构造函数的单元测试指南如下。

测试用例描述 预期产出

检查您的自定义数据存储结构函数是否适用于最小所需的输入。

具有最小预期属性和方法的自定义数据存储类型的数据存储对象

检查您的数据存储】对象dsmatlab.io.Datastore作为其超类之一。

运行这个命令:

isa (ds,'matlab.io.datastore'

1或者真正的

使用所需的输入和任何支持的输入参数和名称值对参数致电自定义数据存储构造函数。万博1manbetx

具有最小预期属性和方法的自定义数据存储类型的数据存储对象

单位测试指南方法

测试用例描述 预期产出

打电话给方法ds

t =读(DS);

数据存储开头的数据

如果指定读取大小,则返回数据的大小等于读取大小。

打电话给方法。

t =读(DS);

从上一次读操作的结束点开始的数据

如果指定读取大小,则返回数据的大小等于读取大小。

继续打电话给方法在while循环中对数据存储对象执行。

(hasdata(ds)) t = read(ds);结束

没有错误

以正确格式正确的数据

当数据可用读取时,请检查信息输出(如果有)的方法。

调用数据存储对象ds

[t,信息]=阅读(ds);

没有错误

信息包含预期的信息

t包含预期数据

当没有更多数据可以读取时,请致电在数据存储区对象上。

期望的输出或基于自定义数据存储实现的错误消息。

readall

单位测试指南readall方法

测试用例描述 预期产出

打电话给readall方法。

所有的数据

打电话给readall在数据存储对象上的方法,何时hasdata (ds)

从数据存储中读取,直到hasdata (ds),然后打电话给readall方法。

(hasdata(ds)) t = read(ds);结束
readall (ds)

所有的数据

hasdata

单位测试指南hasdata方法

测试用例描述 预期产出

打电话给hasdata在进行任何调用之前,数据存储对象的方法

真正的

打电话给hasdata在进行几个调用后对数据存储对象的方法,但在读取所有数据之前

真正的

当有更多数据可读时,调用readall方法,然后拨打电话hasdata方法。

真正的

当没有更多可读取的数据时,调用hasdata方法。

重启

单位测试指南重启方法

测试用例描述 预期产出

打电话给重启在对其进行任何调用之前对数据存储对象的方法方法。

验证这一点方法在调用重启方法。

重置(DS);t =读(DS);

没有错误

从数据存储的开头返回数据。

如果指定读取大小,则返回数据的大小等于读取大小。

当有更多数据可读时,调用重启方法,然后调用方法。

验证这一点方法拨打电话后返回适当的数据重启方法。

没有错误

方法从数据存储的开头返回数据。

如果指定读取大小,则返回数据的大小等于读取大小。

当有更多数据可读时,调用重启方法调用readall方法。

验证这一点方法拨打电话后返回适当的数据重启方法。

没有错误

方法从数据存储的开头返回数据。

如果指定读取大小,则返回数据的大小等于读取大小。

当没有更多可读取的数据时,调用重启方法,然后调用方法

验证的调用后返回适当的数据重启方法。

没有错误

方法从数据存储的开头返回数据。

如果指定读取大小,则返回数据的大小等于读取大小。

进步

单位测试指南进步方法

测试用例描述 预期产出

打电话给进步在对其进行任何调用之前对数据存储对象的方法方法。

0或基于自定义数据存储的预期输出。

打电话给进步方法在调用数据存储对象之后readall,但在打任何电话之前

readall (ds);进展(ds)

0或基于自定义数据存储的预期输出。

打电话给进步在进行几个调用后对数据存储对象的方法虽然可以阅读更多数据。

一部分01或基于自定义数据存储的预期输出。

打电话给进步当无法读取更多数据时,在数据存储对象上使用。

1或基于自定义数据存储的预期输出。

预览

单位测试指南预览方法

测试用例描述 预期产出

称呼预览在调用数据存储对象之前

预览方法根据您的自定义数据存储实现,从数据存储开始处返回预期的数据。

称呼预览对数据存储对象进行几个调用后虽然可以阅读更多数据。

预览方法根据您的自定义数据存储实现,从数据存储开始处返回预期的数据。

称呼预览在调用数据存储对象之后readall虽然可以阅读更多数据。

预览方法根据您的自定义数据存储实现,从数据存储开始处返回预期的数据。

称呼预览对数据存储对象进行几个调用后以及对重启

预览方法根据您的自定义数据存储实现,从数据存储开始处返回预期的数据。

称呼预览在数据存储对象上时,没有更多数据可用。

预览方法根据您的自定义数据存储实现,从数据存储开始处返回预期的数据。

称呼预览打了几个电话给方法,然后调用一次。

方法从先前读取操作的终点开始返回数据。

如果指定读取大小,则返回数据的大小等于读取大小。

称呼预览,然后打电话readall在数据存储上。

readall方法返回数据存储中的所有数据。

虽然数据存储有数据可用于阅读,请致电预览,然后打电话hasdata

hasdata方法返回真正的

划分

单位测试指南划分方法

测试用例描述 预期产出

称呼划分在数据存储区对象上ds使用有效的分区数和有效的分区索引。

称呼在数据存储的一个分区上,验证数据。

Subds = partition(ds,n,index) read(Subds)

验证分区是否有效。

Isequal(属性(DS),属性(Subds))isequal(方法(DS),方法(Subds))

划分方法将数据存储区分区n分区并返回与指定的分区对应的分区指数

返回的分区再分必须是自定义数据存储的数据存储对象。

分区数据存储再分必须具有与原始数据存储相同的方法和属性。

isequal声明退货真正的

打电话在分区上返回从分区开头开始的数据。

如果指定读取大小,则返回数据的大小等于读取大小。

称呼划分在数据存储区对象上ds使用指定的分区数量1指数返回的分区指定为1

验证通过调用返回的数据预览在分区数据存储的某个分区上。

subds = partition(ds,1,1)isequal(属性(ds),属性(subds))isequal(方法(ds),方法(subds))isequaln(读(subds),读取(ds))isequaln(预览(Subds),预览(DS))

分区再分必须是自定义数据存储的数据存储对象。

分区再分必须具有与原始数据存储相同的方法和属性ds

isequalisequaln陈述退货真正的

称呼划分在分区再分使用有效的分区数和有效的分区索引。

对数据存储的一个分区进行重新分区应该不会出现错误。

initializeDatastore

如果您的数据存储从matlab.io.datastore.hadoopfilebased.,然后验证行为initializeDatastore使用表中的指导方针。

测试用例描述 预期产出

称呼initializeDatastore在数据存储区对象上ds使用有效的信息结构体。

信息Struct包含以下字段:

  • 文档名称

  • 抵消

  • 大小

文档名称是数据类型char和田地抵消大小属于数据类型双倍。

例如,初始化信息Struct,然后调用initializeDatastore在数据存储区对象上ds

信息=结构(“文件名”“myFileName.ext”......'抵消',0,'尺寸',500)初始化atastore(DS,Info)

通过检查数据存储对象的属性来验证初始化。

ds

initializeDatastore方法初始化自定义数据存储对象ds有必要的信息信息结构体。

getLocation

如果您的数据存储从matlab.io.datastore.hadoopfilebased.,然后验证行为getLocation使用这些指导方针。

测试用例描述 预期产出

称呼getLocation在数据存储区对象上。

位置= getLocation (ds)

基于您的自定义数据存储来实现,地点输出是其中之一:

  • 文件或目录的列表

  • 一个matlab.io.datastore.DsFileSet对象

如果地点是A.matlab.io.datastore.DsFileSet对象,然后调用解决来验证文件地点输出。

解决(位置)

getLocation方法返回Hadoop中文件的位置。

isfullfile

如果您的数据存储从matlab.io.datastore.hadoopfilebased.,然后验证行为isfullfile使用这些指导方针。

测试用例描述 预期产出

称呼isfullfile在数据存储区对象上。

基于您的自定义数据存储来实现,isfullfile方法返回真正的或者

工作流程测试

在适当的环境中验证您的工作流测试。

  • 如果您的数据存储仅从matlab.io.Datastore,然后在本地MATLAB中验证所有的工作流测试®会话。

  • 如果您的数据存储具有并行处理支持(从万博1manbetxmatlab.io.datastore.partitionable.),然后在并行执行环境(如并行计算工具箱™和)中验证工作流测试MATLAB并行服务器™

  • 如果您的数据存储具有Hadoop支持(继承自万博1manbetxmatlab.io.datastore.hadoopfilebased.),然后在Hadoop集群中验证您的工作流测试。

高大的工作流程

测试指南工作流

测试用例描述 预期产出

通过致电创建一个高大的数组在数据存储区对象上ds

t =高(ds)

函数返回的输出数据类型与数据存储的方法。

对于此测试步骤,使用适合您的系统内存的数据创建数据存储对象。然后,使用此数据存储对象创建高阵列。

t =高(ds)

如果您的数据是数字,则应用类似的函数的意思是既是dst,然后比较结果。

如果您的数据是数据类型细绳或者分类,然后申请独特的在一列上的功能ds还有一列t,然后比较结果。

应用收集并验证结果。

对于例子,见使用高数组和数据存储的大数据工作流(并行计算工具箱)

没有错误

该函数返回正确的数据类型的输出(不是a数据类型)。

函数是否返回相同的结果是应用于的dst

MapReduce工作流程

MapReduce工作流的测试指南

测试用例描述 预期产出

称呼mapreduce在数据存储区对象上ds

outds = mapreduce (ds, @mapper @reducer)
有关更多信息,请参阅mapreduce

支持使万博1manbetx用的使用mapreduce功能,函数方法必须返回两个信息数据输出参数。

没有错误

MapReduce操作返回预期结果

下一个步骤

请注意

此测试程序提供了测试自定义数据存储的最小行为和功能的指南。额外的测试是有资格限定自定义数据存储的任何唯一功能。

完成自定义数据存储的实现和验证后,您的自定义数据存储已准备好使用。

另请参阅

||

相关话题