CN108491325A - 文件系统测试方法、装置、存储介质及终端 - Google Patents

文件系统测试方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN108491325A
CN108491325A CN201810230559.1A CN201810230559A CN108491325A CN 108491325 A CN108491325 A CN 108491325A CN 201810230559 A CN201810230559 A CN 201810230559A CN 108491325 A CN108491325 A CN 108491325A
Authority
CN
China
Prior art keywords
atom operation
atom
file system
collection
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810230559.1A
Other languages
English (en)
Other versions
CN108491325B (zh
Inventor
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810230559.1A priority Critical patent/CN108491325B/zh
Publication of CN108491325A publication Critical patent/CN108491325A/zh
Application granted granted Critical
Publication of CN108491325B publication Critical patent/CN108491325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种文件系统测试方法、装置、存储介质及终端,该方法包括:跟踪记录目标场景中文件系统的操作信息,得到日志文件;将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;根据拆分得到的元操作生成元操作集;将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据,能够对测试场景进行拆分,进而适用于不同场景的文件系统测试,提高文件系统测试的易用性。

Description

文件系统测试方法、装置、存储介质及终端
技术领域
本申请实施例涉及移动终端测试技术领域,尤其涉及文件系统测试方法、装置、存储介质及终端。
背景技术
随着移动终端不断智能化,移动终端兼容越来越多的操作系统。操作系统在进行数据处理时,需要通过文件系统对存储设备中存储的数据进行处理。因此,文件系统的处理速度将影响移动终端整体的处理速度。
目前,在对移动终端的文件系统进行测试时,一种方式为对应用程序整体的运行时间进行测试,另一种方式为对文件系统的读操作或者写操作进行单一操作的时间测试。在实际应用中,上述两种测试均为针对程序员指定的某一个特定场景或者特定应用进行的测试,无法满足不同场景的测试需求。
发明内容
本申请实施例的目的是提供一种文件系统测试方法、装置、存储介质及终端,可以提高文件系统测试的易用性。
第一方面,本申请实施例提供了一种文件系统测试方法,包括:
跟踪记录目标场景中文件系统的操作信息,得到日志文件;
将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;
根据拆分得到的元操作生成元操作集;
将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。
第二方面,本申请实施例提供了一种文件系统测试装置,包括:
记录模块,用于跟踪记录目标场景中文件系统的操作信息,得到日志文件;
拆分模块,用于将所述记录模块记录的所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;
元操作集生成模块,用于根据所述拆分模块拆分得到的元操作生成元操作集;
测试模块,用于将所述元操作集生成模块生成的所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所示的文件系统测试方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所示的文件系统测试方法。
本申请实施例中提供的文件系统测试方案,首先跟踪记录目标场景中文件系统的操作信息,得到日志文件;其次,将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;再次,根据拆分得到的元操作生成元操作集;最后,将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据,能够对测试场景进行拆分,进而适用于不同场景的文件系统测试,提高文件系统测试的易用性。
附图说明
图1为本申请实施例提供的一种文件系统测试方法的流程示意图;
图2为本申请实施例提供的另一种文件系统测试方法的流程示意图;
图3为本申请实施例提供的另一种文件系统测试方法的流程示意图;
图4为本申请实施例提供的另一种文件系统测试方法的流程示意图;
图5为本申请实施例提供的另一种文件系统测试方法的流程示意图;
图6为本申请实施例提供的另一种文件系统测试方法的流程示意图;
图7为本申请实施例提供的一种文件系统测试装置的结构示意图;
图8为本申请实施例提供的一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
随着移动终端的智能化发展,移动终端兼容越来越多的操作系统。操作系统在进行数据处理时,需要通过文件系统对存储设备中存储的数据进行处理,而文件系统的处理速度将影响移动终端整体的处理速度。目前,为了确定最为合适的文件系统,通常通过对文件系统进行测试,根据测试结果选择最为合适的文件系统。
在对移动终端的文件系统进行测试时,一种方式为对应用程序整体的运行时间进行测试,可称为宏观基准测试(macro benchmark)。另一种方式为对文件系统的读操作或者写操作进行单一操作的时间测试,可称为微观基准测试(micro benchmark)。宏观基准测试(macro benchmark)可以用于实际的场景的测试,例如打开应用程序(APP)的时间、加载游戏的时间或系统关机的时间等。微观基准测试(micro benchmark)可以用于对文件系统的某个文件操作进行测试,例如检测读操作的时间、写操作的时间、创建文件的时间或删除文件的时间等。文件系统的测试除了可以对时间进行测试,还可以对处理的文件数据量、处理的文件类型进行统计,根据统计结果得出某种文件的处理频率、冗余数据占用率等数据。
目前,在实际应用中,上述两种测试均为针对程序员指定的某一个特定场景或者特定应用进行的测试,无法满足不同场景的测试需求。因为无法实现对某一个场景中的文件操作进行测试,使得测试的准确性差,进而导致文件系统测试的易用性低。本申请实施例提供了一种文件系统测试方法,能够通过对场景中涉及的复杂操作进行拆分,得出场景中涉及的元操作,然后根据元操作进行测试,进而实现将宏观基准测试与微观基准测试进行结合,实现对某个场景中文件操作进行测试的效果,提高测试的准确性和易用性。具体方案如下所示:
图1为本申请实施例提供的文件系统测试方法的流程示意图,该方法用于终端进行文件系统测试的情况,该方法可以由能够运行文件系统的移动终端来执行,该移动终端可以为智能手机、平板电脑、可穿戴设备、笔记本电脑等,该方法具体包括如下步骤:
步骤110、跟踪记录目标场景中文件系统的操作信息,得到日志文件。
目标场景为进行测试的场景,该场景可以为移动终端运行中任意应用对应的运行阶段,也可以为系统运行的某个阶段。例如,游戏加载阶段,应用程序启动阶段,移动终端屏幕解锁阶段,移动终端关机阶段等。可选的,文件系统为第四代扩展文件系统(Fourthextended filesystem,EXT4)。
在移动终端系统运行期间,通过追踪工具跟踪用户场景中的全部文件系统操作信息,包括文件系统的访问、查询、读写、新建、删除、修改等操作信息。
操作信息以文件为单位,记录文件系统中每个文件涉及的操作信息。操作信息还可以包括访问顺序、频率、次数等辅助信息。辅助信息可以供测试人员了解目标场景中文件的整体情况。例如,根据频率确定某个被操作频率或次数较高的文件,进而可以根据该文件进行进一步的测试或调整。又例如,根据访问顺序以及频率和次数综合确定出需要对某个环节的某个被多次访问的文件进行进一步测试或调整。
步骤120、将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作。
日志文件中记载的操作信息为面向用户的高级操作,如在某个文档中写入某数据,该高级操作可以由多个元操作组成。元操作作为文件系统的基本操作,即不可被分解的操作,可以作为文件系统中粒度最小的操作,任何高级操作均可以由一个或多个元操作组合完成。在上例中,元操作可以包括从文件系统中读取文档以及在文档中写入某数据,共两个元操作。
可选的,通过机器学习的方式确定操作信息与元操作的对应关系。将预先确定的文件操作信息以及文件操作信息对应的读写信息输入到学习模型中,对学习模型进行训练。然后,由测试人员输入一组测试用操作信息,根据学习模型反馈的结果信息,以及该测试用操作信息实际对应的元操作组合,对反馈的结果信息进行调整,并根据调整后的结果信息修改学习模型中的矩阵权重,实现对机器学习模型的反向反馈。通过多次训练和反向反馈,对学习模型进行训练。
当训练出较为完善的学习模型后,在对目标场景进行测试时,将目标场景对应的日志文件中的操作信息输入至学习模型,将学习模型输出的结果数据作为元操作。
步骤130、根据拆分得到的元操作生成元操作集。
元操作集可以为每个操作信息对应的元操作,即每个操作信息对应一个元操作集。元操作集还可以为针对目标场景的日志文件拆分得到的元操作,通过归类得到的元操作集,此时的元操作集并不针对于某个特定的操作信息,而是针对归类得到的某一类类似的元操作组合(即元操作)。
可选的,可以将元操作按照使用顺序进行归类。由于元操作是由操作信息转换得到的,因此元操作的执行时间与操作信息的执行时间所对应,且根据操作信息的功能以及元操作的功能,可以对元操作的执行顺序进行排序。将具有固定执行顺序的元操作归为一元操作集。
可选的,还可以根据元操作的类别进行归类。例如将同属于对文件进行修改的元操作归为一元操作集,对文件进行访问的元操作归为一元操作集,将对文件进行建立和删除的元操作归为一元操作集等。
可选的,通过机器学习的方式将元操作生成为元操作集。此时,将预先设置的元操作与元操作集的对应关系输入值学习模型中,对学习模型进行训练。通过对此训练得到用于生成元操作集的学习模型。
机器学习模型采用的算法可以包括K最近邻(kNN,k-NearestNeighbor)分类算法,决策树,朴素贝叶斯(naive bayes)算法,逻辑回归算法,支持向量机SVM(Support VectorMachine,SVM)算法等。
步骤140、将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的测试数据。
在得到元操作集后,可以将元操作集作为实际的文件访问操作,作为测试输入,按照顺序依次执行元操作。在执行的过程中,记录每个元操作花费的时间,以及元操作所在的元操作集整体花费的时间,作为测试数据。
元操作集的测试数据可以反映某一元操作集在不同文件上的处理时间,也可以反映某个元操作在不同文件上的处理时间。还可以反映同一个文件上不同的元操作集或者元操作的处理时间。
本申请实施例提供的文件系统测试方法,首先跟踪记录目标场景中文件系统的操作信息,得到日志文件;其次,将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;再次,根据拆分得到的元操作生成元操作集;最后,将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。相对于宏观基准测试只能测试某个场景的整体数据,以及微观基准测试只能测试单一文件操作,本申请实施例能够通过将目标场景的操作信息拆分为元操作后,通过对元操作的测试实现对目标场景中各元操作的测试,实现更加准确的对特定场景中的特定操作进行测试,提高文件系统测试的准确性和易用性。
图2为本申请实施例提供的一种文件系统测试方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤210、跟踪记录目标场景中文件系统的操作信息,得到日志文件。
步骤220、将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作。
步骤230、根据拆分得到的元操作的执行顺序确定关联的至少一个元操作。
步骤240、根据关联的至少一个元操作确定元操作集。
由同一个操作信息中拆分出的元操作具有一定的关联性,可以将操作信息拆分出的多个元操作作为一个操作集。
此外,元操作之间具有一定的关联性,例如读操作和写操作,在写操作之前需要先执行读操作找到写入对象。元操作之间的关联性可以听过操作对象进行确定,也可以根据执行时间顺序进行确定。例如,连续执行的多个元操作之间具有关联性。示例性的,将顺序访问文件的多个元操作作为一个元操作集,此时元操作集中包括对文件依次进行的打开操作、读操作和关闭操作。
步骤250、将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的测试数据。
基于关联性得到元操作集后,将元操作集作为测试输入进行测试。此时,元操作集中的操作为具有相关性的操作,通过测试可以得到具有相关性的元操作中,各操作在连续操作中所占的时间比例,进而确定出现卡顿的某个元操作,通过对该元操作进行调整可以提高目标场景的整体处理速度。
本实施例提供的文件系统测试方法,能够根据关联性对元操作进行分类,得到元操作集,实现对具有相关性的元操作进行测试,提高文件系统测试的准确性。通过对元操作进行分类,使得一个用户场景中所有的操作都成为了可以量化的数据,通过分析每个操作花费的时间可以对文件系统、应用程序等优化提出指导性建议。
图3为本申请实施例提供的一种文件系统测试方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤310、跟踪记录目标场景中文件系统的操作信息,得到日志文件。
步骤320、将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作。
步骤330、根据拆分得到的元操作和元操作的操作对象确定元操作的类别。
元操作对象可以为操作信息对应的操作对象,如果多个元操作均为对同一个操作对象的处理,则可以将该多个元操作归为一个元操作集。
步骤340、根据元操作的类别生成元操作集。
多个元操作涉及多个操作对象之间的数据交互,则将涉及多个操作对象的元操作作为一个元操作集。例如,复制文件时,需要打开两个文件,其中一个不断的进行读操作,另一个文件不断的进行写操作。在复制过程中的全部元操作作为一个元操作集。
步骤350、将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的测试数据。
本申请实施例能够根据操作对象确定元操作集,能够基于文件(操作对象)对其相关的元操作进行归类,得到元操作集,实现更加具有针对性的测试,提高测试准确性。通过对元操作进行分类,使得一个用户场景中所有的操作都成为了可以量化的数据,通过分析每个操作花费的时间可以对文件系统、应用程序等优化提出指导性建议。
图4为本申请实施例提供的一种文件系统测试方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤410、跟踪记录目标场景中文件系统的操作信息,得到日志文件。
步骤420、将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作。
步骤430、根据拆分得到的元操作生成元操作集。
步骤440、配置目标场景的环境变量。
根据某一次的日志文件无法得出全面准确的测试数据,因此需要多次的执行目标场景中的操作,通过多次操作的日志文件进行测试。在每次测试时,需要重新配置目标场景的环境变量。
环境变量包括应用启动信息和系统参数信息。系统参数信息包括:电量、内存使用信息、处理器工作信息或无线网络连接状态信息等。
可以在相同的环境变量中进行多次测试,进而避免环境因素影响测试稳定性。
步骤450、将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的测试数据。
本申请实施例提供的文件系统测试方法,能够通过配置环境参数为文件系统测试提供稳定的测试环境,进而提高测试的稳定性。
图5为本申请实施例提供的一种文件系统测试方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤510、跟踪记录目标场景中文件系统的操作信息,得到日志文件。
步骤520、将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作。
步骤530、根据拆分得到的元操作生成元操作集。
步骤540、判断目标场景是否为固定场景。如果是,则执行步骤550,如果不是,执行步骤570。
目标场景可以分为固定场景和可变场景。固定场景包括系统设置、音乐播放、应用程序(APP)打开等,页面不会发生变化的场景。可变场景包括具有弹出栏或者显示内容会随着时间推移或者系统环境而变化的场景。对于可变场景,可以,选择市场占用量较高的应用程序(APP)进行模糊测试,通过对这些场景下的拆分结果的智能分类,形成几类应用程序中常见的场景,成为标准测试场景。标准测试场景会定期进行更新。
步骤550、如果为固定场景,则读取并配置固定场景对应的环境变量。
固定场景对应的显示信息是固定的,因此可读取预先设置的配置信息配置环境变量。
步骤560、在固定场景中将元操作集作为测试输入进行测试。
步骤570、如果目标场景为非固定场景(又称可变场景),则选择至少一个预设应用程序进行模糊测试。
模糊测试指的是通过随机输入对应用程序进行测试,得到各个随机输入对应的非固定场景。
步骤580、对至少一个预设应用程序中的多个应用场景进行分类,得到至少一个常见应用场景。
统计应用程序中出现最多的非固定场景,将该场景作为常见应用场景。进一步的,可以对应用程序中各个非固定场景的处理时间进行计算,将响应超时的场景作为常见应用场景进行测试。
步骤590、在常见应用场景中,将元操作集作为输入进行测试。
本申请实施例提供的文件系统测试方法,能够针对应用程序的不同类型的场景进行有针对性的测试,提高测试的准确性。
图6为本申请实施例提供的一种文件系统测试方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤610、跟踪记录目标场景中文件系统的操作信息,得到日志文件。
步骤620、将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作。
步骤630、根据拆分得到的元操作生成元操作集。
步骤640、在至少两个文件系统中的相同目标场景中,将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的至少两组测试数据。
文件系统可以为EXT4文件系统,也可以为f2fx文件系统。在对目标场景进行测试时,不仅可以在固定的文件系统下对不同场景进行测试,还可以在不同的文件系统下对相同的目标场景进行测试。
步骤650、基于元操作或者基于元操作集,以对比方式输出至少两组测试数据。
基于相同的元操作,或者元操作集,对比至少两组测试数据,确定更加适用于该元操作或元操作集的文件系统。
本实施例提供的文件系统测试方法,能够在不同文件系统中,通过用户场景中每个操作的数据分别进行对比,使测试人员对不同文件系统中相同环节的处理情况具有总体上了解,也能在细节上(元操作)对比不同的文件系统进行认识,同时,根据测试数据能够确定适用于目标场景的文件系统。
图7为本申请实施例提供的一种文件系统测试装置的结构示意图。如图7所示,该装置包括:记录模块710、拆分模块720、元操作集生成模块730和测试模块740。
记录模块710,用于跟踪记录目标场景中文件系统的操作信息,得到日志文件;
拆分模块720,用于将记录模块710记录的日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作;
元操作集生成模块730,用于根据拆分模块720拆分得到的元操作生成元操作集;
测试模块740,用于将元操作集生成模块730生成的元操作集作为测试输入进行测试,得到元操作以及元操作集对应的测试数据。
进一步的,元操作集生成模块730用于:
根据拆分得到的元操作的执行顺序确定关联的至少一个元操作;
根据关联的至少一个元操作确定元操作集。
进一步的,元操作集生成模块730用于:
根据拆分得到的元操作和元操作的操作对象确定元操作的类别;
根据元操作的类别生成元操作集。
进一步的,测试模块740用于:
配置目标场景的环境变量;
将元操作集作为测试输入进行测试。
进一步的,测试模块740用于:
判断目标场景是否为固定场景;
如果为固定场景,则读取并配置固定场景对应的环境变量;
相应的,将元操作集作为测试输入进行测试包括:
在固定场景中将元操作集作为测试输入进行测试。
进一步的,测试模块740用于:
在判断目标场景是否为固定场景之后,还包括:
如果目标场景为非固定场景,则选择至少一个预设应用程序进行模糊测试;
对至少一个预设应用程序中的多个应用场景进行分类,得到至少一个常见应用场景;
相应的,将元操作集作为测试输入进行测试,包括:
在常见应用场景中,将元操作集作为输入进行测试。
进一步的,测试模块740用于:
在至少两个文件系统中的相同目标场景中,将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的至少两组测试数据;
基于元操作或者基于元操作集,以对比方式输出至少两组测试数据。
本申请实施例提供的文件系统测试装置,首先记录模块710跟踪记录目标场景中文件系统的操作信息,得到日志文件;其次,拆分模块720将日志文件中的每条操作信息拆分为元操作,元操作包括文件系统的基本操作;再次,元操作集生成模块730根据拆分得到的元操作生成元操作集;最后,测试模块740将元操作集作为测试输入进行测试,得到元操作以及元操作集对应的测试数据。相对于宏观基准测试只能测试某个场景的整体数据,以及微观基准测试只能测试单一文件操作,本申请实施例能够通过将目标场景的操作信息拆分为元操作后,通过对元操作的测试实现对目标场景中各元操作的测试,实现更加准确的对特定场景中的特定操作进行测试,提高文件系统测试的准确性和易用性。
上述装置可执行本申请前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请前述所有实施例所提供的方法。
图8是本申请实施例提供的另一种终端设备的结构示意图。如图8所示,该终端可以包括:壳体(图中未示出)、存储器801、中央处理器(Central Processing Unit,CPU)802(又称处理器,以下简称CPU)、存储在存储器801上并可在处理器802上运行的计算机程序、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU802和所述存储器801设置在所述电路板上;所述电源电路,用于为所述终端的各个电路或器件供电;所述存储器801,用于存储可执行程序代码;所述CPU802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的程序。
所述终端还包括:外设接口803、RF(Radio Frequency,射频)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(I/O)子系统809、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。
应该理解的是,图示终端设备800仅仅是终端的一个范例,并且终端设备800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于一种终端设备进行详细的描述,该终端设备以智能手机为例。
存储器801,所述存储器801可以被CPU802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口803,所述外设接口803可以将设备的输入和输出外设连接到CPU802和存储器801。
I/O子系统809,所述I/O子系统809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。I/O子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
其中,按照触摸屏的工作原理和传输信息的介质分类,触摸屏812可以为电阻式、电容感应式、红外线式或表面声波式。按照安装方式分类,触摸屏812可以为:外挂式、内置式或整体式。按照技术原理分类,触摸屏812可以为:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏或表面声波技术触摸屏。
触摸屏812,所述触摸屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。可选的,触摸屏812将用户在触屏幕上触发的电信号(如接触面的电信号),发送给处理器802。
I/O子系统809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路805,主要用于建立智能音箱与无线网络(即网络侧)的通信,实现智能音箱与无线网络的数据接收和发送。例如收发短信息、电子邮件等。
音频电路806,主要用于从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。
扬声器811,用于将智能音箱通过RF电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片808,用于为CPU802、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
在本实施例中,中央处理器802用于:
跟踪记录目标场景中文件系统的操作信息,得到日志文件;
将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;
根据拆分得到的元操作生成元操作集;
将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。
进一步的,所述根据拆分得到的元操作生成元操作集,包括:
根据拆分得到的元操作的执行顺序确定关联的至少一个元操作;
根据所述关联的至少一个元操作确定元操作集。
进一步的,所述根据拆分得到的元操作生成元操作集,包括:
根据拆分得到的元操作和元操作的操作对象确定元操作的类别;
根据所述元操作的类别生成元操作集。
进一步的,所述将所述元操作集作为测试输入进行测试,包括:
配置所述目标场景的环境变量;
将所述元操作集作为测试输入进行测试。
进一步的,所述配置所述目标场景的环境变量,包括:
判断所述目标场景是否为固定场景;
如果为固定场景,则读取并配置所述固定场景对应的环境变量;
相应的,将所述元操作集作为测试输入进行测试包括:
在所述固定场景中将所述元操作集作为测试输入进行测试。
进一步的,所述得到所述元操作以及所述元操作集对应的测试数据,包括:
在判断所述目标场景是否为固定场景之后,还包括:
如果目标场景为非固定场景,则选择至少一个预设应用程序进行模糊测试;
对所述至少一个预设应用程序中的多个应用场景进行分类,得到至少一个常见应用场景;
相应的,将所述元操作集作为测试输入进行测试,包括:
在所述常见应用场景中,将所述元操作集作为输入进行测试。
进一步的,所述将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据,包括:
在至少两个文件系统中的相同目标场景中,将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的至少两组测试数据;
基于元操作或者基于元操作集,以对比方式输出所述至少两组测试数据。
本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种文件系统测试方法,该方法包括:
跟踪记录目标场景中文件系统的操作信息,得到日志文件;
将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;
根据拆分得到的元操作生成元操作集;
将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。
进一步的,所述根据拆分得到的元操作生成元操作集,包括:
根据拆分得到的元操作的执行顺序确定关联的至少一个元操作;
根据所述关联的至少一个元操作确定元操作集。
进一步的,所述根据拆分得到的元操作生成元操作集,包括:
根据拆分得到的元操作和元操作的操作对象确定元操作的类别;
根据所述元操作的类别生成元操作集。
进一步的,所述将所述元操作集作为测试输入进行测试,包括:
配置所述目标场景的环境变量;
将所述元操作集作为测试输入进行测试。
进一步的,所述配置所述目标场景的环境变量,包括:
判断所述目标场景是否为固定场景;
如果为固定场景,则读取并配置所述固定场景对应的环境变量;
相应的,将所述元操作集作为测试输入进行测试包括:
在所述固定场景中将所述元操作集作为测试输入进行测试。
进一步的,所述得到所述元操作以及所述元操作集对应的测试数据,包括:
在判断所述目标场景是否为固定场景之后,还包括:
如果目标场景为非固定场景,则选择至少一个预设应用程序进行模糊测试;
对所述至少一个预设应用程序中的多个应用场景进行分类,得到至少一个常见应用场景;
相应的,将所述元操作集作为测试输入进行测试,包括:
在所述常见应用场景中,将所述元操作集作为输入进行测试。
进一步的,所述将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据,包括:
在至少两个文件系统中的相同目标场景中,将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的至少两组测试数据;
基于元操作或者基于元操作集,以对比方式输出所述至少两组测试数据。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用推荐操作,还可以执行本申请任意实施例所提供的应用推荐方法中的相关操作。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种文件系统测试方法,其特征在于,包括:
跟踪记录目标场景中文件系统的操作信息,得到日志文件;
将所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;
根据拆分得到的元操作生成元操作集;
将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。
2.根据权利要求1所述文件系统测试方法,其特征在于,所述根据拆分得到的元操作生成元操作集,包括:
根据拆分得到的元操作的执行顺序确定关联的至少一个元操作;
根据所述关联的至少一个元操作确定元操作集。
3.根据权利要求1所述文件系统测试方法,其特征在于,所述根据拆分得到的元操作生成元操作集,包括:
根据拆分得到的元操作和元操作的操作对象确定元操作的类别;
根据所述元操作的类别生成元操作集。
4.根据权利要求1所述文件系统测试方法,其特征在于,所述将所述元操作集作为测试输入进行测试,包括:
配置所述目标场景的环境变量;
将所述元操作集作为测试输入进行测试。
5.根据权利要求4所述文件系统测试方法,其特征在于,所述配置所述目标场景的环境变量,包括:
判断所述目标场景是否为固定场景;
如果为固定场景,则读取并配置所述固定场景对应的环境变量;
相应的,将所述元操作集作为测试输入进行测试包括:
在所述固定场景中将所述元操作集作为测试输入进行测试。
6.根据权利要求5所述文件系统测试方法,其特征在于,所述得到所述元操作以及所述元操作集对应的测试数据,包括:
在判断所述目标场景是否为固定场景之后,还包括:
如果目标场景为非固定场景,则选择至少一个预设应用程序进行模糊测试;
对所述至少一个预设应用程序中的多个应用场景进行分类,得到至少一个常见应用场景;
相应的,将所述元操作集作为测试输入进行测试,包括:
在所述常见应用场景中,将所述元操作集作为输入进行测试。
7.根据权利要求1所述文件系统测试方法,其特征在于,所述将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据,包括:
在至少两个文件系统中的相同目标场景中,将所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的至少两组测试数据;
基于元操作或者基于元操作集,以对比方式输出所述至少两组测试数据。
8.一种文件系统测试装置,其特征在于,包括:
记录模块,用于跟踪记录目标场景中文件系统的操作信息,得到日志文件;
拆分模块,用于将所述记录模块记录的所述日志文件中的每条操作信息拆分为元操作,所述元操作包括文件系统的基本操作;
元操作集生成模块,用于根据所述拆分模块拆分得到的元操作生成元操作集;
测试模块,用于将所述元操作集生成模块生成的所述元操作集作为测试输入进行测试,得到所述元操作以及所述元操作集对应的测试数据。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述文件系统测试方法。
10.一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一所述的文件系统测试方法。
CN201810230559.1A 2018-03-20 2018-03-20 文件系统测试方法、装置、存储介质及终端 Active CN108491325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810230559.1A CN108491325B (zh) 2018-03-20 2018-03-20 文件系统测试方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810230559.1A CN108491325B (zh) 2018-03-20 2018-03-20 文件系统测试方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN108491325A true CN108491325A (zh) 2018-09-04
CN108491325B CN108491325B (zh) 2021-12-07

Family

ID=63318819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810230559.1A Active CN108491325B (zh) 2018-03-20 2018-03-20 文件系统测试方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN108491325B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815155A (zh) * 2019-02-26 2019-05-28 网易(杭州)网络有限公司 一种游戏测试的方法及装置、电子设备、存储介质
CN109857647A (zh) * 2019-01-10 2019-06-07 平安科技(深圳)有限公司 自动化测试方法、装置、计算机设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237841A (ja) * 2009-03-30 2010-10-21 Nomura Research Institute Ltd 動作検証装置および動作検証プログラム
CN102222034A (zh) * 2011-07-15 2011-10-19 浙江大学 基于程序轮廓分析的虚拟化平台性能评测方法
CN103810092A (zh) * 2012-11-13 2014-05-21 深圳市腾讯计算机系统有限公司 应用系统测试方法及装置
CN104614601A (zh) * 2014-12-26 2015-05-13 惠州Tcl移动通信有限公司 一种终端故障定位方法、装置及系统
CN105335278A (zh) * 2014-06-16 2016-02-17 阿里巴巴集团控股有限公司 测试方法及设备
JP2016110251A (ja) * 2014-12-03 2016-06-20 富士通株式会社 テストパターン作成プログラム、テストパターン作成方法及びテストパターン作成装置
CN106326101A (zh) * 2015-07-06 2017-01-11 北京华大九天软件有限公司 一种基于qt的应用程序自动化测试方法
CN106502890A (zh) * 2016-10-18 2017-03-15 乐视控股(北京)有限公司 测试用例生成方法及系统
CN106874190A (zh) * 2016-12-30 2017-06-20 上海亿账通互联网科技有限公司 用户界面的测试方法及服务器
US9710367B1 (en) * 2015-10-30 2017-07-18 EMC IP Holding Company LLC Method and system for dynamic test case creation and documentation to the test repository through automation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237841A (ja) * 2009-03-30 2010-10-21 Nomura Research Institute Ltd 動作検証装置および動作検証プログラム
CN102222034A (zh) * 2011-07-15 2011-10-19 浙江大学 基于程序轮廓分析的虚拟化平台性能评测方法
CN103810092A (zh) * 2012-11-13 2014-05-21 深圳市腾讯计算机系统有限公司 应用系统测试方法及装置
CN105335278A (zh) * 2014-06-16 2016-02-17 阿里巴巴集团控股有限公司 测试方法及设备
JP2016110251A (ja) * 2014-12-03 2016-06-20 富士通株式会社 テストパターン作成プログラム、テストパターン作成方法及びテストパターン作成装置
CN104614601A (zh) * 2014-12-26 2015-05-13 惠州Tcl移动通信有限公司 一种终端故障定位方法、装置及系统
CN106326101A (zh) * 2015-07-06 2017-01-11 北京华大九天软件有限公司 一种基于qt的应用程序自动化测试方法
US9710367B1 (en) * 2015-10-30 2017-07-18 EMC IP Holding Company LLC Method and system for dynamic test case creation and documentation to the test repository through automation
CN106502890A (zh) * 2016-10-18 2017-03-15 乐视控股(北京)有限公司 测试用例生成方法及系统
CN106874190A (zh) * 2016-12-30 2017-06-20 上海亿账通互联网科技有限公司 用户界面的测试方法及服务器

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
M. M. RAHMAN 等: "Trace Files for Automatic Memory Management Systems", 《 2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER)》 *
XIAOLU LI 等: "Hierarchy testing for web applications performance using web log statics", 《2011 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND SERVICE SYSTEM (CSSS)》 *
党委升 等: "基于文件服务器日志的测试用例设计", 《计算机工程》 *
孙展望 等: "基于Trace重放的文件系统性能分析", 《计算机与现代化》 *
田永喜: "分布式I/O Trace收集与回放技术的研究和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
赵红飞: "桌面虚拟化中用户数据与操作系统分离的研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857647A (zh) * 2019-01-10 2019-06-07 平安科技(深圳)有限公司 自动化测试方法、装置、计算机设备和存储介质
CN109815155A (zh) * 2019-02-26 2019-05-28 网易(杭州)网络有限公司 一种游戏测试的方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN108491325B (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
US9261995B2 (en) Apparatus, method, and computer readable recording medium for selecting object by using multi-touch with related reference point
CN102144209B (zh) 电子设备中的多层次话音反馈
CN104823198A (zh) 计算装置的安全识别和安全识别方法
CN104737101A (zh) 具有力触发的非视觉响应的计算设备
CN103210366A (zh) 用于基于邻近的输入的装置和方法
CN109614318A (zh) 自动化测试方法、装置、电子设备及计算机可读介质
CN107463693A (zh) 一种数据处理方法、装置、终端及计算机可读存储介质
CN107767228A (zh) 应用推荐方法、装置、终端设备及存储介质
CN107844992A (zh) 评论信息处理方法、装置、终端设备及存储介质
CN110442515B (zh) 应用测试方法、装置、设备及可读存储介质
CN105045588A (zh) 一种切换输入法皮肤的方法和装置
CN107729538A (zh) 评论信息处理方法、装置、终端设备及存储介质
CN108156594A (zh) 一种实现虚拟卡的方法及终端
CN102708900B (zh) 一种控制设备音频的方法及其移动设备
CN108900941A (zh) 耳机的音量控制方法及装置
CN111158487A (zh) 使用无线耳机与智能终端进行交互的人机交互方法
CN108491325A (zh) 文件系统测试方法、装置、存储介质及终端
CN105183217A (zh) 触控显示设备及触控显示方法
CN107547646A (zh) 应用程序推送方法、装置、终端及计算机可读存储介质
CN104541304B (zh) 使用多个相机的目标对象角度确定
CN108427549B (zh) 通知消息的声音处理方法、装置、存储介质及终端
CN108399118A (zh) 文件系统测试数据处理方法、装置、存储介质及终端
CN108960213A (zh) 目标跟踪方法、装置、存储介质及终端
CN113778255A (zh) 触摸识别方法和装置
CN104347070A (zh) 以语音识别来选择控制客体的装置及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant