CN111026650B - 软件测试的方法、装置、存储介质和电子设备 - Google Patents
软件测试的方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN111026650B CN111026650B CN201911159453.8A CN201911159453A CN111026650B CN 111026650 B CN111026650 B CN 111026650B CN 201911159453 A CN201911159453 A CN 201911159453A CN 111026650 B CN111026650 B CN 111026650B
- Authority
- CN
- China
- Prior art keywords
- test
- execution
- execution script
- test case
- target test
- 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
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000012360 testing method Methods 0.000 claims abstract description 327
- 238000013515 script Methods 0.000 claims abstract description 157
- 238000013522 software testing Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011161 development Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 10
- 229910000510 noble metal Inorganic materials 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000010970 precious metal Substances 0.000 description 1
- 230000002035 prolonged effect Effects 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/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
-
- 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
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)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种软件测试的方法、装置、存储介质和电子设备,涉及电子信息技术领域,该方法包括:获取用于对待测软件进行测试的目标测试用例,确定目标测试用例是否存在对应的第一执行脚本,若目标测试用例不存在对应的第一执行脚本,执行用户输入的第一测试指令,根据第一测试指令的执行结果得到目标测试用例的测试结果。本公开根据测试用例是否存在执行脚本来确定该测试用例的测试方式,能够实现测试用例的自动分配、统一管理,提高了测试效率,缩短了开发时长。
Description
技术领域
本公开涉及电子信息技术领域,具体地,涉及一种软件测试的方法、装置、存储介质和电子设备。
背景技术
随着计算机技术和软件开发技术的不断发展,用户可以安装各种各样的软件,以实现不同的需求。软件在设计开发的过程中,需要进行大量的软件测试,以保证软件的质量。通常情况下,软件测试分为人工测试和自动化测试两种类型,针对某个测试任务,管理人员通过分析测试任务中的用例,将测试任务分配给人工测试组或者自动化测试组,两种软件测试方式是分开、割裂的,采用不同的管理方式、不同的工具。而要完成软件测试,需要执行大量的测试用例,依靠人工对这些测试用例进行分配、管理,效率低,延长了开发时间。
发明内容
本公开的目的是提供一种软件测试的方法、装置、存储介质和电子设备,用以解决现有技术中存在的人工分配测试用例,效率低的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种软件测试的方法,所述方法包括:
获取用于对待测软件进行测试的目标测试用例;
确定所述目标测试用例是否存在对应的第一执行脚本;
若所述目标测试用例不存在对应的所述第一执行脚本,执行用户输入的第一测试指令;
根据所述第一测试指令的执行结果得到所述目标测试用例的测试结果。
可选地,所述方法还包括:
录制所述第一测试指令的执行过程,得到所述目标测试用例对应的所述第一执行脚本。
可选地,
所述方法还包括:
若所述目标测试用例存在对应的所述第一执行脚本,获取所述第一执行脚本的使用状态;
若所述第一执行脚本的使用状态为可用状态,执行所述第一执行脚本;
根据所述第一执行脚本的执行结果得到所述目标测试用例的测试结果。
可选地,所述方法还包括:
若所述第一执行脚本的使用状态为不可用状态,执行所述用户输入的第二测试指令,并根据所述第二测试指令的执行结果得到所述目标测试用例的测试结果。
可选地,所述方法还包括:
录制所述第二测试指令的执行过程,得到第二执行脚本;
将所述第二执行脚本作为所述第一执行脚本。
可选地,所述方法还包括:
若所述第一执行脚本执行失败,将所述第一执行脚本的使用状态置为不可用状态。
可选地,所述目标测试用例为多个,所述方法还包括:
生成所述待测软件的测试报告,所述测试报告包括多个所述目标测试用例中每个目标测试用例的测试结果。
根据本公开实施例的第二方面,提供一种软件测试的装置,所述装置包括:
获取模块,用于获取用于对待测软件进行测试的目标测试用例;
确定模块,用于确定所述目标测试用例是否存在对应的第一执行脚本;
执行模块,用于若所述目标测试用例不存在对应的所述第一执行脚本,执行用户输入的第一测试指令;
生成模块,用于根据所述第一测试指令的执行结果得到所述目标测试用例的测试结果。
可选地,所述装置还包括:
录制模块,用于录制所述第一测试指令的执行过程,得到所述目标测试用例对应的所述第一执行脚本。
可选地,所述装置还包括:
状态获取模块,用于若所述目标测试用例存在对应的所述第一执行脚本,获取所述第一执行脚本的使用状态;
所述执行模块,还用于若所述第一执行脚本的使用状态为可用状态,执行所述第一执行脚本;
所述生成模块,还用于根据所述第一执行脚本的执行结果得到所述目标测试用例的测试结果。
可选地,所述执行模块,还用于若所述第一执行脚本的使用状态为不可用状态,执行所述用户输入的第二测试指令,并根据所述第二测试指令的执行结果得到所述目标测试用例的测试结果。
可选地,所述录制模块,还用于录制所述第二测试指令的执行过程,得到第二执行脚本;将所述第二执行脚本作为所述第一执行脚本。
可选地,所述装置还包括:
状态更新模块,用于若所述第一执行脚本执行失败,将所述第一执行脚本的使用状态置为不可用状态。
可选地,所述目标测试用例为多个,所述生成模块,还用于生成所述待测软件的测试报告,所述测试报告包括多个所述目标测试用例中每个目标测试用例的测试结果。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面所述方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第一方面所述方法的步骤。
通过上述技术方案,本公开中首先获取用于对待测软件进行测试的目标测试用例,之后确定是否存在与目标测试用例对应的第一执行脚本,如果目标测试用例没有对应的第一执行脚本,那么执行用户输入的第一测试指令,最后根据第一测试指令的执行结果获取目标测试用例的测试结果。本公开根据测试用例是否存在执行脚本来确定该测试用例的测试方式,能够实现测试用例的自动分配、统一管理,提高了测试效率,缩短了开发时长。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种软件测试的方法的流程图;
图2是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图3是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图4是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图5是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图6是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图7是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图8是根据一示例性实施例示出的一种软件测试的装置的框图;
图9是根据一示例性实施例示出的另一种软件测试的装置的框图;
图10是根据一示例性实施例示出的另一种软件测试的装置的框图;
图11是根据一示例性实施例示出的另一种软件测试的装置的框图;
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的软件测试的方法、装置、存储介质和电子设备之前,首先对本公开各个实施例所涉及应用场景进行介绍。该应用场景可以是任一种安装有待测软件的终端,例如可以是智能手机、平板电脑、智能电视、智能手表、PDA(英文:Personal DigitalAssistant,中文:个人数字助理)、便携计算机等,也可以是台式计算机等固定终端。
图1是根据一示例性实施例示出的一种软件测试的方法的流程图,如图1所示,该方法包括:
步骤101,获取用于对待测软件进行测试的目标测试用例。
举例来说,在对待测软件进行设计开发过程中,针对待测软件的不同功能、不同使用场景建立多个测试任务,其中,每个测试任务中都可以包括一个或多个测试用例,每个测试用例可以包括该测试用例的用例描述(例如:对该测试用例需要执行步骤的描述),还可以包括该测试用例对应的执行脚本。测试人员可以通过选择测试任务,来确定当前要执行的目标测试用例。目标测试用例可以是一个,也可以是多个。
步骤102,确定目标测试用例是否存在对应的第一执行脚本。
步骤103,若目标测试用例不存在对应的第一执行脚本,执行用户输入的第一测试指令。
步骤104,根据第一测试指令的执行结果得到目标测试用例的测试结果。
示例的,确定目标测试用例之后,首先确定是否存在与目标测试用例对应的第一执行脚本。第一执行脚本中可以包含有目标测试用例的用例描述中指明的测试步骤,即通过调用第一执行脚本,终端可以自动执行第一执行脚本中包含的测试步骤。第一执行脚本的格式例如可以是Python、Shell、Javascript、Lua、PHP脚本,本公开对此不作限定。如果存在与目标测试用例对应的第一执行脚本,那么表示目标测试用例可以进行自动化测试,那么可以直接调用该第一执行脚本,以执行第一执行脚本中包含的测试步骤,在完成第一执行脚本后,将执行结果作为目标测试用例的测试结果。如果不存在与目标测试用例对应的第一执行脚本,那么表示目标测试用例无法进行自动化测试,需要用户(例如:测试人员)进行手动测试,手动执行目标测试用例需要执行的步骤。
此时,终端可以发出提示信息,以提示用户输入目标测试用例对应的第一测试指令。用户可以通过终端的操作界面输入第一测试指令,终端获取第一测试指令后,执行第一测试指令。其中,第一测试指令可以是一个指令,也可以是多个指令。当第一测试指令是多个指令时,终端可以获取用户输入的一个指令,执行一个指令,再获取用户输入的下一个指令,执行下一个指令,以此类推,直至用户不再输入新的指令为止。终端也可以获取用户依次输入的多个指令,直至用户不再输入新的指令,之后再依次执行多个指令。本公开对此不作限定。这样,在对待测软件进行测试的过程中,不需要手动对测试用例进行分配和管理,直接根据测试用例是否存在对应的执行脚本就可以将测试用例自动分配为自动化测试或者手动测试。
举个例子,以待测软件为手机银行为例,需要对手机银行的转账功能进行测试,获取到用于对手机银行进行测试的目标测试用例为:转账5000元,相应的用例描述为:打开APP,输入用户名、密码,点击登录,输入转账金额,点击确定。首先确定是否有转账5000元对应的第一执行脚本,若不存在,可以发出提示信息,提示测试人员,由测试人员手动执行:打开APP,输入用户名、密码,点击登录,输入转账金额,点击确定五个步骤,最后将五个步骤执行完成后的执行结果作为转账5000元这个测试用例的测试结果。
综上所述,本公开中首先获取用于对待测软件进行测试的目标测试用例,之后确定是否存在与目标测试用例对应的第一执行脚本,如果目标测试用例没有对应的第一执行脚本,那么执行用户输入的第一测试指令,最后根据第一测试指令的执行结果获取目标测试用例的测试结果。本公开根据测试用例是否存在执行脚本来确定该测试用例的测试方式,能够实现测试用例的自动分配、统一管理,提高了测试效率,缩短了开发时长。
图2是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图2所示,该方法还包括:
步骤105,录制第一测试指令的执行过程,得到目标测试用例对应的第一执行脚本。
为了进一步提高待测软件的测试过程中,自动化的比例,减少用户的工作量,在步骤103执行第一测试指令的同时,还可以对第一测试指令的执行过程进行录制,以得到目标测试用例对应的第一执行脚本。例如,可以在终端上预先安装有用于脚本录制的录制软件(例如:BlazeMeter等),在执行第一测试指令时,通过录制软件将第一测试指令录制为第一执行脚本。这样,在下一次需要测试目标测试用例时,就不需要用户再次输入第一测试指令,而是可以直接执行第一执行脚本,提高了测试效率。
具体地,可以由用户来选择是否对第一测试指令的执行过程进行录制,例如可以设置一个录制开关,当录制开关为打开状态时,录制第一测试指令的执行过程。还可以在录制第一测试指令的执行过程之前,发出一个录制确定信息,在用户点击确定后,再录制第一测试指令的执行过程。
图3是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图3所示,该方法还包括:
步骤106,若目标测试用例存在对应的第一执行脚本,获取第一执行脚本的使用状态。
步骤107,若第一执行脚本的使用状态为可用状态,执行第一执行脚本。
步骤108,根据第一执行脚本的执行结果得到目标测试用例的测试结果。
举例来说,当存在与目标测试用例对应的第一执行脚本时,那么表示目标测试用例可以进行自动化测试。在调用第一执行脚本之前,可以先获取第一执行脚本的使用状态。其中,使用状态可以包括两种:可用状态和不可用状态,可用状态表示第一执行脚本能够正常执行,不可用状态表示第一执行脚本不能正常执行(例如:上一次调用第一执行脚本时未执行通过,或者执行失败)。在创建第一执行脚本时,可以将第一执行脚本的使用状态初始化为可用状态。当第一执行脚本的使用状态为可用状态时,调用第一执行脚本,以执行第一执行脚本中包含的测试步骤,在完成第一执行脚本后,将第一执行脚本的执行结果作为目标测试用例的测试结果。
同样以待测软件为手机银行为例,需要对手机银行的贵金属买卖功能进行测试,获取到用于对手机银行进行测试的目标测试用例有两个:买入某贵金属100股、卖出某贵金属200股。买入某贵金属100股的用例描述为:打开APP,输入用户名、密码,点击登录,输入买入数量,点击确定。卖出某贵金属200股的用例描述为:打开APP,输入用户名、密码,点击登录,输入卖出数量,点击确定。首先确定买入某贵金属100股、卖出某贵金属200股是否有对应的第一执行脚本,若买入某贵金属100股不存在第一执行脚本,那么发出提示信息,提示测试人员,由测试人员手动执行:打开APP,输入用户名、密码,点击登录,输入买入数量,点击确定五个步骤,最后将五个步骤执行完成后的执行结果作为买入某贵金属100股这个测试用例的测试结果。若卖出某贵金属200股存在第一执行脚本,且该第一执行脚本的使用状态为可用状态,那么执行该第一执行脚本,在完成第一执行脚本后,将第一执行脚本的执行结果作为卖出某贵金属200股的测试结果。
图4是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图4所示,该方法还包括:
步骤109,若第一执行脚本的使用状态为不可用状态,执行用户输入的第二测试指令,并根据第二测试指令的执行结果得到目标测试用例的测试结果。
进一步的,在步骤106获取第一执行脚本的使用状态后,若第一执行脚本的使用状态为不可用状态,那么表示目标测试用例无法进行自动化测试,需要用户进行手动测试,手动执行目标测试用例需要执行的步骤。此时,终端可以发出提示信息,以提示用户输入目标测试用例对应的第二测试指令。用户可以通过终端的操作界面输入第二测试指令,终端获取第二测试指令后,执行第二测试指令,并根据第二测试指令的执行结果得到目标测试用例的测试结果。现有技术中,如果采用自动化测试,一旦某个执行脚本不能执行,那么整个测试过程会被中断,需要排查产生错误的原因。而本公开中的实施例,如果目标测试的第一执行脚本不能正确执行,可以继续通过手动测试的方式来测试目标测试用例,不会导致测试过程中断,进一步提高了测试效率。
图5是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图5所示,该方法还可以包括以下步骤:
步骤110,录制第二测试指令的执行过程,得到第二执行脚本。
步骤111,将第二执行脚本作为第一执行脚本。
示例的,为了进一步提高待测软件的测试过程中,自动化的比例,减少用户的参与,在第一执行脚本的使用状态为不可用状态,用户输入了第二测试指令的场景中,还可以对第二测试指令进行录制,以得到第二执行脚本,并将第二执行脚本作为第一执行脚本,即用新生成的第二执行脚本来替换原有的使用状态为不可用状态的第一执行脚本。进一步的,在生成第二执行脚本时,还可以将第二执行脚本的使用状态初始化为可用状态。这样,在下一次需要测试目标测试用例时,就不需要用户再次输入第二测试指令,而是可以直接执行第一执行脚本(即新生成的第二执行脚本),提高了软件测试的测试效率。
图6是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图6所示,该方法还可以包括:
步骤112,若第一执行脚本执行失败,将第一执行脚本的使用状态置为不可用状态。
在步骤108中生成的测试结果,可以包括第一执行脚本的具体执行结果,以转账5000为例,具体执行结果可以包括:成功转账5000、登录失败、用户名错误、密码错误、余额不足等,还可以包括第一执行脚本执行失败的执行结果:中断、没有执行结果等。当第一执行脚本执行失败时,可以将第一执行脚本的使用状态置为不可用状态。这样,在下一次需要测试目标测试用例时,就不会再次出现第一执行脚本失败的情况,而是进入到步骤109,执行用户输入的第二测试指令,不会导致测试过程中断,提高了软件测试的鲁棒性。
图7是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图7所示,在目标测试用例为多个的场景中,该方法还可以包括:
步骤113,生成待测软件的测试报告,测试报告包括多个目标测试用例中每个目标测试用例的测试结果。
具体的,在对待测软件进行测试的过程中,会针对待测软件的不同功能、不同使用场景建立多个测试任务,每个测试任务中都可以包括一个或多个测试用例。在一个测试任务中包含了有多个目标测试用例的场景中,步骤101中获取了该测试任务包含的多个目标测试用例。获取多个目标测试用例后,可以先判断该测试任务的自动化执行率。自动化执行率可以理解为多个目标测试用例中存在使用状态为可用状态的第一执行脚本的目标测试用例的百分比。例如,若全部目标测试用例都存在可用状态的第一执行脚本,那么自动化执行率为100%,若有至少一个目标测试用例不存在第一执行脚本,或者第一执行脚本的使用状态为不可用状态,那么自动化执行率就低于100%。当自动化执行率低于100%时,可以通过终端发送一个提示信息,以提示用户,该测试任务中需要人工参与,以便用户做好预先的准备工作。之后针对每个目标测试用例,依次执行上述的步骤102至步骤112中的步骤,可以得到每个目标测试用例相应的测试结果,多个目标测试用例会有多个测试结果。
为了便于用户(例如:质量检测人员)对该测试任务进行统一地管理,可以根据每个目标测试用例的测试结果,生成统一的测试报告。相比于现有技术中,手动测试和自动化测试各自生成独立的测试报告,格式、内容不统一,用户很难将不同的测试报告整合在一起,增加了管理的工作量。而本公开中的实施例,可以生成统一的测试报告,提高了测试管理的工作效率。
综上所述,本公开中首先获取用于对待测软件进行测试的目标测试用例,之后确定是否存在与目标测试用例对应的第一执行脚本,如果目标测试用例没有对应的第一执行脚本,那么执行用户输入的第一测试指令,最后根据第一测试指令的执行结果获取目标测试用例的测试结果。本公开根据测试用例是否存在执行脚本来确定该测试用例的测试方式,能够实现测试用例的自动分配、统一管理,提高了测试效率,缩短了开发时长。
图8是根据一示例性实施例示出的一种软件测试的装置的框图,如图8所示,该装置200包括:
获取模块201,用于获取用于对待测软件进行测试的目标测试用例。
确定模块202,用于确定目标测试用例是否存在对应的第一执行脚本。
执行模块203,用于若目标测试用例不存在对应的第一执行脚本,执行用户输入的第一测试指令。
生成模块204,用于根据第一测试指令的执行结果得到目标测试用例的测试结果。
图9是根据一示例性实施例示出的另一种软件测试的装置的框图,如图9所示,该装置200还包括:
录制模块205,用于录制第一测试指令的执行过程,得到目标测试用例对应的第一执行脚本。
图10是根据一示例性实施例示出的另一种软件测试的装置的框图,如图10所示,该装置还包括:
状态获取模块206,用于若目标测试用例存在对应的第一执行脚本,获取第一执行脚本的使用状态。
执行模块203,还用于若第一执行脚本的使用状态为可用状态,执行第一执行脚本。
生成模块204,还用于根据第一执行脚本的执行结果得到目标测试用例的测试结果。
可选地,执行模块203,还用于若第一执行脚本的使用状态为不可用状态,执行用户输入的第二测试指令,并根据第二测试指令的执行结果得到目标测试用例的测试结果。
可选地,录制模块205,还用于录制第二测试指令的执行过程,得到第二执行脚本,将第二执行脚本作为第一执行脚本。
图11是根据一示例性实施例示出的另一种软件测试的装置的框图,如图11所示,该装置200还包括:
状态更新模块207,用于若第一执行脚本执行失败,将第一执行脚本的使用状态置为不可用状态。
可选地,目标测试用例为多个,生成模块204,还用于生成待测软件的测试报告,测试报告包括多个目标测试用例中每个目标测试用例的测试结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开中首先获取用于对待测软件进行测试的目标测试用例,之后确定是否存在与目标测试用例对应的第一执行脚本,如果目标测试用例没有对应的第一执行脚本,那么执行用户输入的第一测试指令,最后根据第一测试指令的执行结果获取目标测试用例的测试结果。本公开根据测试用例是否存在执行脚本来确定该测试用例的测试方式,能够实现测试用例的自动分配、统一管理,提高了测试效率,缩短了开发时长。
图12是根据一示例性实施例示出的一种电子设备300的框图。如图12所示,该电子设备300可以包括:处理器301,存储器302。该电子设备300还可以包括多媒体组件303,输入/输出(I/O)接口304,以及通信组件305中的一者或多者。
其中,处理器301用于控制该电子设备300的整体操作,以完成上述的软件测试的方法中的全部或部分步骤。存储器302用于存储各种类型的数据以支持在该电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器302或通过通信组件305发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口304为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件305用于该电子设备300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件305可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的软件测试的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的软件测试的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的软件测试的方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的,以执行上述的软件测试的方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (8)
1.一种软件测试的方法,其特征在于,所述方法包括:
获取用于对待测软件进行测试的目标测试用例;
确定所述目标测试用例是否存在对应的第一执行脚本;
若所述目标测试用例不存在对应的所述第一执行脚本,执行用户输入的第一测试指令;
根据所述第一测试指令的执行结果得到所述目标测试用例的测试结果;
所述方法还包括:
若所述目标测试用例存在对应的所述第一执行脚本,获取所述第一执行脚本的使用状态;
若所述第一执行脚本的使用状态为可用状态,执行所述第一执行脚本;
根据所述第一执行脚本的执行结果得到所述目标测试用例的测试结果;
所述方法还包括:
若所述第一执行脚本的使用状态为不可用状态,执行所述用户输入的第二测试指令,并根据所述第二测试指令的执行结果得到所述目标测试用例的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
录制所述第一测试指令的执行过程,得到所述目标测试用例对应的所述第一执行脚本。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
录制所述第二测试指令的执行过程,得到第二执行脚本;
将所述第二执行脚本作为所述第一执行脚本。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一执行脚本执行失败,将所述第一执行脚本的使用状态置为不可用状态。
5.根据权利要求1或2所述的方法,其特征在于,所述目标测试用例为多个,所述方法还包括:
生成所述待测软件的测试报告,所述测试报告包括多个所述目标测试用例中每个目标测试用例的测试结果。
6.一种软件测试的装置,其特征在于,所述装置包括:
获取模块,用于获取用于对待测软件进行测试的目标测试用例;
确定模块,用于确定所述目标测试用例是否存在对应的第一执行脚本;
执行模块,用于若所述目标测试用例不存在对应的所述第一执行脚本,执行用户输入的第一测试指令;
生成模块,用于根据所述第一测试指令的执行结果得到所述目标测试用例的测试结果;
所述装置还包括:
状态获取模块,用于若所述目标测试用例存在对应的所述第一执行脚本,获取所述第一执行脚本的使用状态;
所述执行模块,还用于若所述第一执行脚本的使用状态为可用状态,执行所述第一执行脚本;
所述生成模块,还用于根据所述第一执行脚本的执行结果得到所述目标测试用例的测试结果;
所述执行模块,还用于若所述第一执行脚本的使用状态为不可用状态,执行所述用户输入的第二测试指令,并根据所述第二测试指令的执行结果得到所述目标测试用例的测试结果。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
8.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911159453.8A CN111026650B (zh) | 2019-11-22 | 2019-11-22 | 软件测试的方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911159453.8A CN111026650B (zh) | 2019-11-22 | 2019-11-22 | 软件测试的方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026650A CN111026650A (zh) | 2020-04-17 |
CN111026650B true CN111026650B (zh) | 2023-12-22 |
Family
ID=70207147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911159453.8A Active CN111026650B (zh) | 2019-11-22 | 2019-11-22 | 软件测试的方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026650B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458653A (zh) * | 2009-01-06 | 2009-06-17 | 浪潮齐鲁软件产业有限公司 | 一种税控收款机自动测试方法 |
CN102541735A (zh) * | 2011-12-28 | 2012-07-04 | 云海创想信息技术(天津)有限公司 | 软件自动化测试方法 |
CN106325889A (zh) * | 2016-09-30 | 2017-01-11 | 北京奇点机智信息技术有限公司 | 数据处理方法及装置 |
CN109783354A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 应用系统的功能测试方法、终端设备及介质 |
-
2019
- 2019-11-22 CN CN201911159453.8A patent/CN111026650B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458653A (zh) * | 2009-01-06 | 2009-06-17 | 浪潮齐鲁软件产业有限公司 | 一种税控收款机自动测试方法 |
CN102541735A (zh) * | 2011-12-28 | 2012-07-04 | 云海创想信息技术(天津)有限公司 | 软件自动化测试方法 |
CN106325889A (zh) * | 2016-09-30 | 2017-01-11 | 北京奇点机智信息技术有限公司 | 数据处理方法及装置 |
CN109783354A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 应用系统的功能测试方法、终端设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111026650A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159049B (zh) | 接口自动化测试方法及系统 | |
CN111026645B (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
WO2021040994A1 (en) | Systems, method, and media for determining security compliance of continuous build software | |
US9280451B2 (en) | Testing device | |
CN107436844B (zh) | 一种接口用例合集的生成方法及装置 | |
US10728136B2 (en) | MCellblock for parallel testing of multiple devices | |
CN112416318B (zh) | 微服务开发方法、装置、存储介质及电子设备 | |
CN110320378B (zh) | 质控测试申请方法、装置、设备及计算机可读存储介质 | |
CN110795353B (zh) | 快应用的调试方法、装置、设备及存储介质 | |
CN112015654A (zh) | 用于测试的方法和装置 | |
CN115437933A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN111061448A (zh) | 日志信息的显示方法、装置、电子设备及存储介质 | |
CN111427776A (zh) | 一种智能设备自动化测试方法及装置 | |
CN111026651B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN108984238B (zh) | 应用程序的手势处理方法、装置及电子设备 | |
CN111026650B (zh) | 软件测试的方法、装置、存储介质和电子设备 | |
CN108563578B (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN107391361A (zh) | 一种pos终端自动测试方法及装置 | |
CN109995931B (zh) | 一种实现自动呼叫的方法及装置 | |
CN115190057A (zh) | 自动化测试方法、装置以及电子设备 | |
CN114036060A (zh) | 用于芯片测试的方法、系统和计算机可读介质 | |
CN113515447A (zh) | 系统自动化测试方法及装置 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN112181802A (zh) | 测试方法及装置 | |
CN116610557B (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 |