CN115617696A - 软件测试方法、装置、设备和计算机可读存储介质 - Google Patents
软件测试方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN115617696A CN115617696A CN202211601611.2A CN202211601611A CN115617696A CN 115617696 A CN115617696 A CN 115617696A CN 202211601611 A CN202211601611 A CN 202211601611A CN 115617696 A CN115617696 A CN 115617696A
- Authority
- CN
- China
- Prior art keywords
- module
- neural network
- network model
- modules
- user
- 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/3604—Software analysis for verifying properties of programs
- G06F11/3616—Software analysis for verifying properties of programs using software metrics
-
- 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
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种软件测试方法、装置、设备和计算机可读存储介质,包括:S1、获取待测试软件,所述待测试软件包括多个功能模块;S2、基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率;S3、基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度;S4、基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为一个或多个待检测模块;S5、发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
Description
技术领域
本发明涉及软件测试领域,具体涉及软件测试方法、装置、设备和计算机可读存储介质。
背景技术
软件发布前需要验证各项功能是否正常,从而在软件上线时确保不影响用户的正常使用。一般通过人工操作采用成熟的测试方案去一一验证软件的各功能模块,或者通过本地脚本命令以及自动化测试框架,基于软件页面中的功能按指定的测试用例去点击执行,在软件程序崩溃、出现不符合预期的功能或流程时能够提前发现,并修复相应的程序故障。
例如,现有的软件测试流程包括:(一)测试需求分析和策划:根据项目采购文件、合同、软件需求规格说明书、项目开发计划等编制测试计划,确定软件测试项目的内容、范围、时间、测试合格性等。(二)测试设计和实现:对测试计划中的测试正式合格性定义进行测试用例设计、编码,产生软件测试说明,并建立测试环境。(三)测试执行:根据测试计划和测试说明,执行测试用例,记录执行结果。(四)测试总结:进行测试总结工作,对测试数据进行分析,形成测试总结报告。
现有的软件测试内容包括:(一)功能性测试:功能性测试旨在检验系统相关文档(以需求规格说明书为准)中要求的功能点是否正确实现。功能测试采用黑盒测试设计方法(等价类划分、边界值分析法、错误推测法、因果图法、功能图法、正交试验设计法等)设计测试用例,手动执行测试用例,提交功能缺陷,跟踪缺陷直至关闭。(二)性能效率测试:通过使用JMeter5.2.1对被测系统进行负载、压力等测试,验证系统性能需求是否满足要求。使用JMeter编写脚本,调试脚本,并添加相应事务及组件,为拟定的性能效率点事务设置同步定时器,并设置“模拟用户组数量”,最后通过聚合报告查看运行结果。(三)安全性测试:自动化漏洞扫描测试方法:使用绿盟NX3进行漏洞扫描,对扫描出的安全漏洞(包括但不限于SQL注入漏洞、跨站脚本攻击漏洞(XSS)、JAVA反序列化漏洞、API接口信息泄露、跨站请求伪造漏洞(CSRF)、主机或数据库弱口令、CORS跨域漏洞、HTML代码注入漏洞、未授权访问漏洞、会话标识未更新、任意文件下载、目录遍历漏洞等)进行人工验证,并提出修改建议,生成安全扫描报告。对高严重性和中等严重性的问题,提交开发修复。通过功能测试,核查了应用安全方面的相关策略,譬如测试Web程序在处理重要数据的传输是否采用了加密传输的机制,注销时会话信息是否清除,查看是否存在浏览器窗口闲置超时后需重新登录的机制,用户对应用、文件是否有访问控制权限,系统是否建立备份机制等。
现有的软件更新迭代快,时效性强,现有的软件测试方法需要逐步地对软件所有功能性模块的各项性能进行逐个测试,时间消耗大,人力消耗多,不能满足用户的快速使用需求。
发明内容
本发明主要解决的技术问题是如何快速地实现对软件的测试,快速有效地检测出软件的问题所在,提高软件运行的准确度。
根据第一方面,一种实施例中提供一种软件测试方法,包括:
S1、获取待测试软件,所述待测试软件包括多个功能模块;S2、基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯;S3、基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度;S4、基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为一个或多个待检测模块。S5、发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
在一实施例中,所述第一神经网络模型为深度神经网络,所述第一神经网络模型的训练包括:获取多个训练样本;所述训练样本包括多个样本功能模块代码、样本功能模块的类型、样本用户特征及其对应的用户使用频率,所述样本用户特征包括样本用户需求、样本用户性别、样本用户年龄、样本用户使用习惯,其中所述对应的用户使用频率为训练标签;基于所述训练样本训练所述第一神经网络模型。
在一实施例中,所述第二神经网络模型为卷积神经网络,所述第三神经网络模型为逻辑回归模型,所述多个功能模块包括登录模块、注册模块、忘记密码模块、解锁模块、新增模块、修改模块、删除模块、搜索模块、查看模块。
在一实施例中,在发送所述一个或多个待检测模块到软件测试平台,以进行人工测试之后,还包括:若人工测试出所述一个或多个待检测模块出现运行正常,则确定所述待测试软件符合要求;若人工测试出所述一个或多个待检测模块运行异常,则通知管理员进行异常修复,异常修复完成后再重新执行所述S1、S2、S3、S4、S5步骤。
根据第二方面,一种实施例中提供一种软件测试装置,包括: 获取模块,用于获取待测试软件,所述待测试软件包括多个功能模块;频率输出模块,用于基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯;复杂程度输出模块,用于基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度;确定模块,用于基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为一个或多个待检测模块。发送模块,用于发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
在一实施例中,所述第一神经网络模型为深度神经网络,所述第一神经网络模型的训练包括:获取多个训练样本;所述训练样本包括多个样本功能模块代码、样本功能模块的类型、样本用户特征及其对应的用户使用频率,所述样本用户特征包括样本用户需求、样本用户性别、样本用户年龄、样本用户使用习惯,其中所述对应的用户使用频率为训练标签;基于所述训练样本训练所述第一神经网络模型。
在一实施例中,所述第二神经网络模型为卷积神经网络,所述第三神经网络模型为逻辑回归模型,所述多个功能模块包括登录模块、注册模块、忘记密码模块、解锁模块、新增模块、修改模块、删除模块、搜索模块、查看模块。
在一实施例中,在发送所述一个或多个待检测模块到软件测试平台,以进行人工测试之后,还包括:若人工测试出所述一个或多个待检测模块出现运行正常,则确定所述待测试软件符合要求;若人工测试出所述一个或多个待检测模块运行异常,则通知管理员进行异常修复,异常修复完成后再重新执行所述获取模块、所述频率输出模块、所述复杂程度输出模块、所述确定模块、所述发送模块。
根据第三方面,一种实施例中提供一种电子设备,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如第一方面所述的方法。
根据第四方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现如上述第一方面中任一项所述的方法。
依据上述实施例的软件测试方法、装置、设备和计算机可读存储介质,通过第一神经网络模型和第二神经网络模型确定出各个功能模块中用户的使用频率和功能模块的逻辑复杂程度,并基于第三神经网络模型综合考虑软件代码和用户使用频率和功能模块的逻辑复杂程度,最终确定出最急需检测的一个或多个功能模块,满足了用户的快速使用的需求,也避免了将大量时间浪费在测试用户使用频率不高、不容易出错的简单功能模块中,节省了软件测试时间。
附图说明
图1为本发明实施例提供的一种软件测试方法的流程示意图;
图2为本发明实施例提供的一种软件测试装置的示意图;
图3为本发明实施例提供的一种软件测试的电子设备的示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本发明能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本发明相关的一些操作并没有在说明书中显示或者描述,这是为了避免本发明的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本发明所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
本发明实施例中,提供了如图1所示的一种软件测试方法,包括步骤S1~S5:
步骤S1,获取待测试软件,所述待测试软件包括多个功能模块。
待测试软件为需要进行软件测试的软件,例如待测试软件可以包括电子政务软件、游戏软件等。多个功能模块包括登录模块、注册模块、忘记密码模块、解锁模块、新增模块、修改模块、删除模块、搜索模块、查看模块等功能模块。
步骤S2,基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯。
每一个功能模块的类型包括登录、注册、忘记密码、解锁、新增、修改、删除、搜索、查看等。
用户需求包括需要搜索、需要新增、需要修改等。
用户使用习惯包括经常进行搜索操作、经常对内容进行修改、经常忘记密码等。
在一实施例中,第一神经网络模型可以为RNN(循环神经网络)、CNN(卷积神经网络)、DNN(深度神经网络)等。
第一神经网络模型可以包括多个处理层,每个处理层由多个神经元组成,每个神经元对数据做矩阵变换。矩阵所使用的参数可以通过训练获得。
在一实施例中,第一神经网络模型为深度神经网络,可以通过多个训练样本训练所述第一神经网络模型;所述训练样本包括多个样本功能模块代码、样本功能模块的类型、样本用户特征及其对应的用户使用频率,所述样本用户特征包括样本用户需求、样本用户性别、样本用户年龄、样本用户使用习惯,其中所述对应的用户使用频率为训练标签。具体的,根据训练样本,构建第一神经网络模型的损失函数,通过第一神经网络模型的损失函数调整第一神经网络模型的参数,直到损失函数值收敛或者小于预设阈值,则训练完成。损失函数可以包括但不限于对数(log)损失函数、平方损失函数、指数损失函数、Hinge损失函数以及绝对值损失函数等。
训练完成后,可以输入每一个功能模块的代码、每一个功能模块的类型、用户特征到训练后的神经网络输出得到每一个功能模块的用户使用频率。例如,输入为电子政务系统的三个功能模块的代码、功能模块类型分别为忘记密码、注册、搜索、用户需求为需要进行搜索、用户性别为男、用户年龄为20、用户使用习惯为经常进行搜索操作,通过训练后的神经网络最后输出得到忘记密码功能模块、注册功能模块、搜索功能模块的用户使用概率分别为10%、2%、98%。
第一神经网络模型确定出各个功能模块中用户的使用频率,以便后续对用户使用频率较高的功能模块进行重点关注或测试。
步骤S3,基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度。
第二神经网络模型可以为RNN(循环神经网络)、CNN(卷积神经网络)、DNN(深度神经网络)等。在一实施例中,第二神经网络模型为卷积神经网络。
每一个功能模块的逻辑复杂程度表示功能模块的复杂情况,例如功能模块的代码越多、运行时间越长、与其他功能模块交互越频繁、自身运行逻辑较为复杂等可以表示功能模块的逻辑复杂程度越复杂。逻辑复杂程度越大表示在实际运行过程中也就越容易出错。
每一个功能模块的代码大小表示功能模块的大小,例如为10k、20k、1M等。运行环境包括安卓、苹果、Windows、浏览器等。编程代码类型包括java、python、pathy等。
第二神经网络模型的训练与第一神经网络模型类似,此处不再赘述。
训练完成后,可以输入每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型经训练后的神经网络输出得到每一个功能模块的逻辑复杂程度。例如,输入为电子政务系统的三个功能模块的代码、功能模块的代码大小为50k、100K、120K,运行环境为浏览器、编程代码类型为java、功能模块类型分别为忘记密码、注册、搜索,通过训练后的神经网络,最后输出得到忘记密码功能模块、注册功能模块、搜索功能模块的逻辑复杂程度分别为0.3、0.4、0.8,数值越大表示逻辑复杂程度越高。
第二神经网络确定出各个功能模块的逻辑复杂程度,以便后续对逻辑复杂程度较高的功能模块进行重点关注或测试。
步骤S4,基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为一个或多个待检测模块。
第三神经网络模型为逻辑回归模型,第三神经网络模型的训练与第一神经网络模型类似,此处不再赘述。
软件功能需求表示对软件需要具备哪些功能的要求,例如要求软件具备搜索、修改、新增功能。功能模块响应速度要求表示对软件性能的要求,例如搜索模块响应速度要小于0.1秒,修改模块响应速度要小于0.2秒。
第三神经网络模型综合考虑软件代码、用户使用频率和功能模块的逻辑复杂程度,最终确定最急需检测的一个或多个功能模块,以进行测试。满足了用户的快速使用需求,也避免了将大量时间浪费在测试用户使用频率不高、不容易出错的功能模块中,节省了软件测试时间,满足了软件更新迭代的时效性。
步骤S5,发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
软件测试平台包括被测软件基本信息管理、需求管理、测试设计、测试执行、报告编制、模板管理等功能。
例如,可以通过软件测试平台对一个或多个待检测模块进行人工测试。软件测试平台对一个或多个待检测模块的测试内容包括:(一)功能性测试:功能性测试旨在检验系统相关文档(以需求规格说明书为准)中要求的功能点是否正确实现。功能测试采用黑盒测试设计方法(等价类划分、边界值分析法、错误推测法、因果图法、功能图法、正交试验设计法等)设计测试用例,手动执行测试用例,提交功能缺陷,跟踪缺陷直至关闭。(二)性能效率测试:通过使用JMeter5.2.1对被测系统进行负载、压力等测试,验证系统性能需求是否满足要求。使用JMeter编写脚本,调试脚本,并添加相应事务及组件,为拟定的性能效率点事务设置同步定时器,并设置“模拟用户组数量”,最后通过聚合报告查看运行结果。(三)安全性测试:自动化漏洞扫描测试方法:使用绿盟NX3进行漏洞扫描,对扫描出的安全漏洞(包括但不限于SQL注入漏洞、跨站脚本攻击漏洞(XSS)、JAVA反序列化漏洞、API接口信息泄露、跨站请求伪造漏洞(CSRF)、主机或数据库弱口令、CORS跨域漏洞、HTML代码注入漏洞、未授权访问漏洞、会话标识未更新、任意文件下载、目录遍历漏洞等)进行人工验证,并提出修改建议,生成安全扫描报告。对高严重性和中等严重性的问题,提交开发修复。通过功能测试,核查了应用安全方面的相关策略,譬如测试Web程序在处理重要数据的传输是否采用了加密传输的机制,注销时会话信息是否清除,查看是否存在浏览器窗口闲置超时后需重新登录的机制,用户对应用、文件是否有访问控制权限,系统是否建立备份机制等。
在一实施例中,若人工测试出所述一个或多个待检测模块出现运行正常,则确定所述待测试软件符合要求;若人工测试出所述一个或多个待检测模块运行异常,则通知管理员进行异常修复,异常修复完成后再重新执行所述S1、S2、S3、S4、S5步骤。
基于同一发明构思,本实施例提供了如图2所示的一种软件测试装置,该装置包括:
获取模块201,用于获取待测试软件,所述待测试软件包括多个功能模块;
频率输出模块202,用于基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯;
复杂程度输出模块203,用于基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度;
确定模块204,用于基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为一个或多个待检测模块。
发送模块205,用于发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
基于同一发明构思,本发明的实施例提供了一种电子设备,如图3所示,包括:
处理器31;用于存储处理器31中可执行程序指令的存储器32;其中,处理器31被配置为执行以实现如前述提供的一种软件测试的方法,所述方法包括:
S1、获取待测试软件,所述待测试软件包括多个功能模块;
S2、基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯;
S3、基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度;
S4、基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为输一个或多个待检测模块。
S5、发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
基于同一发明构思,本实施例提供了一种非临时性计算机可读存储介质,当存储介质中的指令由电子设备的处理器31执行时,使得电子设备能够执行实现如前述提供的软件测试方法。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (10)
1.一种软件测试方法,其特征在于,包括:
S1、获取待测试软件,所述待测试软件包括多个功能模块;
S2、基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯;
S3、基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度;
S4、基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出一个或多个待检测模块;
S5、发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
2.如权利要求1所述的软件测试方法,其特征在于,所述第一神经网络模型为深度神经网络,所述第一神经网络模型的训练包括:获取多个训练样本;所述训练样本包括多个样本功能模块的代码、样本功能模块的类型、样本用户特征及其对应的用户使用频率,所述样本用户特征包括样本用户需求、样本用户性别、样本用户年龄、样本用户使用习惯,其中所述对应的用户使用频率为训练标签;基于所述训练样本来训练所述第一神经网络模型。
3.如权利要求1所述的软件测试方法,其特征在于,所述第二神经网络模型为卷积神经网络;所述第三神经网络模型为逻辑回归模型;所述多个功能模块包括登录模块、注册模块、忘记密码模块、解锁模块、新增模块、修改模块、删除模块、搜索模块、查看模块;所述运行环境包括安卓、苹果、Windows、浏览器;所述编程代码类型包括java、python、pathy。
4.如权利要求1所述的软件测试方法,其特征在于,在发送所述一个或多个待检测模块到软件测试平台,以进行人工测试之后,还包括:
若人工测试出所述一个或多个待检测模块出现运行正常,则确定所述待测试软件符合要求;若人工测试出所述一个或多个待检测模块运行异常,则通知管理员进行异常修复,异常修复完成后再重新执行所述S1、S2、S3、S4、S5步骤。
5.一种软件测试装置,包括:
获取模块,用于获取待测试软件,所述待测试软件包括多个功能模块;
频率输出模块,用于基于第一神经网络模型确定多个功能模块中的每一个功能模块的用户使用频率,所述第一神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的类型、用户特征,所述第一神经网络模型的输出为每一个功能模块的用户使用频率,其中所述用户特征包括用户需求、用户性别、用户年龄、用户使用习惯;
复杂程度输出模块,用于基于第二神经网络模型确定多个功能模块中的每一个功能模块的逻辑复杂程度,所述第二神经网络模型的输入包括每一个功能模块的代码、每一个功能模块的代码大小、运行环境、编程代码类型、每一个功能模块的类型,所述第二神经网络模型的输出为每一个功能模块的逻辑复杂程度;
确定模块,用于基于第三神经网络模型确定一个或多个待检测模块,所述第三神经网络模型的输入包括每一个功能模块的代码、所述每一个功能模块的用户使用频率、所述每一个功能模块的逻辑复杂程度、软件功能需求、功能模块响应速度要求,所述第三神经网络模型的输出为一个或多个待检测模块;
发送模块,用于发送所述一个或多个待检测模块到软件测试平台,以进行人工测试。
6.如权利要求5所述的软件测试装置,其特征在于,所述第一神经网络模型为深度神经网络,所述第一神经网络模型的训练包括:获取多个训练样本;所述训练样本包括多个样本功能模块的代码、样本功能模块的类型、样本用户特征及其对应的用户使用频率,所述样本用户特征包括样本用户需求、样本用户性别、样本用户年龄、样本用户使用习惯,其中所述对应的用户使用频率为训练标签;基于所述训练样本来训练所述第一神经网络模型。
7.如权利要求5所述的软件测试装置,其特征在于,所述第二神经网络模型为卷积神经网络,所述第三神经网络模型为逻辑回归模型,所述多个功能模块包括登录模块、注册模块、忘记密码模块、解锁模块、新增模块、修改模块、删除模块、搜索模块、查看模块。
8.如权利要求5所述的软件测试装置,其特征在于,在发送所述一个或多个待检测模块到软件测试平台,以进行人工测试之后,还包括:
若人工测试出所述一个或多个待检测模块出现运行正常,则确定所述待测试软件符合要求;若人工测试出所述一个或多个待检测模块运行异常,则通知管理员进行异常修复,异常修复完成后再重新执行所述获取模块、所述频率输出模块、所述复杂程度输出模块、所述确定模块、所述发送模块。
9.一种电子设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如权利要求1~4任一种所述的软件测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4任一项所述的软件测试方法对应的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211601611.2A CN115617696B (zh) | 2022-12-14 | 2022-12-14 | 软件测试方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211601611.2A CN115617696B (zh) | 2022-12-14 | 2022-12-14 | 软件测试方法、装置、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617696A true CN115617696A (zh) | 2023-01-17 |
CN115617696B CN115617696B (zh) | 2023-05-30 |
Family
ID=84879781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211601611.2A Active CN115617696B (zh) | 2022-12-14 | 2022-12-14 | 软件测试方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617696B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234954A (zh) * | 2023-11-14 | 2023-12-15 | 杭银消费金融股份有限公司 | 一种基于机器学习算法的智能在线测试方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170594A (zh) * | 2017-12-25 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种神经网络模型的测试方法、装置及设备 |
WO2021115186A1 (zh) * | 2019-12-09 | 2021-06-17 | 遵义职业技术学院 | 基于ann的程序检测方法和检测系统及应用 |
CN115145817A (zh) * | 2022-07-08 | 2022-10-04 | 合肥贝贝多信息科技有限公司 | 一种软件测试方法、装置、设备及可读存储介质 |
-
2022
- 2022-12-14 CN CN202211601611.2A patent/CN115617696B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170594A (zh) * | 2017-12-25 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种神经网络模型的测试方法、装置及设备 |
WO2021115186A1 (zh) * | 2019-12-09 | 2021-06-17 | 遵义职业技术学院 | 基于ann的程序检测方法和检测系统及应用 |
CN115145817A (zh) * | 2022-07-08 | 2022-10-04 | 合肥贝贝多信息科技有限公司 | 一种软件测试方法、装置、设备及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234954A (zh) * | 2023-11-14 | 2023-12-15 | 杭银消费金融股份有限公司 | 一种基于机器学习算法的智能在线测试方法及系统 |
CN117234954B (zh) * | 2023-11-14 | 2024-02-06 | 杭银消费金融股份有限公司 | 一种基于机器学习算法的智能在线测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115617696B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200249964A1 (en) | Automatic detection of user interface elements | |
Tramontana et al. | Automated functional testing of mobile applications: a systematic mapping study | |
Leotta et al. | Visual vs. DOM-based web locators: An empirical study | |
CN112052172B (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
Sacramento et al. | Web application model generation through reverse engineering and UI pattern inferring | |
CN115617696B (zh) | 软件测试方法、装置、设备和计算机可读存储介质 | |
Deng et al. | Pentestgpt: An llm-empowered automatic penetration testing tool | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
Fourneret et al. | Setgam: Generalized technique for regression testing based on uml/ocl models | |
Noseevich et al. | Detecting insufficient access control in web applications | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
US9661014B2 (en) | Leveraging persistent identities in website testing | |
CN115934559A (zh) | 表单智能测试系统的测试方法 | |
CN113051582B (zh) | 一种计算机软件技术开发调试系统 | |
Woodraska et al. | Security mutation testing of the FileZilla FTP server | |
Flemström et al. | Exploring test overlap in system integration: An industrial case study | |
Xu et al. | Real-Time Diagnosis of Configuration Errors for Software of AI Server Infrastructure | |
Moradi et al. | Machine learning-assisted fault injection | |
Xiong et al. | Model-based penetration test framework for web applications using TTCN-3 | |
CN111782557A (zh) | 一种web应用权限的测试方法及其系统 | |
Tvoroshenko et al. | To the question of analysis of existing mechanisms of web application testing | |
Khan et al. | A Literature Review on Software Testing Techniques for Smartphone Applications | |
JP2019194818A (ja) | ソフトウェア不具合予測装置 | |
Kumar | Software testing techniques and strategies | |
Le et al. | A Survey on Tackling Software Configuration Faults |
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 |