CN117033174A - 软件测试方法、装置、存储介质及电子设备 - Google Patents
软件测试方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117033174A CN117033174A CN202310819859.4A CN202310819859A CN117033174A CN 117033174 A CN117033174 A CN 117033174A CN 202310819859 A CN202310819859 A CN 202310819859A CN 117033174 A CN117033174 A CN 117033174A
- Authority
- CN
- China
- Prior art keywords
- software
- target
- test
- testing
- stability
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000013522 software testing Methods 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 95
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000012544 monitoring process Methods 0.000 claims description 28
- 238000011156 evaluation Methods 0.000 claims description 23
- 230000002452 interceptive effect Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000013097 stability assessment Methods 0.000 claims description 7
- 238000013210 evaluation model Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000013112 stability test Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000015556 catabolic process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/3664—Environments for testing or debugging software
-
- 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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Abstract
本公开提供了一种软件测试方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备。该方法包括:确定目标软件所应用的目标地域;获取目标地域的运行环境,运行环境包括网络特征;根据目标地域的运行环境,对目标软件进行测试。本公开的实施例充分考虑了软件运行地域的网络环境,有利于提高软件测试结果的准确性。
Description
技术领域
本公开总体上涉及计算机技术领域,更具体地涉及一种软件测试方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备。
背景技术
本部分旨在介绍本领域的一些方面,其可以与下面描述的和/或要求保护的本公开的各个方面相关。相信本部分有助于提供背景信息以便于更好地理解本公开的各个方面。因此,应该理解的是这些陈述应该从这个角度来理解,而不是作为对现有技术的承认。
随着海外市场的不断开拓,越来越多的公司将国内应用程序开发成海外版本,但是受限于当地网络环境、常用设备、操作系统版本等差异因素,海外移动应用程序的稳定性测试愈发重要,需要帮助开发人员避免系统崩溃等稳定性问题,适配当地的运行环境。目前常用的稳定性测试方案分为手工测试和自动化测试:(1)手工测试要求测试人员手动模拟真实用户行为进行操作,如屏幕点击、滑动、手势操作等,可以针对特定业务进行充分点击测试,观察应用程序使用的流畅度、响应速度以及是否发生崩溃等问题;(2)自动化稳定性测试则借助软件工具模拟用户行为进行,效率较高、可大大减少人力成本投入,并能设定在任意时间内运行,同时可能触发一些非正常操作路径以增加测试覆盖的范围,还可生成相应的运行日志供测试与开发人员分析结果。
现有的软件测试方式,存在以下不足:(1)手工测试效率低、耗时长、成本大、可移植性弱、并依赖测试人员的经验;(2)不同国家的网络环境不同,部分国家网络环境较差,弱网特征明显,会对应用程序的稳定性带来一定的影响,现有的软件测试方式并未将特定国家的网络特征纳入考虑范围。
因此,有必要提出一种新的技术方案,以减轻或者解决上述至少一个技术问题。
发明内容
本公开的目的在于提供一种软件测试方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备,以提高软件测试结果的准确性。
根据本公开的第一方面,提供了一种软件测试方法,包括:确定目标软件所应用的目标地域;获取所述目标地域的运行环境,所述运行环境包括网络特征;根据所述目标地域的运行环境,对所述目标软件进行测试。
根据本公开的第二方面,提供了一种软件测试装置,包括:目标地域确定模块,用于确定目标软件所应用的目标地域;运行环境获取模块,用于获取所述目标地域的运行环境,所述运行环境包括网络特征;测试模块,用于根据所述目标地域的运行环境,对所述目标软件进行测试。
根据本公开的第三方面,提供了一种计算机程序产品,包括程序代码指令,当所述程序产品由计算机执行时,所述程序代码指令使所述计算机执行根据本公开的第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非暂时性计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开的第一方面所述的方法。
根据本公开的第五方面,提供了一种电子设备,包括:处理器,与所述处理器进行电子通信的存储器;以及指令,所述指令存储在所述存储器中并且可由所述处理器执行以使所述电子设备执行根据本公开的第一方面所述的方法。
在本公开的实施例中,根据目标地域的网络特征,对目标软件进行测试,充分考虑了软件运行地域的网络环境,有利于提高软件测试结果的准确性。
应当理解,本部分所描述的内容并不旨在标识所要求保护的发明内容的关键或必要特征,也不旨在单独地用于确定所要求保护的发明内容的范围。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的软件测试方法的一个实施例的系统架构图;
图2示出了根据本公开的软件测试方法的一个实施例的流程图;
图3示出了根据本公开的软件测试方法的一个实施例的具体例子的示意图;
图4示出了根据本公开的软件测试装置的一个实施例的示例性框图;
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意图。
具体实现方式
下文将参考附图更全面地描述本公开。然而,本公开可以以多种替代形式来体现,并且不应被解释为限于本文描述的实施例。因此,尽管本公开易于进行各种修改和替代形式,但是其具体实施例在附图中以示例的方式示出,并将在本文详细描述。然而,应当理解,这种方式并不旨在将本公开限制于所公开的特定形式,相反,本公开覆盖了落入由权利要求所限定的本公开的精神和范围内的所有修改方案、等同方案和替代方案。
应当理解,尽管本文可以用术语第一、第二等描述各种元素,但是这些元素不应该被这些术语所限制。这些术语仅用于区分一个元素和另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素,而不脱离本公开的教导。
本文结合框图和/或流程图描述了一些示例,其中每个框表示包括用于实现指定逻辑功能的一个或多个可执行指令的电路元件、模分块或代码的部分。还应该注意的是,在其他实现方式中,框中所述的功能可以不按所述的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以实质上同时执行,或者这些框有时可以以相反的顺序执行。
本文提到的“根据……实施例”或“在..实施例中”意味着结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实现方式中。本文中不同地方出现的短语“根据...实施例”或“在...实施例中”不一定都指同一实施例,也不一定是与其他实施例相互排斥的单独或替代实施例。
图1示出了可以应用本公开的软件测试方法、装置、终端设备和存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如语音交互类应用、视频会议类应用、短视频社交类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有麦克风和扬声器的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层4)播放器、便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,服务器105可以是对终端设备101、102、103发送的软件测试请求进行处理的后台服务器。
在一些情况下,本公开所提供的软件测试方法可以由终端设备101、102、103执行,相应地,软件测试装置也可以设置于终端设备101、102、103中,这时,系统架构100可以不包括服务器105。
在一些情况下,本公开所提供的软件测试方法可以由终端设备101、102、103和服务器105共同执行。相应地,软件测试装置也可以分别设置于终端设备101、102、103和服务器105中。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了根据本公开的软件测试方法的一个实施例的流程图。该实施例中的方法可以由图1中的终端设备实施,或者由图1中的终端设备和服务器共同实施。这里,终端设备可以是专门用于进行软件测试的电子设备。在可选的实施例中,终端设备可以进一步包括用于执行不同功能的至少两个电子设备,例如用于安装和运行测试软件的测试机,以及用于模拟网络环境的单片机。
如图2所示,该方法包括以下步骤:
步骤210,确定目标软件所应用的目标地域。
本实施例中,目标软件是用于进行测试的软件。本公开中的软件也可以称为程序、应用或者应用程序。
本实施例中,目标地域例如是特定的国家或者地区。在可选的实施例中,目标地域可以是海外国家或者地区。结合下文的描述可知,该可选的实施例可以充分模拟应用程序在海外的真实运行环境,尽最大限度在国内完成海外应用程序的稳定性验证。
本实施例中,可以根据目标软件开发时针对的地域,确定目标软件应用的目标地域。
步骤220,获取目标地域的运行环境,运行环境包括网络特征。
本实施例中,运行环境是与特定地域相关联的典型的软件运行环境。本实施例中,运行环境包括网络特征。在可选的实施例中,运行环境还包括终端设备类型(例如手机的机型)和操作系统版本(例如安卓系统版本或者IOS系统版本)。上述网络特征可以包括带宽、带宽可用率、网络时延、最大传输单元、连接可靠性、连接稳定性中的至少一种参数。
在可选的实施例中,可以定时收集不同地域的网络特征(例如wifi、3G、4G等网络表现),建立网络特征数据库,该网络特征数据库记录有不同地域的带宽、带宽可用率、网络时延、最大传输单元、连接可靠性、连接稳定性等网络参数。
在上述可选的实施例中,步骤220可以按照以下方式实施:通过查询网络特征数据库,确定目标地域的网络特征,其中,网络特征数据库存储有多个地域的网络特征。
步骤230,根据目标地域的运行环境,对目标软件进行测试。
在可选的实施例中,可以在单片机中配置目标地域的网络特征,并将测试机与单片机连接,以进行目标软件的测试。在进一步的实施例中,可以对目标地域的网络特征进行动态配置(如配置正常或者弱网等),在此基础上进行目标软件的测试。
本实施例中,根据目标地域的网络特征,对目标软件进行测试,充分考虑了软件运行地域的网络环境,有利于提高软件测试结果的准确性。
海外应用程序目前处在高速迭代发展中,业务迭代周期短、更新速度快,若针对应用程序进行充分的稳定性测试,需要大量时间投入,同时重点业务的场景覆盖不一定充分。目前常用的自动化稳定性测试方案往往集中对应用程序整体进行质量保障,未关注到具体业务场景的覆盖比例。
针对上述问题,在可选的实施例中,对目标软件进行测试的步骤可以进一步包括以下步骤:
步骤一、获取测试针对的目标业务场景。示例性地,目标业务场景可以是登录场景、会员支付场景、视频播放场景等。
步骤二、确定目标业务场景对应的组件白名单,其中,组件白名单包括至少一个交互组件。
本实施例中,每个业务场景对应于至少一个交互组件,上述交互组件形成了测试中的组件白名单。上述组件白名单即为本次测试的组件范围,非组件白名单中的交互组件在测试中无法被触发。示例性地,目标软件为安卓系统下的软件,交互组件为Activity组件。示例性地,登录场景对应的交互组件包括全屏登录页、手机号登录页、邮件登录页、第三方应用登录页等。假设测试的新版本中增加了半屏登录页这一场景,可以将相应的交互组件增加到登录场景对应的白名单中,并将更新后的白名单作为本次测试的范围。
步骤三、通过随机操作触发白名单内的交互组件,以目标软件进行测试。
本实施例中,可以基于UI自动化方法进行软件测试,即通过自动执行对交互组件的随机操作,模拟用户对应用程序进行各种界面交互。如前文描述的,非组件白名单中的交互组件在测试中无法被触发,因此随机操作仅能触发白名单内的交互组件。由此,可以针对特定的业务场景进行测试。
本实施例中,能够针对特定的业务场景进行测试,有利于减少测试的时间成本,提高测试的针对性。
在可选的实施例中,对目标软件进行测试的步骤可以进一步包括以下步骤:
在测试过程中启动跳转脚本,其中,跳转脚本用于在随机操作导致当前运行程序从目标软件跳转至其他软件时,重新跳转回目标软件。
上述实施例借助跳转脚本,能够保证整个测试过程中不会跳转到其他应用程序。
在可选的实施例中,在对目标软件进行测试之前,可以先执行目标业务场景对应的前置操作。
本实施例中,根据不同业务场景,设定好需要执行的前置操作。例如本次测试方案针对会员支付场景进行,则可以先自动登录特定地域的测试账号,并且自动打开会员业务页,以完成前置操作,再进行软件测试。
通过执行前置操作,有利于提前配置特定业务场景的测试条件,保证特定业务场景的测试顺利进行。
在可选的实施例中,可以根据测试中交互组件覆盖率的影响参数调整前置操作,保证最大限度遍历需要测试的业务场景。
本实施例中,软件测试可以是稳定性测试。已知的自动化稳定性测试方案仅根据是否发生系统崩溃等严重缺陷表征,作为通过稳定性测试的判断依据,缺乏分析稳定性测试过程中的性能指标变化。
针对上述问题,在可选的实施例中,对目标软件进行测试的步骤可以进一步包括:
步骤一、监控用于测试的测试设备在测试过程中的性能参数,得到性能监控结果。
步骤二、根据性能监控结果,形成目标软件的稳定性评估结果。
本实施例中,在稳定性测试的过程中,建设性能监控工具以实时记录全部过程的性能变化,如对CPU、机身内存使用、GPU、耗电量等性能特征实时监控。打通稳定性测试和性能测试,不局限于仅判定应用程序是否发生崩溃,作为通过稳定性测试的唯一标准,有利于提高稳定性测试结果的准确性和全面性。
在可选的实施例中,上述步骤二可以进一步包括:
将测试运行日志、系统崩溃日志和性能监控结果输入稳定性评估模型,得到稳定性评估结果。
本实施例中,根据运行日志、稳定性测试输入参数、性能监控结果、网络参数等信息计算稳定性评估结果,更全面的判断目标软件的稳定性。
在可选的实施例中,稳定性评估模型包括计算式S=P*E*R*B*I,其中S代表稳定性评估结果,P代表性能监控结果对稳定性评估结果的影响参数,E代表系统崩溃结果,R代表测试中交互组件覆盖率的影响参数,B代表终端设备类型修正参数,I代表网络性能参数。
示例性地,稳定性评估过程如下:
第一阶段,进行数据获取以及预处理:
(1)将系统崩溃结果记为E,如果本次运行发生了崩溃或错误则E=0,否则E=1:
(2)根据运行日志和组件白名单,计算出本次测试的交互组件覆盖率Cov,并根据交互组件覆盖率范围选取交互组件覆盖率影响参数:
在对特定业务场景进行测试的情况下,按照下式计算测试中交互组件覆盖率的影响参数R:
在对非特定业务场景进行测试(即对整个应用程序进行测试)的情况下,按照下式计算测试中交互组件覆盖率的影响参数R:
采用不同方式计算测试中交互组件覆盖率的影响参数R的原因在于,应用程序整体的交互组件较多,稳定性测试是通过随机操作实现,所以无法覆盖到大部分场景,覆盖率偏低。
(3)计算性能监控结果:
获取并计算CPU平均占用率cpu_usage,GPU平均占用率gpu_usage,机身内存平均占用率memory_usage,问题帧数平均占用率problem_frames以及电池平均耗电量占用率power_consumption。
第二阶段,计算性能结果评估值:
(1)设定性能结果对应用程序的稳定性影响为:
P=w1*(1-cpu_usage)+w2*(1-gpu_usage)+w3*(1-memory_usage)+w4*e-k*problem_frames+w5*(1-power_consumption)
其中,w1、w2、w3、w4、w5分别为权重系数,k为调整系数。
(2)设定权重系数:
具体的系数设定需要根据稳定性测试方案调整,如果看重哪个评价指标,则可以将其值调高,以便更好的评估待测应用程序的性能。具体可以使用层次分析法进行计算:根据层次分析法要求,首先将目标层次设定为系统性能评价值,标准层次为系统性能稳定性和系统资源占用情况两类,具体的系统性能稳定性影响因素为problem_frames,其余参数则属于系统资源占用情况。之后依据指标层次之间的重要性,用1-9表示指标间的重要性(值越大,代表越重要)。再按照所需要的测试方案设定好具体数值后构建出判断矩阵,最后使用特征向量法求解矩阵后获取指标权重。例如考虑cpu_usage和problem_frames的重要性最高,gpu_usage和memory_usage的重要性相同,power_consumption最低,具体再设定好彼此间的重要性数值大小,最终计算后可以得到权重系数。
示例性地,权重系数的具体数值例如是:
w1=0.239,w2=0.193,w3=0.172,w4=0.268,w5=0.128
(3)设定调整系数k:
正常情况下,problem_frames会在10%以内波动,因此对于e-k*problem_frames而言,合适的k值可以保证problem_frames在较小时不影响性能指标评价,而较大时可以显著影响系统评估结果。在一个例子中,选取k值为0.5时,能满足迅速影响P值的要求。
第三阶段,进行稳定性评估值计算:
(1)稳定性评估模型为:
S=P*E*R*B*I
本实施例中,因为中低端机的性能较差,会导致P值偏低,因此加入修正参数B以修正较低P值对最终评估结果的影响,避免中低端机计算出的P值过低而造成无法通过稳定性测试。加入网络性能参数I亦是避免弱网环境对P值有较大影响,进一步提升系统稳定评估可靠性。
(2)S值取值范围确定:
根据计算出的S值,对稳定性测试结果进行判定,根据统计结果,可以获得如下评判标准:
S值的取值范围与稳定性测试结果之间的对应关系,需要根据不同的待测应用程序进行确定,因为在相同运行环境下,不同的应用程序的P值肯定不同。因此使用多次人工统计的方法确定,即人工使用高端测试机,在正常网络环境下操作应用程序一段时间无崩溃,同时开启性能监控以便计算P值。测试人员根据应用程序使用的流畅度、响应速度等表现,标记性能表现为好、中或差。经过不同测试人员的多次统计后,可以获取计算出的P值与性能标记之间的分布关系。再假设R值为1的情况下,获取到S值与稳定性测试结果之间的对应关系。例如,在经过5名测试人员,每人10次运行统计标记后,获取待测应用程序的稳定性评判标准为:
(3)结果分析:
根据S值得到对应的稳定性结果后,判断接下来的分析重点;当稳定性结果好时,可以认为完全通过本次稳定性测试;当结果为中时,则认为部分场景下的性能需要提升,收集运行日志、性能变化折线图等数据,定位性能问题发生的场景,再进一步分析后通知开发人员,确保某些场景下的系统性能可以进一步提升;当结果为差时,则认为应用程序整体或特定业务存在性能问题,需要整体深入分析以提升系统性能;当结果为崩溃时,则认为系统是不稳定的,需要及时记录崩溃发生的运行环境以及发生崩溃的测试机,协助开发人员定位不稳定事件发生的原因,并及时跟进缺陷解决进度与验证,避免待测应用程序在用户使用时发生崩溃。
在可选的实施例中,可以将稳定性评估结果、运行日志、系统崩溃日志、性能监控结果、性能变化折线图、网络参数、测试机参数以及稳定性测试各项输入参数等信息汇总,生成多份稳定性测试报告(详细报告、简略报告、原始文件)。
在可选的实施例中,可以将详细报告打包发送到指定邮件中,其中包含稳定性评估结果、性能监控结果、性能变化折线图、网络参数、测试机参数以及稳定性测试各项输入参数;将简略报告通过配置好的即时通讯软件,发送到指定群组中以实时反馈结果,其中包括稳定性评估结果、性能监控结果以及稳定性测试各项输入参数;将原始文件存储在电脑本地目录中以供详细查阅分析。基于以上信息,测试人员可以根据稳定性报告,对稳定性测试结果进行快速监控以及详细分析,并将需要调整优化的部分同步给具体的开发人员,提升目标软件的稳定性。
图3示出了根据本公开的软件测试方法的一个实施例的具体例子的示意图。
如图3所示,该具体例子包括以下步骤:
通过收集海外网络特征,形成各个地域的网络特征数据,并在单片机中配置目标地域的网络特征。
结合历史数据,对待测的海外应用程序进行交互组件功能分析,得到特定业务场景的组件白名单以及跳转脚本。
根据上述组件白名单确定稳定性测试的范围,并根据测试人员设置的运行时间、执行频率……报告存储目录等参数,形成稳定性测试执行参数。
基于UI自动化方式自动执行登录、打开页面、评论等前置操作。
将待测试海外应用程序安装在测试机上,并在上述稳定性测试执行参数和前置操作的基础上,在测试机上执行环境脚本安装、组件白名单安装、UI自动化、稳定性测试等程序。
在测试过程中,实施收集和监控性能信息,并绘制性能变化折线图。
将性能监控结果、运行日志和系统崩溃日志输入稳定性评估模型,形成稳定性测试报告,并将稳定性测试报告以邮件、即时通讯信息等方式通知相关人员。
图4示出了根据本公开的实施例的软件测试装置的示例性框图。如图4所示,该软件测试装置400,包括:目标地域确定模块410,用于确定目标软件所应用的目标地域;运行环境获取模块420,用于获取上述目标地域的运行环境,上述运行环境包括网络特征;测试模块430,用于根据上述目标地域的运行环境,对上述目标软件进行测试。
应当理解,图4中所示装置400的各个模块可以与参考图2描述的方法200中的各个步骤相对应。由此,上面针对方法200描述的操作、特征和优点同样适用于装置400及其所包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
在可选的实施例中,上述网络特征包括带宽、带宽可用率、网络时延、最大传输单元、连接可靠性、连接稳定性中的至少一种参数。
在可选的实施例中,上述运行环境还包括终端设备类型和操作系统版本。
在可选的实施例中,运行环境获取模块420还用于:通过查询网络特征数据库,确定上述目标地域的网络特征,其中,上述网络特征数据库存储有多个地域的网络特征。
在可选的实施例中,测试模块430还用于:获取测试针对的目标业务场景;确定上述目标业务场景对应的组件白名单,其中,上述组件白名单包括至少一个交互组件;通过随机操作触发上述白名单内的交互组件,以上述目标软件进行测试。
在可选的实施例中,测试模块430还用于:在测试过程中启动跳转脚本,其中,上述跳转脚本用于在上述随机操作导致跳转至其他软件时,重新跳转回上述目标软件。
在可选的实施例中,装置400还包括前置操作模块(未示出)。前置操作模块用于:执行上述目标业务场景对应的前置操作。
在可选的实施例中,测试模块430还用于:监控用于测试的测试设备在测试过程中的性能参数,得到性能监控结果;
根据上述性能监控结果,形成上述目标软件的稳定性评估结果。
在可选的实施例中,测试模块430还用于:将测试运行日志、系统崩溃日志和上述性能监控结果输入稳定性评估模型,得到上述稳定性评估结果。
在可选的实施例中,上述稳定性评估模型包括计算式S=P*E*R*B*I,其中S代表稳定性评估结果,P代表性能监控结果对稳定性评估结果的影响参数,E代表系统崩溃结果,R代表测试中交互组件覆盖率的影响参数,B代表终端设备类型修正参数,I代表网络性能参数。
在可选的实施例中,上述测试中交互组件覆盖率的影响参数R根据以下方式确定:在对特定业务场景进行测试的情况下,按照第一计算方式计算上述测试中交互组件覆盖率的影响参数R;在对非特定业务场景进行测试的情况下,按照第二计算方式计算上述测试中交互组件覆盖率的影响参数R。
在可选的实施例中,上述性能监控结果包括系统性能稳定性参数和系统资源占用参数。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。参见图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。设备500中的多个部件连接至I/O接口505,包括:输入单元706,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如软件测试方法。例如,在一些实施例中,软件测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的软件测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行软件测试方法。
结合本文公开的方面所描述的各种说明性逻辑、逻辑块、模块、电路和算法过程可以实现为电子硬件、计算机软件或两者的组合。硬件和软件的可互换性已经在功能方面进行了一般性描述,并且在上述各种说明性组件、块、模块、电路和过程中进行了说明。这种功能是以硬件还是软件实现取决于特定的应用和对整个系统的设计限制。
用于实现结合本文公开的方面所描述的各种说明性逻辑、逻辑块、模块和电路的硬件和数据处理装置可以用通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被设计成执行本文所描述的功能的其任意组合来实现或执行。通用处理器可以是微处理器或任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、一个或多个与DSP内核结合的微处理器、或者任何其他这样的配置。在一些方面中,特定的过程和方法可以由特定于给定功能的电路来执行。
在一个或多个方面,所描述的功能可以在硬件、数字电子电路、计算机软件、固件(包括本说明书中公开的结构及其等同结构)或其任意组合中实现。本说明书中所描述的主题的方面也可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,该一个或多个计算机程序被编码在计算机存储介质上用于由数据处理装置执行或控制数据处理装置的操作。
如果以软件实现,该功能可以作为一个或多个指令或代码存储或传输到计算机可读介质上。本文公开的方法或算法的过程可以在处理器可执行的软件模块中实现,该软件模块可以驻留在计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括能够将计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机访问的任何可用介质。作为示例而非限制,此计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备,或者可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问的任何其他介质。此外,任何连接都可以被恰当地称为计算机可读介质。本文使用的盘(Disk)和盘(disc)包括高密度光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光光盘,其中盘(Disk)通常磁性地复制数据,而盘(disc)用激光光学地复制数据。以上的组合也应该包括在计算机可读介质的范围内。附加地,方法或算法的操作可以作为机器可读介质和计算机可读介质上的代码和指令的一个或任意组合或集合,其可以被结合到计算机程序产品中。
本公开中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、设备实施例、计算机可读存储介质实施例、以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (16)
1.一种软件测试方法,包括:
确定目标软件所应用的目标地域;
获取所述目标地域的运行环境,所述运行环境包括网络特征;
根据所述目标地域的运行环境,对所述目标软件进行测试。
2.根据权利要求1所述的方法,其中,所述网络特征包括带宽、带宽可用率、网络时延、最大传输单元、连接可靠性、连接稳定性中的至少一种参数。
3.根据权利要求1所述的方法,其中,所述运行环境还包括终端设备类型和操作系统版本。
4.根据权利要求1所述的方法,其中,所述获取目标软件所应用的目标地域的运行环境,包括:
通过查询网络特征数据库,确定所述目标地域的网络特征,其中,所述网络特征数据库存储有多个地域的网络特征。
5.根据权利要求1所述的方法,其中,所述对所述目标软件进行测试,包括:
获取测试针对的目标业务场景;
确定所述目标业务场景对应的组件白名单,其中,所述组件白名单包括至少一个交互组件;
通过随机操作触发所述白名单内的交互组件,以所述目标软件进行测试。
6.根据权利要求5所述的方法,其中,所述对所述目标软件进行测试,还包括:
在测试过程中启动跳转脚本,其中,所述跳转脚本用于在所述随机操作导致当前运行软件从所述目标软件跳转至其他软件时,重新跳转回所述目标软件。
7.根据权利要求5所述的方法,其中,在对所述目标软件进行测试之前,所述方法还包括:
执行所述目标业务场景对应的前置操作。
8.根据权利要求1-7中任一项所述的方法,对所述目标软件进行测试,包括:
监控用于测试的测试设备在测试过程中的性能参数,得到性能监控结果;
根据所述性能监控结果,形成所述目标软件的稳定性评估结果。
9.根据权利要求8所述的方法,其中,所述根据所述性能监控结果,形成所述目标软件的稳定性评估结果,包括:
将测试运行日志、系统崩溃日志和所述性能监控结果输入稳定性评估模型,得到所述稳定性评估结果。
10.根据权利要求9所述的方法,其中,所述稳定性评估模型包括计算式S=P*E*R*B*I,其中S代表稳定性评估结果,P代表性能监控结果对稳定性评估结果的影响参数,E代表系统崩溃结果,R代表测试中交互组件覆盖率的影响参数,B代表终端设备类型修正参数,I代表网络性能参数。
11.根据权利要求10所述的方法,其中,所述测试中交互组件覆盖率的影响参数R根据以下方式确定:
在对特定业务场景进行测试的情况下,按照第一计算方式计算所述测试中交互组件覆盖率的影响参数R;
在对非特定业务场景进行测试的情况下,按照第二计算方式计算所述测试中交互组件覆盖率的影响参数R。
12.根据权利要求10所述的方法,其中,所述性能监控结果包括系统性能稳定性参数和系统资源占用参数。
13.一种软件测试装置,包括:
目标地域确定模块,用于确定目标软件所应用的目标地域;
运行环境获取模块,用于获取所述目标地域的运行环境,所述运行环境包括网络特征;
测试模块,用于根据所述目标地域的运行环境,对所述目标软件进行测试。
14.一种计算机程序产品,包括程序代码指令,当所述程序产品由计算机执行时,所述程序代码指令使所述计算机执行权利要求1-12中的至少一项所述的方法。
15.一种存储有计算机指令的非暂时性计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-12中的至少一项所述的方法。
16.一种电子设备,包括:
处理器,
与所述处理器进行电子通信的存储器;以及
指令,所述指令存储在所述存储器中并且可由所述处理器执行以使所述电子设备执行根据权利要求1-12中的至少一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819859.4A CN117033174A (zh) | 2023-07-05 | 2023-07-05 | 软件测试方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819859.4A CN117033174A (zh) | 2023-07-05 | 2023-07-05 | 软件测试方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033174A true CN117033174A (zh) | 2023-11-10 |
Family
ID=88630716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310819859.4A Pending CN117033174A (zh) | 2023-07-05 | 2023-07-05 | 软件测试方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033174A (zh) |
-
2023
- 2023-07-05 CN CN202310819859.4A patent/CN117033174A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826071B (zh) | 软件漏洞风险预测方法、装置、设备及存储介质 | |
CN107645562A (zh) | 数据传输处理方法、装置、设备及系统 | |
CN110442712B (zh) | 风险的确定方法、装置、服务器和文本审理系统 | |
CN112148582B (zh) | 策略测试方法及装置、计算机可读介质和电子设备 | |
US11037190B2 (en) | Web page performance improvement system | |
CN106155828A (zh) | 用于播放应用程序资源控制方法和设备 | |
CN111240976A (zh) | 软件测试方法、装置、计算机设备及存储介质 | |
CN108156054B (zh) | 云桌面性能的测试方法及装置 | |
CN117033174A (zh) | 软件测试方法、装置、存储介质及电子设备 | |
US20220415046A1 (en) | Method for determining video coding test sequence, electronic device and computer storage medium | |
CN116208516A (zh) | 企业互联网专线感知评估方法、装置、设备及介质 | |
CN110705637A (zh) | 一种基于应用安装列表信息的用户分类的方法、装置和电子设备 | |
CN113032278B (zh) | 应用程序的运行方式、终端设备的等级确认方法及装置 | |
CN111448551A (zh) | 跟踪来自远程设备的应用活动数据并生成用于远程设备的校正动作数据结构的方法和系统 | |
CN112905435B (zh) | 基于大数据的工作量评估方法、装置、设备及存储介质 | |
CN114860563A (zh) | 应用程序测试方法、装置、计算机可读存储介质及设备 | |
US20230013028A1 (en) | Log-based automation testing | |
CN109635226A (zh) | 房地产数据的预警推送方法、服务器及存储介质 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
CN109218411B (zh) | 数据处理方法及装置、计算机可读存储介质、电子设备 | |
Felzmann et al. | Special Session: How much quality is enough quality? A case for acceptability in approximate designs | |
CN116795667A (zh) | 数据评测方法、相关设备、存储介质及程序产品 | |
CN116456431A (zh) | 手机终端获取最优小区的方法及系统 | |
CN116610479A (zh) | 一种自动监测故障方法、装置、电子设备及可读存储介质 | |
CN117453560A (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 |