CN113448862A - 软件版本测试方法、装置及计算机设备 - Google Patents
软件版本测试方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN113448862A CN113448862A CN202110784353.5A CN202110784353A CN113448862A CN 113448862 A CN113448862 A CN 113448862A CN 202110784353 A CN202110784353 A CN 202110784353A CN 113448862 A CN113448862 A CN 113448862A
- Authority
- CN
- China
- Prior art keywords
- version
- test
- software
- target
- information
- 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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
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)
- Stored Programmes (AREA)
Abstract
本申请公开了一种软件版本测试方法、装置及计算机设备,该方法包括:接收待测试软件的目标版本的测试请求;获取所述目标版本对应的开发基础版本的第一版本信息;查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。本申请还提供一种计算机可读存储介质。本申请先判断待测试的目标版本对应的开发基础版本是否在预设范围内,并根据判断结果执行测试,从而能够避免测试过程中的很多问题,提升了测试效率。
Description
技术领域
本申请涉及软件版本测试技术领域,尤其涉及一种软件版本测试方法、装置及计算机设备。
背景技术
目前软件的更新迭代速度非常快,软件的每一次更新都会有软件版本的改动。随着软件版本改动频率的提高,对软件版本的测试要求也越来越高。一般来说,基准版本一直处于更新中,开发人员每次进行开发时,需要复制一份的基准版本作为开发基础版本,然后对开发基础版本进行更新后,得到待测试版本。而测试人员需要对该待测试版本对应的开发基础版本进行分析,若该开发基础版本与当前基准版本的差异是否在预设范围,若不在预设范围,那么则需要调整测试策略。
由于版本更新较快,如果基于的开发基础版本较老,那么开发出来的待测试版本在测试阶段需要验证的内容则很多,且很容易测试出较多问题。因此,基于一定程度上的“新”的开发基础版本进行开发出的软件版本能避免较多的测试问题,也较容易同步到当前的基准版本内容中去。
因此,测试前的版本分析是减少测试问题,提高测试效率的必然环节。当前对于待测试版本的开发基础版本的分析,通常是人工查看开发基础版本距离当前最新的基准版本的更新次数,若次数较多,则判断开发基础版本为较老。然而,这种判断开发基础版本的方法并不准确,所以导致软件版本测试过程中产生问题较多,降低了测试效率。
发明内容
本申请提出一种软件版本测试方法、装置及计算机设备,能够解决上述的判断开发基础版本方式不准确所导致的软件测试问题较多、效率低下的问题。
首先,为实现上述目的,本申请提供一种软件版本测试方法,所述方法包括:
接收待测试软件的目标版本的测试请求;获取所述目标版本对应的开发基础版本的第一版本信息;查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
在一个例子中,所述第一版本信息和所述第二版本信息包括版本生成时间和源代码。
在一个例子中,所述判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内,包括:判断所述第一版本信息中的第一版本生成时间和所述第二版本信息中的第二版本生成时间的时间差是否小于预设的第一阈值;和/或,判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值。
在一个例子中,所述判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值,包括:将所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码对应的字符文本进行文本比较,找出其中的差异文本;计算所述差异文本与所述第一版本信息中的第一源代码的字符文本的比值作为代码相似度。
在一个例子中,所述方法还包括:当所述差异度超出所述范围时,根据预设的提醒方式向预设的终端发送提醒信息。
在一个例子中,所述方法还包括:当所述差异度超出所述范围时,根据预设的测试策略对所述目标版本进行测试,所述测试策略包括调用所述测试用例以及预设的兼容性测试用例对所述目标版本执行测试。
在一个例子中,所述接收待测试软件的目标版本的测试请求,包括:根据预设周期检测是否接收到研发平台提交的测试请求;当检测到接收到研发平台提交的测试请求时,获取所述测试请求对应的目标版本。
在一个例子中,在所述获取所述测试请求对应的目标版本之后,所述方法还包括:获取所述目标版本的版本id;从预设的本地存储中查询是否存在所述版本id对应的软件版本,所述本地存储预先存储有已及时变基的所有版本的版本id;当所述本地存储中存在所述版本id对应的软件版本时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
在一个例子中,当所述目标版本为基准版本中多个分支版本中的一个分支版本时,所述查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息,包括:根据所述目标版本的分支版本名称从当前基准版本中查询出对应分支版本名称的分支基准版本作为所述开发基础版本对应的实时基准版本;获取所述实时基准版本的第二版本信息。
此外,为实现上述目的,本申请还提供一种软件版本测试装置,所述装置包括:
接收模块,用于接收待测试软件的目标版本的测试请求;获取模块,用于获取所述目标版本对应的开发基础版本的第一版本信息;查询模块,用于查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;判断模块,用于判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;测试模块,用于当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
进一步地,本申请还提出一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的软件版本测试方法的步骤。
进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的软件版本测试方法的步骤。
相较于现有技术,本申请所提出的软件版本测试方法、装置、计算机设备及计算机可读存储介质,能够接收待测试软件的目标版本的测试请求;获取所述目标版本对应的开发基础版本的第一版本信息;查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。通过先判断待测试的目标版本对应的开发基础版本是否在预设范围内,并根据判断结果执行测试,从而能够避免测试过程中的很多问题,提升了测试效率。
附图说明
图1是本申请一实施例的应用环境示意图;
图2是本申请软件版本测试方法一具体实施例的流程示意图;
图3是本发明一示例性例子中对待测试分支版本进行开发基础版本检测的流程效果图;
图4是本申请软件版本测试装置一实施例的程序模块示意图;
图5是本申请计算机设备一可选的硬件架构的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1是本申请一实施例的应用环境示意图。参阅图1所示,所述计算机设备1与数据服务器以及测试平台连接。所述服务器上存储有待测试软件的所有版本数据,包括当前时间的基准版本数据,之前的所有基准版本数据以及对于基准版本进行更新的所有历史操作记录;所述测试平台上存储有测试用例,用于对待测试软件执行测试;所述计算机设备1用于控制所述测试平台执行软件测试的中间设备;当然,所述计算机设备1也可以作为独立的功能模块附加到数据服务器上以实现软件版本测试的功能,或者其他形式,这里不做限制。
在本实施例中,所述计算机设备1能够接收所述测试平台触发的对于待测试软件的目标版本的测试请求,并获取所述目标版本对应的开发基础版本的第一版本信息;然后从所述数据服务器上查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;然后判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;当所述差异度在预设范围内时,控制所测试平台根据所述测试请求调用对应的测试用例对所述目标版本进行测试。其中,所述计算机设备1可作为手机、平板、便携设备、PC机或者服务器等;当所述计算机设备1作为独立功能模块附加在所述测试平台时,所述计算机设备1可以认为是一个功能程序或脚本程序。
实施例一
图2是本申请软件版本测试方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1为执行主体进行示例性描述。
如图2所示,所述软件版本测试方法可以包括步骤S200~S208。
步骤S200,接收待测试软件的目标版本的测试请求。
步骤S202,获取所述目标版本对应的开发基础版本的第一版本信息。
具体的,所述计算机设备1能够接收由测试平台,或者用户通过所述计算机设备1提供的交互界面所触发的对于待测试软件的目标版本的测试请求,然后,所述计算机设备1获取所述目标版本对应的开发基础版本的第一版本信息。在本实施例中,用户提交到测试平台执行测试的待测试软件的目标版本的测试请求时,通常也需要将所述目标版本的相关数据一并提交到所述测试平台。因此,所述计算机设备1可以从所述测试平台获取到所述目标版本的相关数据,包括所述目标版本对应的开发基础版本的第一版本信息。其中,所述开发基础版本是开发所述目标版本时拷贝的基准版本。
例如,所述待测试软件在开发或更新的过程中,除了最初的原始版本外,后续的更新版本,都是以一个开发基础版本为模板进行改进和更新,这个开发基础版本通常是一个经由测试验证过的,且功能相对稳定的软件版本,通常称为基准版本。开发人员将基准版本拷贝出来进行开发,从而得到目标版本;然后对目标版本执行测试,若测试通过,则将目标版本的数据同步到原来的基准版本,从而得到一个新的基准版本。后续的开发过程,则是将该新的基准版本拷贝出来作为开发基础版本进行软件版本的改进或更新。其中,对于每一次的软件更新,都会记录该次软件更新的开发基础版本信息,从而,在目标版本执行软件执行测试时,可以进行回归测试。
因此,所述计算机设备1在接收到所述目标版本的测试请求后,可以获取到所述目标版本对应的开发基础版本的相关数据,包括第一版本信息。
在一具体实施例中,所述计算机设备1接收待测试软件的目标版本的测试请求,包括:根据预设周期检测是否接收到研发平台提交的测试请求;当检测到接收到研发平台提交的测试请求时,获取所述测试请求对应的目标版本。所述计算机设备1通过定时任务可以实时获取到研发平台提交过来的测试请求。
当然,在一示例性例子中,所述计算机设备1还会通过对测试平台上记录的研发人员对于软件版本的提交测试行为进行筛选,包括对于软件版本的代码更新比值,或者重复提交测试的次数,从而筛选出“真正”的软件版本;而对于研发修复问题所提交的重复的软件版本或者开发调试行为所增加的少量更新代码的软件版本,并不作为“真正”的软件版本。例如,TAPD(Tencent Agile Product Development,腾讯敏捷协作)平台,是一款由腾讯公司自主研发的协作及软件研发管理平台,Fawkes平台是以APP为基础维度的BILIBILI一站式移动端平台,提供稳定可靠的配置灰度能力,可以帮助业务方快速定位线上问题,并且有一定动态解决问题的能力;当开发人员有TAPD平台执行软件版本开发,然后由Fawkes平台进行软件版本的软件包管理时,所述计算机设备1能够获取关联TAPD中需求流转行为和Fawkes的打包行为,筛选真正的提测包行为,降低误报率。因此,所述计算机设备1通过先筛选出“真正”的软件版本,然后再从所述“真正”的软件版本中查询出当前待测试的目标版本。
在另一示例性例子中,所述计算机设备1在所述获取所述测试请求对应的目标版本之后,还执行以下步骤:获取所述目标版本的版本id;从预设的本地存储中查询是否存在所述版本id对应的软件版本,所述本地存储预先存储有已及时变基的所有版本的版本id;当所述本地存储中存在所述版本id对应的软件版本时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。所述计算机设备1通过判断所述目标版本的版本id是否已存储在本地存储中,而本地存储中预先存储的都是确认为已及时变基版本的版本id,因此,所述计算机设备1在查询到所述本地存储中包括所述目标版本的版本id时,则可以直接根据所述测试请求对应的测试用例执行测试,而不需要再次进行是否已及时变基的检测。
步骤S204,查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息。
步骤S206,判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内。
接着,所述计算机设备1从数据服务器上查询出所述目标版本对应的当前时间的实时基准版本的相关数据,包括第二版本信息。
在本实施例中,所述第一版本信息和所述第二版本信息包括版本生成时间和源代码。其中,所述版本生成时间,可以认为是版本更新时间,比如,所述基准版本每一次更新,都会记录其更新的时间,那么,所述实时基准版本的生成时间,则可以认为是当前时间的所述基准版本的最近的更新时间。而所述目标版本对应的开发基础版本的生成时间,则可以认为是所述开发基础版本从所述基准版本上拷贝下来的时间,当然,如果所述开发基础版本从所述基准版本上拷贝下来以后,还经历过rebase操作,也就是变基操作,那么,所述开发基础版本的生成时间可以认为是所述开发基础版本最近一次的rebase操作的时间。其中,rebase,也叫变基,将目标分支的修改整合到当前分支上,它的原理是首先找到这两个分支的最近共同祖先,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件,然后将当前分支指向目标基底,最后以此将之前另存为临时文件的修改依序应用。
在一示例性例子中,当所述目标版本为基准版本中多个分支版本中的一个分支版本时,所述计算机设备1查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息,包括:根据所述目标版本的分支版本名称从当前基准版本中查询出对应分支版本名称的分支基准版本作为所述开发基础版本对应的实时基准版本;获取所述实时基准版本的第二版本信息。具体的,由于所述待测试软件可能是由多个开发人员分工协作进行开发的,其中每一个开发人员负责一个功能分支的开发,因此,所述基准版本会包括多个分支版本,每一个分支版本都是从所述基准版本上拷贝对应的分支基准版本下来作为开发基础版本进行开发的。所述目标版本为所述基准版本下的多个分支版本中的一个分支版本,因此,所述计算机设备1需要根据所述目标版本的id信息,或者其他身份标识信息,从所述数据服务器上获取到对应分支版本名称的分支基准版本的版本信息作为第二版本信息。
在获取到所述第一版本信息和所述第二版本信息之后,所述计算机设备1则会进一步判断所述第一版本信息和所述第二版本信息的差异度是否在预设范围内。
在本实施例中,所述计算机设备1判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内,包括:判断所述第一版本信息中的第一版本生成时间和所述第二版本信息中的第二版本生成时间的时间差是否小于预设的第一阈值;和/或,判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值。
其中,所述计算机设备1可以通过获取所述目标版本对应的开发基础版本从原来的基准版本上拷贝下来的生成时间,然后与当前时间的基准版本的最后一次更新的时间进行比较,判断两者之间的时间差是否在预设的第一阈值内,比如24h之内。
其中,所述计算机设备1判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值,包括:将所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码对应的字符文本进行文本比较,找出其中的差异文本;计算所述差异文本与所述第一版本信息中的第一源代码的字符文本的比值作为代码相似度。
步骤S208,当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
具体的,所述计算机设备1在判断出所述第一版本信息与所述第二版本信息之间的差异度在预设的范围内,那么,说明所述基础开发版本是比较“新”的一个基准版本,不需要执行额外的兼容性测试,所述计算机设备1则直接可以根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
在一示例性例子中,当所述差异度超出所述范围时,根据计算机设备1则会根据预设的测试策略对所述目标版本进行测试,所述测试策略包括调用所述测试用例以及预设的兼容性测试用例对所述目标版本执行测试。当然,所述计算机设备1同时也可以根据预设的提醒方式向预设的终端发送提醒信息。比如,通过短信或邮件的方式提醒向测试人员发生提醒信息,提醒测试人员对于所述目标版本测试策略的执行。
如图3所示,图3是本发明一示例性例子中对待测试分支版本进行开发基础版本检测的流程效果图。其中,所述计算机设备1先获取提交测试的目标版本的版本信息和版本id,然后查询本地文件中是否已存储该目标版本对应的版本id,如果已存储,那么说明该目标版本已执行过版本检测,所述计算机设备1直接结束版本检测过程。若查询出本地文件中未存储该目标版本的版本id,那么,所述计算机设备1则会通过版本id查询该目标版本对应的分支版本的历史记录信息,然后根据历史记录信息获取该分支版本对应的开发基础版本的生成时间;接着,判断所述生成时间与该分支版本最近变基到基准版本的时间的时间差;当所述时间差小于预设时间阈值,比如24h,那么,判定该分支版本已及时变基,所述计算机设备1将该目标版本的版本id存储到本地文件,说明已完成版本检测;若所述时间差大于或等于24h,那么则判定该分支版本未及时变基,所述计算机设备1触发提醒,提醒相关人员版本检测结果,并将该分支版本的版本名称存储到本地文件,说明已完成版本检测。所述计算机设备1通过对待测试软件的目标版本执行版本检测,然后根据检测结果执行对应的软件测试,能够有效提高测试效率,避免测试问题。
综上所述,本实施例所提出的软件版本测试方法能够接收待测试软件的目标版本的测试请求;获取所述目标版本对应的开发基础版本的第一版本信息;查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。通过先判断待测试的目标版本对应的开发基础版本是否在预设范围内,并根据判断结果执行测试,从而能够避免测试过程中的很多问题,提升了测试效率。
实施例二
图4示意性示出了根据本申请实施例二的软件版本测试装置的框图,该软件版本测试装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图4所示,该软件版本测试装置400可以包括接收模块410、获取模块420、查询模块430、判断模块440和测试模块450,其中:
接收模块410,用于接收待测试软件的目标版本的测试请求,包括:根据预设周期检测是否接收到研发平台提交的测试请求;当检测到接收到研发平台提交的测试请求时,获取所述测试请求对应的目标版本。
获取模块420,用于获取所述目标版本对应的开发基础版本的第一版本信息。
查询模块430,用于查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息。
判断模块440,用于判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内。
测试模块450,用于当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
在示例性的实施例中,所述第一版本信息和所述第二版本信息包括版本生成时间和源代码,判断模块440,还用于:判断所述第一版本信息中的第一版本生成时间和所述第二版本信息中的第二版本生成时间的时间差是否小于预设的第一阈值;和/或,判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值。
在示例性的实施例中,获取模块420,还用于:在所述获取所述测试请求对应的目标版本之后,获取所述目标版本的版本id;从预设的本地存储中查询是否存在所述版本id对应的软件版本,所述本地存储预先存储有已及时变基的所有版本的版本id;当所述本地存储中存在所述版本id对应的软件版本时,测试模块450则根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
在示例性的实施例中,判断模块440,还用于:将所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码对应的字符文本进行文本比较,找出其中的差异文本;计算所述差异文本与所述第一版本信息中的第一源代码的字符文本的比值作为代码相似度。
在示例性的实施例中,测试模块450,还用于:当所述差异度超出所述范围时,根据预设的测试策略对所述目标版本进行测试,所述测试策略包括调用所述测试用例以及预设的兼容性测试用例对所述目标版本执行测试。以及,当所述差异度超出所述范围时,根据预设的提醒方式向预设的终端发送提醒信息。
在示例性的实施例中,查询模块430,还用于:根据所述目标版本的分支版本名称从当前基准版本中查询出对应分支版本名称的分支基准版本作为所述开发基础版本对应的实时基准版本;获取所述实时基准版本的第二版本信息。
实施例三
图5示意性示出了根据本申请实施例三的适于实现软件版本测试方法的计算机设备1的硬件架构示意图。本实施例中,计算机设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,计算机设备1至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备1的内部存储模块,例如该计算机设备1的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备1的外部存储设备,例如该计算机设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计算机设备1的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备1的操作系统和各类应用软件,例如软件版本测试方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他软件版本测试芯片。该处理器520通常用于控制计算机设备1的总体操作,例如执行与计算机设备1进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备1与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备1与外部终端相连,在计算机设备1与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图5仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的软件版本测试方法的程序代码还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本申请实施例。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收待测试软件的目标版本的测试请求;获取所述目标版本对应的开发基础版本的第一版本信息;查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中软件版本测试方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (12)
1.一种软件版本测试方法,其特征在于,所述方法包括:
接收待测试软件的目标版本的测试请求;
获取所述目标版本对应的开发基础版本的第一版本信息;
查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;
判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;
当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
2.如权利要求1所述的软件版本测试方法,其特征在于,所述第一版本信息和所述第二版本信息包括版本生成时间和源代码。
3.如权利要求2所述的软件版本测试方法,其特征在于,所述判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内,包括:
判断所述第一版本信息中的第一版本生成时间和所述第二版本信息中的第二版本生成时间的时间差是否小于预设的第一阈值;和/或,
判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值。
4.如权利要求3所述的软件版本测试方法,其特征在于,所述判断所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码相似度是否小于预设的第二阈值,包括:
将所述第一版本信息中的第一源代码和所述第二版本信息中的第二源代码的代码对应的字符文本进行文本比较,找出其中的差异文本;
计算所述差异文本与所述第一版本信息中的第一源代码的字符文本的比值作为代码相似度。
5.如权利要求1所述的软件版本测试方法,其特征在于,所述方法还包括:
当所述差异度超出所述范围时,根据预设的提醒方式向预设的终端发送提醒信息。
6.如权利要求1所述的软件版本测试方法,其特征在于,所述方法还包括:
当所述差异度超出所述范围时,根据预设的测试策略对所述目标版本进行测试,所述测试策略包括调用所述测试用例以及预设的兼容性测试用例对所述目标版本执行测试。
7.如权利要求1-6中任一项所述的软件版本测试方法,其特征在于,所述接收待测试软件的目标版本的测试请求,包括:
根据预设周期检测是否接收到研发平台提交的测试请求;
当检测到接收到研发平台提交的测试请求时,获取所述测试请求对应的目标版本。
8.如权利要求7所述的软件版本测试方法,其特征在于,在所述获取所述测试请求对应的目标版本之后,所述方法还包括:
获取所述目标版本的版本id;
从预设的本地存储中查询是否存在所述版本id对应的软件版本,所述本地存储预先存储有已及时变基的所有版本的版本id;
当所述本地存储中存在所述版本id对应的软件版本时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
9.如权利要求1-6中任一项所述的软件版本测试方法,其特征在于,当所述目标版本为基准版本中多个分支版本中的一个分支版本时,所述查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息,包括:
根据所述目标版本的分支版本名称从当前基准版本中查询出对应分支版本名称的分支基准版本作为所述开发基础版本对应的实时基准版本;
获取所述实时基准版本的第二版本信息。
10.一种软件版本测试装置,其特征在于,所述装置包括:
接收模块,用于接收待测试软件的目标版本的测试请求;
获取模块,用于获取所述目标版本对应的开发基础版本的第一版本信息;
查询模块,用于查询出所述目标版本对应的当前时间的实时基准版本的第二版本信息;
判断模块,用于判断所述第一版本信息与所述第二版本信息的差异度是否在预设范围内;
测试模块,用于当所述差异度在预设范围内时,根据所述测试请求调用对应的测试用例对所述目标版本进行测试。
11.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~9中任一项所述的软件版本测试方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1~9中任一项所述的软件版本测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110784353.5A CN113448862B (zh) | 2021-07-12 | 2021-07-12 | 软件版本测试方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110784353.5A CN113448862B (zh) | 2021-07-12 | 2021-07-12 | 软件版本测试方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448862A true CN113448862A (zh) | 2021-09-28 |
CN113448862B CN113448862B (zh) | 2022-08-02 |
Family
ID=77815870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110784353.5A Active CN113448862B (zh) | 2021-07-12 | 2021-07-12 | 软件版本测试方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448862B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780440A (zh) * | 2022-06-17 | 2022-07-22 | 苏州培风图南半导体有限公司 | 一种软件升级版本正确性的检测方法及装置 |
CN115396705A (zh) * | 2022-08-19 | 2022-11-25 | 上海哔哩哔哩科技有限公司 | 投屏操作验证方法、平台及系统 |
CN116302082A (zh) * | 2023-05-24 | 2023-06-23 | 南京砺算科技有限公司 | 一种版本控制的自动变基方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216830A (zh) * | 2014-09-01 | 2014-12-17 | 广州供电局有限公司 | 设备软件的一致性检测方法及系统 |
CN106528399A (zh) * | 2015-09-15 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种测试用例确定方法及装置 |
CN108681504A (zh) * | 2018-04-13 | 2018-10-19 | 深圳壹账通智能科技有限公司 | 自动化测试方法、测试服务器及计算机可读存储介质 |
WO2019019647A1 (zh) * | 2017-07-26 | 2019-01-31 | 深圳壹账通智能科技有限公司 | 应用程序测试范围确定方法、系统、服务器和存储介质 |
CN109446069A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 兼容性测试方法、装置、计算机设备和介质 |
WO2019085386A1 (zh) * | 2017-11-03 | 2019-05-09 | 平安科技(深圳)有限公司 | 软件版本测试方法、装置、终端设备及存储介质 |
CN110221968A (zh) * | 2019-05-20 | 2019-09-10 | 平安普惠企业管理有限公司 | 软件测试方法及相关产品 |
CN111736875A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 版本更新监控方法、装置、设备及计算机存储介质 |
CN111897727A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备及存储介质 |
CN112416785A (zh) * | 2020-11-27 | 2021-02-26 | 广州品唯软件有限公司 | 切词工具版本差异测试方法、装置、设备和存储介质 |
-
2021
- 2021-07-12 CN CN202110784353.5A patent/CN113448862B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216830A (zh) * | 2014-09-01 | 2014-12-17 | 广州供电局有限公司 | 设备软件的一致性检测方法及系统 |
CN106528399A (zh) * | 2015-09-15 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种测试用例确定方法及装置 |
WO2019019647A1 (zh) * | 2017-07-26 | 2019-01-31 | 深圳壹账通智能科技有限公司 | 应用程序测试范围确定方法、系统、服务器和存储介质 |
WO2019085386A1 (zh) * | 2017-11-03 | 2019-05-09 | 平安科技(深圳)有限公司 | 软件版本测试方法、装置、终端设备及存储介质 |
CN108681504A (zh) * | 2018-04-13 | 2018-10-19 | 深圳壹账通智能科技有限公司 | 自动化测试方法、测试服务器及计算机可读存储介质 |
CN109446069A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 兼容性测试方法、装置、计算机设备和介质 |
CN110221968A (zh) * | 2019-05-20 | 2019-09-10 | 平安普惠企业管理有限公司 | 软件测试方法及相关产品 |
CN111736875A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 版本更新监控方法、装置、设备及计算机存储介质 |
CN111897727A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备及存储介质 |
CN112416785A (zh) * | 2020-11-27 | 2021-02-26 | 广州品唯软件有限公司 | 切词工具版本差异测试方法、装置、设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780440A (zh) * | 2022-06-17 | 2022-07-22 | 苏州培风图南半导体有限公司 | 一种软件升级版本正确性的检测方法及装置 |
CN115396705A (zh) * | 2022-08-19 | 2022-11-25 | 上海哔哩哔哩科技有限公司 | 投屏操作验证方法、平台及系统 |
CN115396705B (zh) * | 2022-08-19 | 2024-03-19 | 上海哔哩哔哩科技有限公司 | 投屏操作验证方法、平台及系统 |
CN116302082A (zh) * | 2023-05-24 | 2023-06-23 | 南京砺算科技有限公司 | 一种版本控制的自动变基方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113448862B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN111240994B (zh) | 漏洞处理方法、装置、电子设备及可读存储介质 | |
CN110704297B (zh) | 代码评审方法、装置、计算机设备及存储介质 | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN108804315B (zh) | 应用于动态开发的测试方法、装置、电子设备及存储介质 | |
CN111984520A (zh) | 埋点测试方法、计算机设备及计算机可读存储介质 | |
CN112835808A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN109815083B (zh) | 一种应用崩溃的监控方法、装置、电子设备及介质 | |
CN114237754A (zh) | 一种数据加载方法、装置、电子设备以及存储介质 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN112416648A (zh) | 数据校验方法及装置 | |
CN115086047B (zh) | 接口鉴权方法、装置、电子设备及存储介质 | |
CN113434938B (zh) | Bim模型的检查方法、装置、计算机设备及存储介质 | |
CN116303320A (zh) | 基于日志文件的实时任务管理方法、装置、设备及介质 | |
CN113419949B (zh) | 数据处理的异常检测方法、装置、设备及存储介质 | |
CN114253518B (zh) | 一种智能项目管理方法及系统 | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN113259154B (zh) | 中台数据校验通知方法、装置、计算机设备和存储介质 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN115146581A (zh) | 项目管理方法、缺陷分析方法、相关设备及可读存储介质 | |
CN112765188A (zh) | 配置信息处理方法、配置管理系统、电子设备及存储介质 | |
CN112199529A (zh) | 图片处理方法、装置、电子设备及存储介质 | |
CN112364121A (zh) | 问卷pdf的自动创建方法、装置、存储介质及计算机设备 | |
CN111309623A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |