CN111930623A - 一种测试案例构建方法、装置及电子设备 - Google Patents
一种测试案例构建方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111930623A CN111930623A CN202010796029.0A CN202010796029A CN111930623A CN 111930623 A CN111930623 A CN 111930623A CN 202010796029 A CN202010796029 A CN 202010796029A CN 111930623 A CN111930623 A CN 111930623A
- Authority
- CN
- China
- Prior art keywords
- service
- words
- test
- description information
- tested
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供一种测试案例构建方法、装置及电子设备,可以应用于信息安全领域。所述方法包括:对获取的业务功能描述文本进行分词处理,得到多个业务词;对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试,从而提升测试结果的准确率。
Description
技术领域
本说明书实施例涉及信息安全领域,特别涉及一种测试案例构建方法、装置及电子设备。
背景技术
随着“互联网+”的不断发展,信息和互联的高速发展给人们带来了便利和高效,一些平台例如银行、保险、证券、电商等由于涉及大量、敏感和高价值的信息数据和资产逐步成为恶意攻击者攻击和威胁的主要目标,由于功能迭代更新快,时间短,开发人员往往只注重功能的实现,导致这些平台的业务逻辑层面的安全风险层出不穷。攻击者的攻击目的也从最初的炫耀技能转向以经济利益为目的,攻击的目的逐渐趋利化,各行业更是催生了一条条黑色产业链,对各行业业务安全造成了较大威胁。此外,业务系统对于传统的安全漏洞防护技术和设备日渐成熟,给予传统的安全漏洞进行攻击越来越困难,攻击者攻击成本越来越高,而攻击者利用业务系统的业务安全漏洞则可以直接绕过各类安全防护进行攻击,因此业务安全漏洞逐渐成为攻击者挖掘和利用的重要目标。
为了尽早发现业务系统存在的安全漏洞,通常需要对业务系统进行测试。测试案例是对业务系统进行测试的基础,一个覆盖度高且精简的测试用例集能够降低测试成本并提高测试效率。目前设计测试案例的过程为:测试人员依据用户需求说明书、技术方案说明书等文件,先梳理测试需求,然后梳理测试大纲、全景图、测试数据表最后构建测试案例。
对于一个庞大的业务系统来讲,需要使用到多个测试案例,应用场景不同,使用到的测试案例也不同。测试人员需要根据不同的场景从预先建立的测试案例数据库中选择合适的测试案例。
在对业务系统进行业务安全测试时,测试人员往往依靠以往的经验开展测试,对于哪些场景下需要实施怎样的测试案例更是缺少全局把控,对于新的安全测试人员来说,由于缺少大量的实践经验,容易出现业务安全测试不充分的风险。
发明内容
本说明书实施例的目的是提供一种测试案例构建方法、装置及电子设备,以提高业务安全测试覆盖率,从而提升测试结果的准确率。
为解决上述问题,本说明书实施例提供一种测试案例构建方法,所述方法包括:对获取的业务功能描述文本进行分词处理,得到多个业务词;对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
为解决上述问题,本说明书实施例还提供一种测试案例构建装置,所述装置包括:分词模块,用于对获取的业务功能描述文本进行分词处理,得到多个业务词;分类模块,用于对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;确定模块,用于根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;匹配模块,用于将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;查找模块,用于从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
为解决上述问题,本说明书实施例还提供一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:对获取的业务功能描述文本进行分词处理,得到多个业务词;对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以对获取的业务功能描述文本进行分词处理,得到多个业务词;对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。本说明书实施例提供的方法,可以通过对业务功能描述文本进行分词和分类,自动识别测试场景,通过对比知识图谱进行补充,从而提高业务安全测试覆盖率,在自动匹配知识图谱后,获得此次测试过程需要覆盖的测试案例并进行输出,指导安全测试人员开展业务安全测试,提升测试结果的准确率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种测试案例构建方法的流程图;
图2为本说明书实施例对业务功能描述文本进行分词处理过程的示意图;
图3为本说明书实施例知识图谱的组成示意图;
图4为本说明书实施例与知识图谱进行匹配的一个示例;
图5为本说明书实施例一种电子设备的功能结构示意图;
图6为本说明书实施例一种测试案例构建装置的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
在本说明书实施例中,所述测试案例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试案例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
对于一个庞大的业务系统来讲,需要使用到多个测试案例,应用场景不同,使用到的测试案例也不同。通常测试人员可以预先建立测试案例数据库,即编写多个测试案例存储在数据库中。根据业务系统的应用场景,可以从测试案例数据库中选取合适的测试案例来对业务系统进行测试。但是,测试人员往往依靠以往的经验开展测试,对于哪些场景下需要实施怎样的测试案例缺少全局把控,对于新的安全测试人员来说,由于缺少大量的实践经验,容易出现业务安全测试不充分的风险。考虑到如果通过语义分析对测试场景进行分析,构建业务安全测试的知识图谱,指导各个业务场景下的业务安全测试案例,帮助安全测试人员实施业务安全测试,则有望解决现有技术中,通过人工选择测试案例导致的业务安全测试不充分的问题,提高业务安全测试覆盖率,从而提升测试结果的准确率。
请参阅图1。本说明实施例提供一种测试案例构建方法。在本说明书实施例中,执行所述测试案例构建方法的主体可以是具有逻辑运算功能的电子设备,所述电子设备可以是服务器。所述服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信单元、处理器和存储器等。当然,所述服务器并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。所述方法可以包括以下步骤。
S110:对获取的业务功能描述文本进行分词处理,得到多个业务词。
在一些实施例中,所述业务功能描述文本可以为描述业务功能的文本,具体可以包括业务功能说明、应用场景等信息。举例来说,业务功能描述文本的内容可以是:手机银行-线上场景e支付-ETC-支付,手机银行签约小额免密ETC场景e支付后,在ETC支付场景进行支付时,按签约卡号进行扣款,支持分行垫资支付。当然,上述例子只是业务功能描述文本的一个示例,不同业务功能对应的业务功能描述文本是不同的。
在一些实施例中,用户可以在所述服务器中输入业务功能描述文本。所述服务器可以接收用户输入的业务功能描述文本。例如,所述服务器可以向用户提供交互界面,用户可以在所述交互界面中输入业务功能描述文本。所述服务器可以接收用户输入的业务功能描述文本。或者,用户还可以在客户端中输入业务功能描述文本。所述客户端可以接收用户输入的业务功能描述文本;可以向所述服务器发送所述业务功能描述文本。所述服务器可以接收所述业务功能描述文本。例如,所述客户端可以向用户提供交互界面,用户可以在所述交互界面中输入业务功能描述文本。所述客户端可以接收用户输入的业务功能描述文本;可以向所述服务器发送所述业务功能描述文本。所述客户端例如可以为智能手机、平板电脑、笔记本电脑、台式电脑等等。所述客户端能够与所述服务器进行通信,例如可以通过有线网络和/或无线网络与所述服务器进行通信。
在一些实施例中,获取业务功能描述文本后,可以对所述业务功能描述文本进行分词处理。具体的,可以包括以下步骤。
S111:对所述业务功能描述文本进行分词,获得多个词语。
在一些实施例中,目前常见的分词方法分为三大类:基于词典匹配的方法、基于统计的方法和基于深度学习的方法。
所述基于词典匹配方法的核心思想是将待分词的中文文本利用一个尽可能全面的词典和预定规则进行切分,如果分词结果和文本匹配成功则完成分词,否则重新选择选择合适的规则进行切分直到完全匹配。常用方法有正向最大匹配、逆向最大匹配和双向匹配。这种方法的优点是分词速度快,但缺点十分明显,词典质量严重影响分词的效果,且当遇到未登录词时,分词效果不好。
所述基于统计的分词方法是将分词问题转化成为利用统计方法解决序列标注的问题。常用的方法有隐马尔可夫模型,条件随机场等。基本思路是人工标注中文文本中的汉字,利用标注结果训练模型,利用训练完成的模型对未标记的文本进行分词。这类方法考虑了词语在文中出现的词频以及上下文环境,相比基于字典匹配的方法,能够更好地处理歧义词和未登录词。是目前最常用的分词方法。
随着深度学习(Deep Learning)的迅猛发展,还出现了利用深度学习技术进行分词的方法。所述基于深度学习的分词方法采用一种端到端学习的方式,相比于统计学习的方法,不再需要手动取特征。较常见的基于深度学习的分词方法是采用双向长短期记忆网(Bi-directional Long Short-Term Memory,Bi-LSTM)和条件随机场(ConditionalRandom Fields,CRF)实现分词模型。Bi-LSTM是循环神经网络(Recurrent NeuralNetwork,RNN)的一个变体,是目前利用深度学习处理自然语言处理领域中长距离依赖问题时最为主流的网络结构。
在一些实施例中,可以采用上述任一种分词方法对所述业务功能描述文本进行分词。以基于词典匹配的方法对所述业务功能描述文本进行分词为例,首先可以将所述业务功能描述文本拆分为多个部分,将每个部分与通用字典进行匹配,如果匹配命中,则完成分词,否则继续对每个部分进行拆分,直到匹配命中。如图2中的201所示,图2为对业务功能描述文本“手机银行-线上场景e支付-ETC-支付,手机银行签约小额免密ETC场景e支付后,在ETC支付场景进行支付时,按签约卡号进行扣款,支持分行垫资支付”进行分词处理的示例。其中,201为基于词典匹配的方法对所述业务功能描述文本进行分词的结果。其中,如果分词中未明确说明是“安卓(Android)”或“IOS”,则默认为两种应用环境均适用。
S112:对所述多个词语进行预处理,将所述多个词语进行重组以及去除无意义的词语,得到多个业务词。
在一些实施例中,所述多个词语进行预处理包括将能够组成行业专用词汇的词语进行重组。具体的,可以使用行业专业词典将能够组成行业专用词汇的相邻的词语进行重组和标记。如图2所示,对于相邻的词语“手机”和“银行”可以重组为“手机银行”;对于相邻的词语“e”和“支付”可以重组为“e支付”。在一个具体的示例中,对所述多个词语进行重组后的结果如图2中的203所示。其中,行业专业词典可以是预先建立的,对于支付场景中,行业词典中可以包括“ETC”、“小额免密”、“垫资支付”、“e支付”等行业专用词汇。
在一些实施例中,所述多个词语进行预处理还可以包括对所述多个词语进行去停用词处理。所述停用词可以是文本中出现频率高,但实际意义又不大的词,这一类主要包括了语气助词、副词、介词、连词等,通常自身并无明确意义,只有将其放入一个完整的句子中才有一定作用的词语,如常见的“的”、“在”、“和”、“接着”之类的词。当然,在一些实施例中,所述停用词还可以包括项目编号等本身无明确意义的词。本说明书实施例可以对分词后得到的多个词语进行停用词处理,适当地减少停用词出现的频率,可以有效地帮助我们提高关键词密度。
在一些实施例中可以使用预先建立的停用词典对所述多个词语进行停用词处理。所述停用词典可以包括“的”、“在”、“和”、“接着”等词语。在一个具体的示例中,对所述多个词语进行停用词处理后的结果如图2中的205所示。
S120:对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词。
在一些实施例中,所述多个业务词中通常可以包括描述业务功能的实现对象的词、描述业务功能的词、描述应用环境的词等。举例来说,“手机银行”为描述业务功能的实现对象的词,“支付”、“小额免密”为描述业务功能的词,“安卓(Android)”、“IOS”、“H5页面”等为描述应用环境的词。
在本说明书实施例中,可以将业务词划分为测试对象类别和业务场景类别。其中,所述测试对象类别的业务词可以是描述业务功能的实现对象的词,所述业务场景类别的业务词可以是所述多个业务词中除了描述业务功能的实现对象的词之外的词,例如可以是描述业务功能的词、描述应用环境的词等。
在一些实施例中,可以使用机器学习的方法对所述多个业务词进行分类。具体的,可以预先建立一个分类模型,将所述多个业务词输入至分类模型中,根据分类模型的输出结果对所述多个业务词进行分类。其中,所述分类模型可以基于传统的机器学习算法如逻辑回归(logistic regression)算法、支持向量机(Support Vector Machine,SVM)算法、朴素贝叶斯(NaiveBayes)算法等建立,并经过训练样本进行训练得到。在一个具体的示例中,所述分类结果可以如图2中的206和208所示。
在一些实施例中,所述业务场景类别还可以包括应用环境类和业务功能类。其中,所述应用环境类的业务词可以为描述应用环境的词,如“安卓(Android)”、“IOS”、“H5页面”等;所述业务功能类的业务词可以为描述业务功能的词,如“支付”、“小额免密”等。
S130:根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象。
在一些实施例中,所述待测试对象包括实现业务功能的对象,可以根据所述测试对象类别的业务词确定待测试对象。例如,对于业务功能描述文本“手机银行-线上场景e支付-ETC-支付,手机银行签约小额免密ETC场景e支付后,在ETC支付场景进行支付时,按签约卡号进行扣款,支持分行垫资支付。”而言,获得测试对象类别的业务词为“手机银行”,则可以将手机银行确定为待测试对象。
在一些实施例中,对业务系统进行测试所使用的测试案例不仅要考虑业务功能,还要考虑应用环境,相同的业务功能在不同应用环境下实现,需要不同的测试案例来进行测试。举例来说,如业务功能改造是针对Android版本客户端,如果不考虑应用环境,会出现将IOS版本的客户端的案例都筛选出来,实际这部分并不适用于测试场景。因此,为减少非必要的测试案例,所述方法还可以包括:在所述多个业务词都不属于应用环境类的情况下,确定所述待测试对象对应的客户端载体;将所述客户端载体的名称作为应用环境类的业务词。具体的,若业务功能描述文本没有关于应用环境的描述,则分词处理后的得到多个业务词都不属于应用环境类,也就是说业务功能描述文本没有对待测试对象的应用环境做特殊的限制,可以确定所述待测试对象对应的客户端载体,并将所述客户端载体的名称作为应用环境类的业务词。
在一些实施例中,所述客户端载体可以是Android客户端和IOS客户端。例如,手机银行应用可以分为Android版本的手机银行和IOS版本的手机银行。在一个具体的示例中,确定所述待测试对象对应的客户端载体,将所述客户端载体的名称作为应用环境类的业务词的结果如图2中的206和207所示。当然,所述客户端载体还可以包括Windows Phone、BlackBerry os等客户端,本说明书实施例对此不作限定。
S140:将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系。
在一些实施例中,所述知识图谱的概念由谷歌公司提出的,其最初的目的是被用于提升其搜索引擎的搜索能力,改善用户的搜索效果与体验。其本质上是一种语义网络,节点代表实体,边代表实体与实体之间的各种语义关系,从而构成一个特定领域的知识网络。知识图谱能提供高质量的结构化数据,目前已较为广泛地应用在人工智能的多个领域如搜索引擎、智能问答等。
在一些实施例中,针对每一个测试对象,都可以建立一个知识图谱。所述知识图谱中可以包括待测试对象、待测试对象的至少一个应用环境、每个应用环境对应的业务功能、以及每个业务功能对应的测试要点描述信息。图3示例性给出了一个客户端程序的知识图谱。所述知识图谱中可以包括待测试对象,如手机银行;所述知识图谱中还可以包括待测试对象的应用环境,所述应用环境可以包括客户端载体,如安卓(Android)客户端、IOS客户端等;所述应用环境还可以包括前端页面展现形式,如H5页面、Web页面等;所述知识图谱中还可以包括各个应用环境下的业务功能,如身份认证、交易查询、通用框架、动帐交易等。其中,应用环境和业务功能的拆分尽量细致。所述知识图谱中还可以包括各个业务功能下的安全风险描述信息(图3中未示出)。所述安全风险描述信息包括描述该业务功能的面对的安全风险。举例来说,对于待测试对象手机银行,对于应用环境为安卓(Android)客户端,业务功能为通用框架,对应的安全风险描述信息可以为:客户端应采用代码混淆、加壳等安全机制防止逆向破解;对于应用环境为前端页面中的H5页面,业务功能为身份认证下的静态密码认证,对应的安全风险描述信息可以为:不应展示用户鉴别信息与支付相关信息,如密码、PIN、磁通信息、CVV码等。
在一些实施例中,在确定待测试对象后,可以获取所述待测试对象对应的知识图谱,将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息。具体的,可以将所述业务词从知识图谱中的应用环境开始匹配,若所述应用环境中出现与所述业务词相同的关键词,则表示匹配命中,可以获取该应用环境下对应的安全风险描述信息,否则继续与知识图谱中的业务功能进行匹配,若所述业务功能中出现与所述业务词相同的关键词,则表示匹配命中,可以获取该业务功能下对应的安全风险描述信息,否则继续与知识图谱中的安全风险描述信息,若所述安全风险描述信息中出现与所述业务词相同的关键词,则表示匹配命中,可以获取该安全风险描述信息,否则可以舍弃该业务词。
在一些实施例中,在分词处理后得到的所述多个业务词都不属于应用环境类的情况下,可以将所述待测试对象对应的客户端载体的名称作为应用环境类的业务词。即在分词处理后得到的所述多个业务词都不属于应用环境类的情况下,业务场景类别的业务词除了分词处理后得到的所述多个业务词外,还可以包括待测试对象对应的客户端载体的名称。
在一个具体的示例中,仍以业务功能描述文本“手机银行-线上场景e支付-ETC-支付,手机银行签约小额免密ETC场景e支付后,在ETC支付场景进行支付时,按签约卡号进行扣款,支持分行垫资支付。”为例,将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配的匹配结果如图4所示,其中,黑色方框部分为匹配命中的情况。可以使用图2中的207和208所示的业务词与待测试对象对应的知识图谱中的关键词进行匹配。具体的,可以逐项使用每个业务词进行匹配,如果匹配命中,则可以获取后续对应的安全风险描述信息。例如在图4中,由于业务词中未明确应用环境,默认需要匹配命中知识图谱中的安卓(Android)客户端和IOS客户端,可以获取两种客户端后续对应的安全风险描述信息;对于图4中的业务功能免密,由于业务词中包括了“小额免密”,因此匹配命中了知识图谱中的免密,可以获取免密功能对应的安全风险描述信息(图4中未示出)。当然,若业务词与知识图谱中的内容均未匹配命中,则可以舍弃该业务词,继续使用下一个业务词进行匹配,直到所有业务词匹配结束,获取匹配命中对应的安全风险描述信息。
当然,图4仅是本说明书实施例给出的一个通过知识图谱进行匹配的一个示例。在一些实施例中,若匹配命中知识图谱中的应用环境部分,如命中H5、IOS、安卓(Android)客户端等,则无论后续的业务功能部分是否命中,都需要获取通用框架后续对应的全部安全风险描述信息。其中,与业务功能无关的SQL注入、跨站脚本等,都可以归入通用框架下进行输出。
S150:从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
在一些实施例中,所述案例库为预先建立的数据库,所述案例库中包括多个测试案例。如表1所示,表1示例性的给出了案例库中包含的信息。
表1
在一些实施例中,所述测试案例可以包括测试要点描述信息,用于描述测试过程中需要注意的重点信息;所述测试案例还可以包括测试方法、测试结果和推荐工具等信息,用于详细描述开展测试的方法、实际开展测试后的判断结果(包括成功标准和失败标准)、推荐测试使用的测试工具。
在一些实施例中,所述测试案例还可以包括测试依据。其中,所述测试依据来源于行业规范、同业最佳实践等。
在一些实施例中,所述测试案例还可以包括优先级信息;相应的,在得到多个安全风险描述信息的情况下,根据所述优先级信息对查找到的多个安全风险描述信息对应的测试案例进行排序。其中,所述优先级可以根据业务功能的重要性预先设置,优先级可以分为高、中、低等。当然,在一些实施例中,所述优先级还可以通过阿拉伯数字来表示,数字越大则表明优先级越高,表明业务功能越重要。本说明书实施例对具体如何表示优先级不作限定。
在一些实施例中,所述从案例库中查找所述安全风险描述信息对应的测试案例包括:将所述安全风险描述信息与所述案例库中的测试案例进行匹配,输出与所述安全风险描述信息相匹配的测试案例;其中,与所述安全风险描述信息相匹配的测试案例中的测试要点描述信息与所述安全风险描述信息的内容相同或相近。具体的,可以使用自然语言处理技术对所述安全风险描述信息和测试要点描述信息进行语义识别,若匹配到与所述安全风险描述信息的内容相同或相似的测试要点描述信息,则匹配命中,输出所述测试要点描述信息对应的测试案例。
在一些实施例中,所述从案例库中查找所述安全风险描述信息对应的测试案例还可以包括:预先将安全风险描述信息和安全风险描述信息对应的测试案例进行关联存储在案例库中,在获取安全风险描述信息后,可以从案例库中查找出所述安全风险描述信息对应的测试案例。具体的,将安全风险描述信息和安全风险描述信息对应的测试案例进行关联存储的方式可以包括:通过数据表的方式关联存储安全风险描述信息和测试案例,数据表中的一列存储安全风险描述信息,另一列存储测试案例,相关联的安全风险描述信息和测试案例处于同一行。
当然,从案例库中查找所述安全风险描述信息对应的测试案例不限于上述列举的方式,所述领域技术人员在本说明书实施例的启示下,还可能作出其他变更,但是只要其试下你的功能和效果与本说明书实施例相同或相似,均应涵盖与本说明书实施例保护的范围内。
以图4中业务词“支付”匹配命中为例,可以获取两条安全风险描述信息,即“不应展示用户鉴别信息与支付相关信息(如密码、PIN、磁道信息、CVV码等)”和“交易的关键信息应与短信验证码一起发给客户,并提示用户确认”。使用上述两条安全风险描述信息与表1所述的案例库中的测试案例进行匹配,可以输出如表2所示的测试案例。
表2
本说明书实施例提供的自动化测试任务调度方法,可以对获取的业务功能描述文本进行分词处理,得到多个业务词;对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。本说明书实施例提供的方法,可以通过对业务功能描述文本进行分词和分类,自动识别测试场景,通过对比知识图谱进行补充,从而提高业务安全测试覆盖率,在自动匹配知识图谱后,获得此次测试过程需要覆盖的测试案例并进行输出,指导安全测试人员开展业务安全测试,提升测试结果的准确率。
图5为本说明书实施例一种电子设备的功能结构示意图,所述电子设备可以包括包括处理器以及用于存储处理器可执行指令的存储器。
在一些实施例中,所述存储器可用于存储处理器可执行指令,所述处理器通过执行存储在所述存储器内的指令,以及调用存储在存储器内的数据,实现测试案例构建的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据用户终端的使用所创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(APPlication Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述处理器可以执行所述计算机指令实现以下步骤:对获取的业务功能描述文本进行分词处理,得到多个业务词;对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
在本说明书实施例中,该电子设备具体实现的功能和效果,可以与其它实施例对照解释,在此不再赘述。
图6为本说明书实施例一种测试案例构建装置的功能结构示意图,该装置具体可以包括以下的结构模块。
分词模块610,用于对获取的业务功能描述文本进行分词处理,得到多个业务词;
分类模块620,用于对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;
确定模块630,用于根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;
匹配模块640,用于将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;
查找模块650,用于从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
需要说明的是,本说明书实施例提供的测试案例构建方法、装置及电子设备,可以应用于信息安全领域。当然,也可以应用于金融领域中,或者除金融领域之外的任意领域,本说明书实施例对所述测试案例构建方法、装置及电子设备的应用领域不做限定。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (10)
1.一种测试案例构建方法,其特征在于,所述方法包括:
对获取的业务功能描述文本进行分词处理,得到多个业务词;
对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;
根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;
将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;
从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
2.根据权利要求1所述的方法,其特征在于,所述对获取的业务功能描述文本进行分词处理,得到多个业务词包括:
对所述业务功能描述文本进行分词,获得多个词语;
对所述多个词语进行预处理,将所述多个词语进行重组以及去除无意义的词语,得到多个业务词。
3.根据权利要求1所述的方法,其特征在于,所述业务场景类别包括应用环境类和业务功能类。
4.根据权利要求3所述的方法,其特征在于,在所述多个业务词都不属于应用环境类的情况下,确定所述待测试对象对应的客户端载体;
将所述客户端载体的名称作为应用环境类的业务词。
5.根据权利要求4所述的方法,其特征在于,所述客户端载体至少包括安卓客户端和IOS客户端。
6.根据权利要求1所述的方法,其特征在于,所述知识图谱还包括待测试对象的至少一个应用环境、每个应用环境对应的业务功能、以及每个业务功能对应的安全风险描述信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述案例库中包括多个测试案例;所述测试案例包括优先级信息;
相应的,在得到多个安全风险描述信息的情况下,根据所述优先级信息对查找到的多个安全风险描述信息对应的测试案例进行排序。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述从案例库中查找所述安全风险描述信息对应的测试案例包括:将所述安全风险描述信息与所述案例库中的测试案例进行匹配,输出与所述安全风险描述信息相匹配的测试案例;其中,与所述安全风险描述信息相匹配的测试案例中的测试要点描述信息与所述安全风险描述信息的内容相同或相近。
9.一种测试案例构建装置,其特征在于,所述装置包括:
分词模块,用于对获取的业务功能描述文本进行分词处理,得到多个业务词;
分类模块,用于对所述多个业务词进行分类,获得测试对象类别的业务词和业务场景类别的业务词;
确定模块,用于根据所述测试对象类别的业务词确定待测试对象;所述待测试对象包括实现业务功能的对象;
匹配模块,用于将业务场景类别的业务词与所述待测试对象对应的知识图谱中的关键词进行匹配,得到至少一个安全风险描述信息;所述知识图谱包括关键词与安全风险描述信息的对应关系;
查找模块,用于从案例库中查找所述安全风险描述信息对应的测试案例;以便于使用所述测试案例对所述待测试对象的业务功能进行测试。
10.一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,其特征在于,所述处理器执行所述指令时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010796029.0A CN111930623B (zh) | 2020-08-10 | 2020-08-10 | 一种测试案例构建方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010796029.0A CN111930623B (zh) | 2020-08-10 | 2020-08-10 | 一种测试案例构建方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930623A true CN111930623A (zh) | 2020-11-13 |
CN111930623B CN111930623B (zh) | 2023-07-25 |
Family
ID=73307853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010796029.0A Active CN111930623B (zh) | 2020-08-10 | 2020-08-10 | 一种测试案例构建方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930623B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925723A (zh) * | 2021-04-02 | 2021-06-08 | 上海复深蓝软件股份有限公司 | 测试服务推荐方法、装置、计算机设备及存储介质 |
CN113535577A (zh) * | 2021-07-26 | 2021-10-22 | 工银科技有限公司 | 基于知识图谱的应用测试方法、装置、电子设备和介质 |
CN113609018A (zh) * | 2021-08-05 | 2021-11-05 | 工银科技有限公司 | 测试方法、训练方法、装置、设备、介质和程序产品 |
CN114338472A (zh) * | 2021-12-31 | 2022-04-12 | 北京百度网讯科技有限公司 | 地图服务器的容量测试方法、装置、设备、介质及产品 |
CN114969759A (zh) * | 2022-06-07 | 2022-08-30 | 中国软件评测中心(工业和信息化部软件与集成电路促进中心) | 工业机器人系统的资产安全评估方法、装置、终端及介质 |
CN117453576A (zh) * | 2023-12-25 | 2024-01-26 | 企迈科技有限公司 | 基于DXM模型的SaaS软件测试用例构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832229A (zh) * | 2017-12-03 | 2018-03-23 | 中国直升机设计研究所 | 一种基于nlp的系统测试用例自动生成方法 |
CN109101410A (zh) * | 2017-06-20 | 2018-12-28 | 北京明略软件系统有限公司 | 一种风险驱动测试方法和装置以及计算机可读存储介质 |
WO2019165691A1 (zh) * | 2018-02-28 | 2019-09-06 | 平安科技(深圳)有限公司 | 自动生成测试案例的方法、装置、设备及可读存储介质 |
-
2020
- 2020-08-10 CN CN202010796029.0A patent/CN111930623B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101410A (zh) * | 2017-06-20 | 2018-12-28 | 北京明略软件系统有限公司 | 一种风险驱动测试方法和装置以及计算机可读存储介质 |
CN107832229A (zh) * | 2017-12-03 | 2018-03-23 | 中国直升机设计研究所 | 一种基于nlp的系统测试用例自动生成方法 |
WO2019165691A1 (zh) * | 2018-02-28 | 2019-09-06 | 平安科技(深圳)有限公司 | 自动生成测试案例的方法、装置、设备及可读存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925723A (zh) * | 2021-04-02 | 2021-06-08 | 上海复深蓝软件股份有限公司 | 测试服务推荐方法、装置、计算机设备及存储介质 |
CN113535577A (zh) * | 2021-07-26 | 2021-10-22 | 工银科技有限公司 | 基于知识图谱的应用测试方法、装置、电子设备和介质 |
CN113609018A (zh) * | 2021-08-05 | 2021-11-05 | 工银科技有限公司 | 测试方法、训练方法、装置、设备、介质和程序产品 |
CN114338472A (zh) * | 2021-12-31 | 2022-04-12 | 北京百度网讯科技有限公司 | 地图服务器的容量测试方法、装置、设备、介质及产品 |
CN114338472B (zh) * | 2021-12-31 | 2024-05-07 | 北京百度网讯科技有限公司 | 地图服务器的容量测试方法、装置、设备、介质及产品 |
CN114969759A (zh) * | 2022-06-07 | 2022-08-30 | 中国软件评测中心(工业和信息化部软件与集成电路促进中心) | 工业机器人系统的资产安全评估方法、装置、终端及介质 |
CN114969759B (zh) * | 2022-06-07 | 2024-04-05 | 中国软件评测中心(工业和信息化部软件与集成电路促进中心) | 工业机器人系统的资产安全评估方法、装置、终端及介质 |
CN117453576A (zh) * | 2023-12-25 | 2024-01-26 | 企迈科技有限公司 | 基于DXM模型的SaaS软件测试用例构建方法 |
CN117453576B (zh) * | 2023-12-25 | 2024-04-09 | 企迈科技有限公司 | 基于DXM模型的SaaS软件测试用例构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111930623B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930623B (zh) | 一种测试案例构建方法、装置及电子设备 | |
Qian et al. | Towards automated reentrancy detection for smart contracts based on sequential models | |
CN111177569B (zh) | 基于人工智能的推荐处理方法、装置及设备 | |
US11409642B2 (en) | Automatic parameter value resolution for API evaluation | |
CN109635298B (zh) | 团体状态识别方法、装置、计算机设备及存储介质 | |
US20200004882A1 (en) | Misinformation detection in online content | |
CN104899322A (zh) | 搜索引擎及其实现方法 | |
WO2022048363A1 (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
US11100148B2 (en) | Sentiment normalization based on current authors personality insight data points | |
WO2020258481A1 (zh) | 个性化文本智能推荐方法、装置及计算机可读存储介质 | |
TWI749349B (zh) | 文本還原方法、裝置及電子設備與電腦可讀儲存媒體 | |
CN110046648B (zh) | 基于至少一个业务分类模型进行业务分类的方法及装置 | |
Halder et al. | Hands-On Machine Learning for Cybersecurity: Safeguard your system by making your machines intelligent using the Python ecosystem | |
Aralikatte et al. | Fault in your stars: an analysis of android app reviews | |
CN107368489A (zh) | 一种资讯数据处理方法及装置 | |
CN112132238A (zh) | 一种识别隐私数据的方法、装置、设备和可读介质 | |
Islam et al. | Deep learning for multi-labeled cyberbully detection: Enhancing online safety | |
US11755958B1 (en) | Systems and methods for detecting cryptocurrency wallet artifacts in a file system | |
US20220036200A1 (en) | Rules and machine learning to provide regulatory complied fraud detection systems | |
US9946765B2 (en) | Building a domain knowledge and term identity using crowd sourcing | |
CN111368164A (zh) | 一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质 | |
Chen et al. | Retrieving potential cybersecurity information from hacker forums | |
CN115455416A (zh) | 一种恶意代码检测方法、装置、电子设备及存储介质 | |
CN113095078A (zh) | 关联资产确定方法、装置和电子设备 | |
Do et al. | Some research issues of harmful and violent content filtering for social networks in the context of large-scale and streaming data with Apache Spark |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |