CN107038120B - 一种软件测试方法和设备 - Google Patents
一种软件测试方法和设备 Download PDFInfo
- Publication number
- CN107038120B CN107038120B CN201710380997.1A CN201710380997A CN107038120B CN 107038120 B CN107038120 B CN 107038120B CN 201710380997 A CN201710380997 A CN 201710380997A CN 107038120 B CN107038120 B CN 107038120B
- Authority
- CN
- China
- Prior art keywords
- test
- software
- scripts
- testing
- 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.)
- Active
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/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本申请公开了一种软件测试方法和设备,该方法包括:确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。将用于对待测软件进行测试的多组测试脚本分配给不用的测试终端,各组测试脚本用于执行同一测试任务的不同测试环节,使得各测试终端可以分别执行分配到的测试脚本,完成对待测软件的同一测试任务,这样,在对待测软件进行测试时,由于可以使用多个测试终端并行执行同一测试任务对应的测试脚本,因此,可以有效提高软件测试的测试效率。
Description
技术领域
本申请涉及自动化测试领域,尤其涉及一种软件测试方法和设备。
背景技术
在软件开发过程中,通常会通过软件测试来检查软件的性能。在进行软件测试时,可以利用测试工具按照测试方案,在规定的条件下对被测试的软件进行操作,以发现软件错误,衡量软件质量,并对软件是否能满足设计要求进行评估。
通常,现有的软件测试方法可以包括:人工测试以及自动化测试。其中,人工测试是由测试人员手工逐步执行所有的测试任务,并观察每一步是否成功完成;自动化测试则是将由人执行的测试方式转化为由机器执行,可以在正常条件和异常条件下运行被测试的软件,并对运行结果进行评估。
随着敏捷开发的不断发展,软件版本的更新速度也在不断加快,这便对软件测试的测试效率具有较高的要求。然而,在现有技术中,人工测试易受测试人员工作时间等因素的限制,不易实现软件测试的不间断测试,测试效率较低;自动化测试通常仅使用一台机器完成某个测试任务,在测试任务较重时,软件测试耗费的时间较长,测试效率较低。也就是说,现有的软件测试方法测试效率较低。
发明内容
本申请实施例提供一种软件测试方法和设备,用于解决现有的人工测试以及自动化测试在对软件进行测试时,测试效率较低的问题。
本申请实施例提供一种软件测试方法,包括:
确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;
将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。
本申请实施例提供一种软件测试设备,包括:
确定单元,确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;
测试单元,将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。将用于对待测软件进行测试的多组测试脚本分配给不用的测试终端,各组测试脚本用于执行同一测试任务的不同测试环节,使得各测试终端可以分别执行分配到的测试脚本,完成对待测软件的同一测试任务,这样,在对待测软件进行测试时,由于可以使用多个测试终端并行执行同一测试任务对应的测试脚本,因此,可以有效提高软件测试的测试效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种软件测试方法的流程示意图;
图2为本申请实施例提供的另一种软件测试方法的流程示意图;
图3为本申请实施例提供的一种软件测试方法的示意图;
图4为本申请实施例提供的一种软件测试设备的结构示意图。
具体实施方式
现有技术中,随着敏捷开发的流行,软件版本更新速度地不断加快,现有的普通的人工测试方法和单纯的自动化测试方法已经无法满足对软件的测试需求。
其中,现有的这两种方法不能满足的测试需求主要体现在以下几个方面:
(1)不间断稳定性以及性能监控:对生产或测试环境进行24小时不间断测试,监控某些核心性能指标及验证功能的健壮性;
(2)持续化集成:与持续化集成系统结合,当自动构建完成后,自动进行相应测试产生测试报告;
(3)快速回归:随着测试系统复杂程度的增加,以及对敏捷的要求越来越高,要求软件测试方法具有高效快速的验证功能。
本申请实施例提供的软件测试方法,通过改变对软件进行测试的方式,可以满足上述对软件进行测试的测试需求,有效解决现有的人工测试以及自动化测试在对软件进行测试时,不能满足高效性的测试需求的问题。
为了实现本申请的目的,本申请实施例中提供了一种软件测试方法和设备,该方法包括:确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。这样,在对待测软件进行测试时,由于可以使用多个测试终端并行执行同一测试任务对应的测试脚本,因此,可以最大效率地对待测软件进行测试,测试效率较低的问题。
下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的软件测试方法,可以支持多类自动化测试脚本,包括但不限于:iTestin(云测试工具是全球首款移动App自动化云测试软件,基于真实的智能终端设备录制一个测试脚本然后运行,并输出运行结果)、Appnium (一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的)、UiAutomator(用于UI(用户界面)自动化测试,仿真单击、滑动输入文本等操作),等。
除此之外,本申请实施例提供的软件测试方法还可以支持在测试脚本中进行埋点操作,并根据埋点对待测软件中的目标控件进行测试,这样,可以达到更好的性能检测效果。
需要说明的是,本申请实施例提供的软件测试方法,可以用于对安装并运行在移动终端中的APP进行测试,对APP进行测试包括:对APP的回归测试,对APP中包含的各个控件的性能测试,对APP的性能测试,等。
本申请实施例中,所述同一测试任务可以是对APP的回归测试,也可以是对APP中包含的其中一个控件的性能测试,还可以是对APP某项性能指标的测试,这里不做具体限定。所述测试环节可以是在执行同一测试任务时,执行的每一测试步骤。
所述测试终端可以是能够安装并运行软件的移动终端,包括但不限于智能手机,iPad,等。
本申请实施例提供的软件测试方法相较于现有技术而言,主要基于所述测试终端的自动化测试能力,由所述测试终端完成对软件的测试,这样,通过站在所述测试终端的角度对软件进行测试,而不是站在服务器的角度,或模拟器的角度对软件进行测试,可以使得测试结果更加真实有效。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图1为本申请实施例提供的一种软件测试方法的流程示意图。所述方法如下所述。本申请实施例的执行主体可以是测试系统对应的服务器(以下简称服务器)。
步骤101:确定对待测软件进行测试的至少两组测试脚本。
在步骤101中,服务器在对待测软件进行测试之间,可以确定用于对待测软件进行测试的至少两组测试脚本。
本申请实施例中,各组所述测试脚本可以分别用于执行同一测试任务的不同测试环节。例如,各组所述测试脚本可以用于进行一次回归测试,并分别执行所述回归测试中的各个测试环节。
其中,每组所述测试脚本中可以包含一个测试脚本,也可以包含多个测试脚本,若一组所述测试脚本中包含多个测试脚本,那么,包含的多个测试脚本可以是存在关联关系的测试脚本。
所述存在关联关系的测试脚本可以是,在对所述待测软件进行测试时,若对所述待测软件的一个操作与对所述待测软件的另一个操作相关,则,对这两个操作进行测试的测试脚本可以为存在关联关系的测试脚本。例如,对所述待测软件的登录操作,以及对所述待测软件中用户信息的查看操作,由于对所述待测软件中用户信息的查看操作,要在对所述待测软件的登录操作后执行,因此,对这两个操作进行测试的测试脚本可以看作是存在关联关系的测试脚本。
在实际应用中,确定存在关联关系的测试脚本的方法可以是:所述服务器在确定对待测软件进行测试的测试脚本后,对测试脚本进行分析,根据每一个测试脚本的上下文关系,确定测试脚本之间是否存在关联关系。
所述服务器在确定存在关联关系的至少两个测试脚本后,可以将存在关联关系的至少两个测试脚本划分为一组测试脚本。这样,将存在关联关系的至少两个测试脚本划分为一组测试脚本,可以便于执行该组测试脚本进行软件测试。
在本申请实施例中,所述服务器确定对待测软件进行测试的至少两组测试脚本,具体包括:
建立与持续化集成平台之间的连接,所述持续化集成平台用于自动化构建测试环境;
监听所述自动化构建是否完成;
在确定所述自动化构建完成后,确定对待测软件进行测试的至少两组测试脚本。
也就是说,所述服务器在确定对所述待测软件进行测试后:
首先,可以建立与持续化集成平台之间的连接,所述持续化集成平台可以用于用户进行自动化构建测试环境;
具体地,所述服务器可以通过打通与所述持续化集成平台的接口的方式,建立与所述持续化集成平台的连接。所述测试环境可以是各种网络测试环境,在构建所述测试环境时,可以设置测试的网络环境为2G、3G或4G,也可以设置丢包率,还可以设置上下行带宽流量等。
其次,所述服务器可以在所述持续化集成平台中设置程序,在用户自动化构建所述测试环境的过程中,该程序可以用于监听所述用户是否完成自动化构建。
最后,所述服务器在确定自动化构建完成后,可以自动获取用于对所述待测软件进行测试的安装包,并确定用于对所述待测软件进行测试的测试脚本。其中,所述测试脚本可以由所述用户预先选择得到。
本申请实施例中,将所述服务器与所述持续化集成平台建立连接,这样,在用户完成自动化构建后,所述服务器可以自动地执行对所述待测软件的测试,相对于现有技术而言,可以满足对软件测试的持续化集成的需求。
所述服务器在确定对所述待测软件进行测试的测试脚本后,可以按照上述记载的方法,将所述测试脚本划分得到各组所述测试脚本。
所述服务器在使用上述方法确定得到各组所述测试脚本后,可以执行步骤 102。
步骤102:将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。
在步骤102中,所述服务器在确定对所述待测软件进行测试的各组所述测试脚本后,可以将各组所述测试脚本分配给不同的测试终端,这样,各所述测试终端可以分别执行分配得到的各组所述测试脚本,实现对所述待测软件的测试。
其中,各所述测试终端可以由用户在选择各组所述测试脚本时,预先选择得到,这样,所述服务器可以根据所述用户预先选择的各所述测试终端,将各组所述测试脚本进行分配。
需要说明的是,本申请实施例,所述服务器将用于对所述待测软件进行测试的各组测试脚本分配给不同的测试终端分别执行,与现有技术中由所述服务器执行各组所述测试脚本,或由模拟器执行相比,本申请实施例在所述测试终端的角度对所述待测软件进行测试,可以更好地反映用户实际使用所述待测软件的情况,得到的测试结果更加有效。
除此之外,在本申请实施例中,各所述测试终端可以并行执行分配得到的各组所述测试脚本,这样,相较于现有技术而言,由于可以使用不同的测试终端并行执行所述待测软件的各组所述测试脚本,可以有效提高软件测试的测试效率。
在本申请提供的另一实施例中,将各组所述测试脚本分别分配给不同的测试终端,具体包括:
确定各组所述测试脚本的代码量;
按照所述代码量,将各组所述测试脚本分配给不同的所述测试终端,各所述测试终端分配得到至少一组所述测试脚本,各所述测试终端分配得到的所述测试脚本的代码量相同。
也就是说,所述服务器在将各组所述测试脚本分配给不同的所述测试终端之前,可以确定各组所述测试脚本中的代码量(即步骤量),并按照各组所述测试脚本中包含的代码量,将各组所述测试脚本分配给各所述测试终端。
本申请实施例中,所述服务器在将各组所述测试脚本按照代码量分配给各所述测试终端后,每个所述测试终端可以分配得到至少一组所述测试脚本,且,各所述测试终端执行分配得到的所述测试脚本的时间可以相同。这样,通过将各组所述测试脚本按照代码量分配给各所述测试终端,且各所述测试终端执行分配到的各组所述测试脚本的时间可以相同,因此,可以最大效率地对待测软件进行测试,进一步提高软件测试的效率。
在本申请提供的又一实施例中,各组所述测试脚本中的一个或多个所述测试脚本中还可以设置有埋点,其中,所述埋点的位置可以是所述测试脚本中用于执行所述待测软件中目标控件的位置,这样,在所述测试终端执行设置有所述埋点的所述测试脚本,并执行到所述埋点时,可以实现对所述目标控件的测试。
具体地,所述服务器在确定所述测试终端在执行所述测试脚本至所述埋点时,可以启动计时器、性能检测器等,这样,当所述服务器在监听到所述目标控件时,可以记录所述埋点的结果,这样,可以通过所述埋点实现对所述目标控件的测试。
本申请实施例中,所述服务器在确定各所述测试终端执行完成分配得到的所述测试脚本后,可以指示各所述测试终端按照设定时间,重复执行分配得到的所述测试脚本,这样,各所述测试终端可以按照所述设定时间,对所述待测软件进行重复测试,以满足对所述待测软件进行不间断测试的测试需求。
其中,所述设定时间可以是2~3分钟,还可以是其他时间,具体可以根据实际情况确定,本申请实施例不做具体限定。
所述服务器在确定各所述测试终端每执行完成一次分配得到的所述测试脚本后,均可以将各所述测试终端的测试结果进行记录,其中,所述测试结果可以包含对所述待测软件的测试结果,也可以包含对所述目标控件的测试结果。
所述服务器在记录所述测试结果后,可以根据所述测试结果是否符合预期测试结果。
其中,所述预期测试结果可以是所述待测软件(可以包括所述目标控件) 满足质量要求和/或性能要求时对应的测试结果,所述预期测试结果由服务器预先确定得到,所述测试结果可以是各所述测试终端执行一次分配得到的所述测试脚本得到的一次测试结果,也可以是各所述测试终端重复执行多次分配得到的所述测试脚本得到的多次测试结果。
例如,所述预期测试结果可以是所述测试脚本的执行通过率,所述服务器在确定所述测试结果中的所述测试脚本的实际执行通过率小于预期的执行通过率时,可以确定所述测试结果不符合所述预期测试结果。
本申请实施例中,所述服务器在确定所述测试结果不符合所述预期测试结果时,可以进行预警。其中,预警的方式可以是向用户发送短信,也可以是向所述用户发送邮件,等,这里不做具体限定。
本申请实施例提供的软件测试方法,将用于对待测软件进行测试的多组测试脚本分配给不同 的测试终端,各组测试脚本用于执行同一测试任务的不同测试环节,使得各测试终端可以分别执行分配到的测试脚本,完成对待测软件的同一测试任务,这样,在对待测软件进行测试时,由于可以使用多个测试终端并行执行同一测试任务对应的测试脚本,因此,可以有效提高软件测试的测试效率。
实施例2
图2为本申请实施例提供的另一种软件测试方法的流程示意图。所述方法如下所述。本申请实施例的执行主体可以是服务器。
步骤201:建立与持续化集成平台之间的连接。
其中,所述持续化集成平台用于自动化构建测试环境。
步骤202:监听用户在所述持续化集成平台中的自动化构建是否完成。
若是,则执行步骤203;若否,则可以循环执行步骤202。
步骤203:确定对待测软件进行测试的至少两组测试脚本。
其中,各组所述测试脚本分别用于执行同一测试任务的不同测试环节。
步骤204:确定各组所述测试脚本的代码量,按照所述代码量,将各组所述测试脚本分配给不同的所述测试终端。
这样,所述测试终端可以分别执行各组所述测试脚本,对所述待测软件进行测试。
其中,所述服务器在按照所述代码量,将各组所述测试脚本分配给不同的所述测试终端后,各所述测试终端可以分配得到至少一组所述测试脚本,各所述测试终端分配得到的所述测试脚本的代码量可以相同。
步骤205:指示各所述测试终端按照设定时间,重复执行分配得到的所述测试脚本。
所述服务器在确定各所述测试终端每执行完成一次分配得到的所述测试脚本后,可以指示各所述测试终端按照设定时间,重复执行分配得到的所述测试脚本,这样,所述各所述测试终端可以按照所述设定时间对所述待测软件进行重复测试。
步骤206:在确定所述测试终端执行完成分配得到的所述测试脚本后,记录各所述测试终端的测试结果。
步骤207:根据所述测试结果,确定所述测试结果是否符合预期测试结果。
在步骤207中,所述服务器若确定所述测试结果不符合预期测试结果,则执行步骤208;若确定所述测试结果符合预期测试结果,则执行步骤209。
步骤208:进行预警。
步骤209:结束。
本申请实施例 提供的软件测试方法,服务器与持续化集成平台建立连接,在自动化构建完成后,可以自动对待测软件进行测试,满足对待测软件进行自动化测试的需求;使用多个测试终端并行执行同一测试任务对应的测试脚本,可以有效提高软件测试的测试效率;将各组测试脚本按照代码量分配给各测试终端,使得各测试终端分配得到的测试脚本的代码量相同,这样,各测试终端执行分配得到的测试脚本的时间相同,可以最大效率地实现对待测软件的测试,进一步提高测试效率;服务器在确定各测试终端执行完成一次分配得到的测试脚本后,指示各测试终端重复执行分配得到的测试脚本,可以满足对软件不间断测试的需求。
实施例3
图3为本申请实施例提供的一种软件测试方法的示意图。图3所示的软件测试方法的示意图可以应用于图1所记载的实施例,也可以用于图2所记载的实施例。其中,在图3中,所述测试终端可以是智能手机。
如图3所示,服务器与持续化集成平台建立连接,并监听用户在持续化集成平台中的自动化构建事件,服务器在确定自动化构建完成后,确定用户预先选择的用于对待测软件进行测试的各组测试脚本以及各个智能手机。其中,确定的各组测试脚本可以用于执行回归测试的不同测试环节。
其中,各组测试脚本分别是A组测试脚本、B组测试脚本、C组测试脚本以及D组测试脚本,各个智能手机分别是智能手机1、智能手机2以及智能手机3。
服务器在确定各组测试脚本后,可以按照各组测试脚本的代码量,将各组测试脚本分配给各个智能手机。其中,A组测试脚本的代码量等于B组测试脚本的代码量以及C组测试脚本的代码量的和,等于D组测试脚本的代码量,那么,可以将A组测试脚本分配给智能手机1,将B组测试脚本以及C组测试脚本分配给智能手机2,将D组测试脚本分配给智能手机3(参见图3)。
这样,服务器可以通过adb(英文全称:Android Debug Bridge,中文名称:安卓调试桥)的方式驱动各个智能手机并行执行分配得到的测试脚本,具体地,智能手机1可以执行A组测试脚本,智能手机2可以执行B组测试脚本以及C 组测试脚本,智能手机3可以执行D组测试脚本。
各个智能手机在执行测试脚本后,服务器可以记录各个智能手机的测试结果,并根据测试结果对待测软件进行评估。
本申请实施例提供的软件测试方法,将用于对待测软件进行回归测试的 A-D组测试脚本按照代码量分配给不用的智能手机,使得各测试终端可以分并行执行分配到的测试脚本,且,每个智能手机执行测试脚本的时间相同,这样,在对待测软件进行回归测试时,由于可以使用多个智能手机并行执行回归测试对应的测试脚本,且每个智能手机执行测试脚本的时间相同,因此,可以最大效率的实现对待测软件 的回归测试,有效提高软件测试的测试效率。
实施例4
图4为本申请实施例提供的一种软件测试设备的结构示意图。所述软件测试设备包括:确定单元41以及测试单元42,其中:
确定单元41,确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;
测试单元42,将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试。
具体地,所述确定单元41确定对待测软件进行测试的至少两组测试脚本,包括:
建立与持续化集成平台之间的连接,所述持续化集成平台用于自动化构建测试环境;
监听所述自动化构建是否完成;
在确定所述自动化构建完成后,确定对待测软件进行测试的至少两组测试脚本。
具体地,所述测试单元42将各组所述测试脚本分别分配给不同的测试终端,包括:
确定各组所述测试脚本的代码量;
按照所述代码量,将各组所述测试脚本分配给不同的所述测试终端,各所述测试终端分配得到至少一组所述测试脚本,各所述测试终端分配得到的所述测试脚本的代码量相同。
本申请实施例中,所述确定单元41确定的所述测试脚本中设置有埋点,所述埋点的位置为所述测试脚本中用于执行所述待测软件中目标控件的位置,所述埋点用于在所述测试终端执行所述测试脚本至所述埋点的位置时,对所述目标控件进行测试。
本申请提供的另一实施例中,所述软件测试设备还包括:指示单元43,其中:
所述指示单元43,在确定各所述测试终端执行完成分配得到的所述测试脚本后,指示各所述测试终端按照设定时间,重复执行分配得到的所述测试脚本,以便于各所述测试终端按照所述设定时间对所述待测软件进行重复测试。
所述软件测试设备还包括:记录单元44,其中:
所述记录单元44,在确定所述测试终端执行完成分配得到的所述测试脚本后,记录各所述测试终端的测试结果,所述测试结果包含对所述待测软件的测试结果和/或对所述目标控件的测试结果。
所述软件测试设备还包括:预警单元45,其中:
所述预警单元45,在所述记录单元44记录测试结果后,根据所述测试结果,确定所述测试结果是否符合预期测试结果;
若否,则进行预警。
需要说明的是,本申请实施例提供的所述软件测试设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (5)
1.一种软件测试方法,其特征在于,包括:
通过打通与持续化集成平台的接口的方式,建立与持续化集成平台之间的连接,所述持续化集成平台用于自动化构建测试环境;
服务器在所述持续化集成平台中设置程序,在用户自动化构建所述测试环境的过程中,该程序用于监听所述自动化构建是否完成;
所述服务器在确定所述自动化构建完成后,自动获取用于对待测软件进行测试的安装包,并确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;
确定各组所述测试脚本的代码量;
按照所述代码量,将各组所述测试脚本分别分配给不同的测试终端,各所述测试终端分配得到至少一组所述测试脚本,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试;
在确定各所述测试终端执行完成分配得到的所述测试脚本后,指示各所述测试终端按照设定时间,重复执行分配得到的所述测试脚本,以便于各所述测试终端按照所述设定时间对所述待测软件进行重复测试;
在确定所述测试终端执行完成分配得到的所述测试脚本后,记录各所述测试终端的测试结果;
根据所述测试结果,确定所述测试结果是否符合预期测试结果;
若否,则进行预警;
其中,所述测试脚本中设置有埋点,所述埋点的位置为所述测试脚本中用于执行所述待测软件中目标控件的位置,所述埋点用于在所述测试终端执行所述测试脚本至所述埋点的位置时,对所述目标控件进行测试;所述服务器在确定所述测试终端在执行所述测试脚本至所述埋点时,启动计时器、性能检测器,当所述服务器在监听到所述目标控件时,记录所述埋点的结果,通过所述埋点实现对所述目标控件的测试。
2.如权利要求1所述的软件测试方法,其特征在于,各所述测试终端分配得到至少一组所述测试脚本,各所述测试终端分配得到的所述测试脚本的代码量相同。
3.如权利要求1所述的软件测试方法,其特征在于,
所述测试结果包含对所述待测软件的测试结果和/或对所述目标控件的测试结果。
4.一种软件测试设备,其特征在于,包括:
确定单元,确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;
测试单元,将各组所述测试脚本分别分配给不同的测试终端,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试;
指示单元,在确定各所述测试终端执行完成分配得到的所述测试脚本后,指示各所述测试终端按照设定时间,重复执行分配得到的所述测试脚本,以便于各所述测试终端按照所述设定时间对所述待测软件进行重复测试;
记录单元,在确定所述测试终端执行完成分配得到的所述测试脚本后,记录各所述测试终端的测试结果;
预警单元,在所述记录单元记录测试结果后,根据所述测试结果,确定所述测试结果是否符合预期测试结果;
若否,则进行预警;
其中,所述确定单元确定对待测软件进行测试的至少两组测试脚本,包括:
通过打通与持续化集成平台的接口的方式,建立与持续化集成平台之间的连接,所述持续化集成平台用于自动化构建测试环境;
服务器在所述持续化集成平台中设置程序,在用户自动化构建所述测试环境的过程中,该程序用于监听所述自动化构建是否完成;
所述服务器在确定所述自动化构建完成后,自动获取用于对待测软件进行测试的安装包,并确定对待测软件进行测试的至少两组测试脚本,各组所述测试脚本分别用于执行同一测试任务的不同测试环节;
所述测试单元将各组所述测试脚本分别分配给不同的测试终端,包括:
确定各组所述测试脚本的代码量;
按照所述代码量,将各组所述测试脚本分配给不同的所述测试终端,各所述测试终端分配得到至少一组所述测试脚本,以便各所述测试终端分别执行各组所述测试脚本,对所述待测软件进行测试;
其中,所述测试脚本中设置有埋点,所述埋点的位置为所述测试脚本中用于执行所述待测软件中目标控件的位置,所述埋点用于在所述测试终端执行所述测试脚本至所述埋点的位置时,对所述目标控件进行测试;服务器在确定所述测试终端在执行所述测试脚本至所述埋点时,启动计时器、性能检测器,当所述服务器在监听到所述目标控件时,记录所述埋点的结果,通过所述埋点实现对所述目标控件的测试。
5.如权利要求4所述的软件测试设备,其特征在于,各所述测试终端分配得到至少一组所述测试脚本,各所述测试终端分配得到的所述测试脚本的代码量相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710380997.1A CN107038120B (zh) | 2017-05-25 | 2017-05-25 | 一种软件测试方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710380997.1A CN107038120B (zh) | 2017-05-25 | 2017-05-25 | 一种软件测试方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107038120A CN107038120A (zh) | 2017-08-11 |
CN107038120B true CN107038120B (zh) | 2020-05-29 |
Family
ID=59539841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710380997.1A Active CN107038120B (zh) | 2017-05-25 | 2017-05-25 | 一种软件测试方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107038120B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109825A (zh) * | 2019-04-12 | 2019-08-09 | 平安普惠企业管理有限公司 | 线上预警方法及相关装置 |
CN110209593B (zh) * | 2019-06-14 | 2021-05-28 | 南京大学 | 一种面向偏好设置的安卓应用测试方法 |
CN112260882B (zh) * | 2019-07-02 | 2022-06-24 | 北京融核科技有限公司 | 一种可快速部署的移动应用和网络服务集成测试装置及其方法 |
CN112286834B (zh) * | 2020-12-31 | 2021-04-16 | 智道网联科技(北京)有限公司 | 多设备软件测试方法、测试装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577907A (zh) * | 2012-07-24 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种持续集成测试方法和系统 |
CN104375937A (zh) * | 2014-11-19 | 2015-02-25 | 福建亿榕信息技术有限公司 | 一种自动化测试结果持续集成整合方法及系统 |
CN104850499A (zh) * | 2015-06-10 | 2015-08-19 | 北京华力创通科技股份有限公司 | 基带软件的自动化测试方法及装置 |
CN105446878A (zh) * | 2015-11-09 | 2016-03-30 | 上海爱数信息技术股份有限公司 | 一种持续的程序自动化测试方法 |
CN106383786A (zh) * | 2016-09-27 | 2017-02-08 | 北京金山安全软件有限公司 | 一种接口压力性能测试方法、装置及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609352B (zh) * | 2011-01-19 | 2014-11-19 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
EP2783284B1 (en) * | 2011-11-22 | 2019-03-13 | Solano Labs, Inc. | System of distributed software quality improvement |
CN202799166U (zh) * | 2012-10-08 | 2013-03-13 | 北京云测信息技术有限公司 | 移动应用网络测试系统 |
CN102981951B (zh) * | 2012-11-01 | 2016-03-09 | 珠海金山网络游戏科技有限公司 | 云测试开发平台及云测试开发方法 |
CN104424099B (zh) * | 2013-08-30 | 2017-12-12 | 上海复旦微电子集团股份有限公司 | 软件测试方法及系统 |
CN103530231B (zh) * | 2013-10-12 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
IN2013CH04617A (zh) * | 2013-10-14 | 2015-04-24 | Cognizant Technology Solutions India Pvt Ltd | |
CN106681924B (zh) * | 2016-12-30 | 2019-12-03 | 深圳市麦游互动科技有限公司 | 一种软件测试方法及系统 |
-
2017
- 2017-05-25 CN CN201710380997.1A patent/CN107038120B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577907A (zh) * | 2012-07-24 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种持续集成测试方法和系统 |
CN104375937A (zh) * | 2014-11-19 | 2015-02-25 | 福建亿榕信息技术有限公司 | 一种自动化测试结果持续集成整合方法及系统 |
CN104850499A (zh) * | 2015-06-10 | 2015-08-19 | 北京华力创通科技股份有限公司 | 基带软件的自动化测试方法及装置 |
CN105446878A (zh) * | 2015-11-09 | 2016-03-30 | 上海爱数信息技术股份有限公司 | 一种持续的程序自动化测试方法 |
CN106383786A (zh) * | 2016-09-27 | 2017-02-08 | 北京金山安全软件有限公司 | 一种接口压力性能测试方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107038120A (zh) | 2017-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038120B (zh) | 一种软件测试方法和设备 | |
CN104765678B (zh) | 对移动终端设备上的应用进行测试的方法及装置 | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN107590075B (zh) | 一种软件测试方法及装置 | |
CN106886493B (zh) | 一种自动化测试系统的建立方法与装置 | |
CN111224845A (zh) | 一种基于物联网云的设备自动化测试系统及方法 | |
CN110532021B (zh) | 分布式控制系统的组态文件的处理方法、客户端及服务装置 | |
US20140379934A1 (en) | Managing a network connection for use by a plurality of application program processes | |
CN107220165A (zh) | 一种模拟线上压力测试的方法和装置 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
KR101794016B1 (ko) | 분산 컴퓨팅 기반의 어플리케이션 객체 분석 방법, 이를 수행하는 어플리케이션 객체 분석 서버 및 이를 저장하는 기록매체 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
CN112559313A (zh) | 测试用例的设置方法及装置、存储介质、电子设备 | |
CN104679648A (zh) | 跨应用的自动化测试方法 | |
CN115757138A (zh) | 脚本异常原因的确定方法、装置、存储介质以及电子设备 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN115495381A (zh) | 交互场景的测试方法、系统、处理器及电子设备 | |
CN113933623A (zh) | 充电桩负载功率的分配方法、装置、存储介质及处理器 | |
CN114328196A (zh) | 数据防泄漏系统的测试方法、装置、设备及存储介质 | |
CN108845932B (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 | |
CN112131102A (zh) | 一种微服务模式下的软件项目管理系统及设备、介质 | |
CN110888809A (zh) | 一种测试任务的风险预测方法及装置 | |
CN110633214A (zh) | 一种内部测试报文的配置方法及装置 | |
CN111026632A (zh) | 一种性能测试方法、存储介质、电子设备及系统 | |
EP2685381B1 (en) | Coordinated testing |
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 |