CN115185822A - 软件测试方法和装置、存储介质及电子装置 - Google Patents
软件测试方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115185822A CN115185822A CN202210711760.8A CN202210711760A CN115185822A CN 115185822 A CN115185822 A CN 115185822A CN 202210711760 A CN202210711760 A CN 202210711760A CN 115185822 A CN115185822 A CN 115185822A
- Authority
- CN
- China
- Prior art keywords
- test
- target
- points
- test point
- software
- 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
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/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
- 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/3692—Test management for test results analysis
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是根据本申请实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种软件测试方法。可选地,在本实施例中,上述软件测试方法可以应用于如图1所示的由测试设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与测试设备102进行连接,可用于为测试设备或测试设备上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(WirelessFidelity,无线保真),蓝牙。测试设备102可以但不限定于为以下至少之一的设备:PC(PersonalComputer,个人计算机)机,智能手机(例如,Android手机、iOS手机等),平板电脑,掌上电脑以及移动互联网设备(MobileInternetDevices,MID),PAD等。
可选地,本申请实施例的软件测试方法可以由服务器104、测试设备102单独来执行,还可以是由服务器104、测试设备102两者共同执行。其中,测试设备102执行本申请实施例的软件测试方法也可以是由安装在其上的客户端来执行。
以由测试设备102来执行本实施例中的软件测试方法为例,图2是根据本申请实施例的一种可选的软件测试方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点。
本实施例中的软件测试方法可以应用到对软件代码进行测试的场景中。上述的测试设备可以为智能设备,例如智能手机、智能电脑等设备。在测试设备上或者在服务器上可以保存有待测试软件,通过测试设备可以对待测试软件的软件功能进行测试,例如,通过目标测试应用来对待测试软件的软件代码进行测试,上述测试可以是基于待测试软件的软件代码中所标记出的测试点所进行的测试。
可选地,对于待测试软件的软件代码进行测试可以分为测试分析阶段和测试执行阶段,其中,在测试分析阶段可以包括:模块划分和代码逻辑分析;根据逻辑关系在模块和模块间设立测试点;在代码中标记测试点。
其中,测试需求分析主要包括:模块的基本功能测试点,包含代码事务处理的输入和输出测试点;模块之间的归属/分支关系测试点;模块异常处理测试点。按照分析得到的测试点,可以逐一在模块代码中标记测试点。
在使用目标测试应用对待测试软件的软件代码进行测试时,可以在目标测试应用的测试界面上显示第一测试点列表,这里,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点。上述多个第一测试点是在满足测试点查找条件时从待测试软件的软件代码中查找到的。
第一测试点可以是包含软件代码的各个模块的基本功能的测试点,例如,软件代码事务处理的输入和输出测试点,也可以是各个模块之间的归属关系或者分支关系的测试点,还可以是各个模块中的异常处理测试点,或者是测试人员根据需要在软件代码的各个模块中设立的测试点,本实施例中对此不做限定。
第一测试点的测试点信息可以是第一测试点的类别信息,也可以是第一测试点的在软件代码中的位置信息,还可以包括测试点的历史测试结果的信息,本实施例中对此不做限定。
可选地,第一测试点列表可以是在获取到多个第一测试点的测试点信息之后,根据第一测试点对应测试点信息生成的。上述生成第一测试点列表的过程,可以是根据测试点信息中所包括的测试点对应的类别信息对多个第一测试点进行分类,将相同类别的测试点显示在第一测试点列表的相同的位置区域,也可以是根据测试点信息中所包括的测试点对应的位置信息,将多个第一测试点按照在软件代码中的先后顺序显示在第一测试点列表中,还可以是根据测试点信息中所包括的测试点对应的类别信息以及位置信息,先将相同类别的测试点显示在第一测试点列表的相同的位置区域中,再对相同位置区域中的多个第一测试点按照在软件代码中的先后顺序显示在第一测试点列表中,本实施例中对此不做限定。
在本实施例中,第一测试点列表中显示的第一测试点的测试点信息与软件代码中的第一测试点一一对应并相互之间具有映射关系,当第一测试点列表中的测试点的测试点信息被选中时,软件代码中与之相对应的测试点也会被选中。同理,当软件代码中的测试点被选中时,第一测试点列表中与之对应的测试点信息也会被选中。此外,当测试人员在点击第一测试点列表中显示的某一测试点的测试点信息后,可以将测试界面中的软件代码跳转到与点击的测试点信息所对应的测试点所在的位置。
为了使得测试人员能够更好的根据测试需求,从软件代码中确定出满足测试需求的测试点,目标测试应用的测试界面上除了可以显示第一测试点列表外,还可以显示待测试软件的软件代码,可选地,如图3所示,图3中的第一区域可以显示第一测试点列表,图3中的第二区域可以实现待测试软件的软件代码,如图4所示,测试界面上除了可以显示第一测试点列表的第一区域以及可以实现待测试软件的软件代码的第二区域外,还可以设定一个可以自定义显示的内容的第三区域,例如,可以将第三区域设定为显示测试结果的区域,本实施例中对此不做限定。
需要说明的是,在将待测试软件的软件代码中所标记出的测试点显示在第一测试点列表之后,目标测试应用还可以根据测试人员的需求,实时的对第一测试点列表进行更新,例如,当测试人员在待测试软件的测试代码中添加测试点之后,可以将添加的新测试点的测试点信息更新到第一测试点列表中。
步骤S204,响应于对第一测试点列表执行的第一选取操作,从多个第一测试点中确定出待测试的一组目标测试点。
在本实施例中,对于多个第一测试点,测试人员可以通过对第一测试点列表执行第一选取操作,从多个第一测试点中选取出待测试的第一测试点,即,待测试的一组目标测试点。当目标测试应用检测到上述的第一选取操作后,可以对第一选取操作进行响应,从多个第一测试点中确定出待测试的一组目标测试点。
可选地,如图5所示,在第一测试点列表中每个第一测试点前方都会具有相对应的选取按钮(例如,勾选框),测试人员可以根据自身的测试需求从第一测试点列表中选取一组目标测试点,上述目标测试点可以是第一测试点列表所包括的多个第一测试点中满足测试需求的一组测试点。
上述从第一测试点列表中选取一组目标测试点的过程,可以是根据测试需求,在第一测试点列表所包括的多个第一测试点中满足测试需求的一组测试点前方的选取按钮进行选取操作,从而得到一组目标测试点,上述通过选取按钮选取第一测试点的过程,可以是对选取按钮执行点击操作,也可以是对选取按钮执行框选操作,本实施例中对此不做限定。
可选的,在第一测试点列表中,除了在每个第一测试点前方具有选取按钮之外,还可以根据第一测试点的测试点信息的不同,将其分为多个不同的类别,在每一个类别前都会具有一个类别选取按钮,当对类别选取按钮执行点击操作或者框选操作后,或将该类别中的所有的第一测试点都选取,也就是说,会将该类别选取按钮所包括的所有的第一测试点都确定为目标测试点。
例如,如图5所示,在将图中的选取按钮A执行选取操作后,会将选取按钮A下所包括的测试点a、b、c和d都选取为待测试点(即,上述的目标测试点)。
步骤S206,根据一组目标测试点的测试点信息,生成第一测试脚本,其中,第一测试脚本用于对一组目标测试点进行测试。
本实施例中,在确定一组目标测试点之后,可以根据一组目标测试点的测试点信息,生成第一测试脚本,生成的第一测试脚本可以用于对一组目标测试点进行测试。例如,可以预先为不同的测试点定制对应的测试脚本,基于一组目标测试点的测试点信息可以获取各个目标测试点的测试脚本,得到一组测试脚本,从而根据一组测试脚本,可以生成第一测试脚本。可选地,也可以是基于选取的目标测试点的测试点信息所编写对应的测试脚本。本实施例中对于生成第一测试脚本的方式不做限定。
可选地,上述一组目标测试点的测试点信息中可以包括对该测试点进行测试所需要的测试脚本对应的测试脚本信息,根据每个目标测试点的测试点信息中的测试脚本信息,可以定位出每个目标测试点的测试脚本,从而得到一组测试脚本。根据一组测试脚本生成第一测试脚本的方式可以是:将一组测试脚本按照对应的目标测试点在软件代码中的顺序进行拼接,生成第一测试脚本。
由于在不同的测试环境下,对测试点进行测试所需要的测试脚本也会是不同的,可选地,每个目标测试点的测试点信息中可以包括在不同测试环境下对该目标测试点进行测试所需要的测试脚本的测试脚本信息。
例如,测试点信息中可以包括在第一测试环境下对该测试点进行测试的第一测试脚本信息以及在第二测试环境下对该测试点进行测试的第二测试脚本信息,目标测试应用可以根据当前的测试环境选择对应的测试脚本信息,从而定位出对应的测试脚本,进而基于定位到的测试脚本对测试点进行测试。
步骤S208,使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果。
在生成第一测试脚本之后,可以使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果。第一测试结果可以包含每个目标测试点的测试结果,也可以仅包含测试未通过的测试点的测试结果,还可以仅包含测试通过的测试点的测试结果。在得到第一测试结果之后,可以对第一测试结果进行分析,得出测试结论。如果测试通过,则测试结果正常,如果测试不通过,则测试结果异常,可以打印出一组目标测试点中标记为测试异常的异常测试点。
上述一组目标测试点中的每个目标测试点都对应软件代码中的部分软件代码,上述使用第一测试脚本对一组目标测试点进行测试的过程,指的并不是对软件中的目标测试点进行测试,而是对目标测试点所包括的软件代码进行测试。当目标测试点的测试结果显示通过时,则代表着该目标测试点前的软件代码测试通过,当目标测试点的测试结果显示未通过时,可能是该目标测试点前的软件代码测试未通过,有可能是该目标测试点所包括的软件代码测试未通过,本实施例中对此不做限定。
通过上述步骤S202至步骤S208,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;响应于对第一测试点列表执行的第一选取操作,从多个第一测试点中确定出待测试的一组目标测试点;根据一组目标测试点的测试点信息,生成第一测试脚本,其中,第一测试脚本用于对一组目标测试点进行测试;使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果,解决了相关技术中通过预先设置固定的可测试接口进行软件测试方法存在由于软件测试的效率较的问题,提高了软件的测试效率。
在一个示例性实施例中,在目标测试应用的测试界面上显示第一测试点列表之前,上述方法还包括:
S11,向目标服务器发送第一获取请求,其中,第一获取请求用于请求获取待测试软件的软件代码中与第一对象对应的测试点,第一对象为使用目标测试应用进行测试的对象;
S12,接收目标服务器响应第一获取请求所返回的第一响应消息,其中,第一响应消息中携带有多个第一测试点的测试点信息。
由于在软件测试的过程中,为了提高软件测试的效率,一般都会采用多人同时参与到软件测试中。并且在测试过程中,每个人所负责测试的软件模块也会是不同的,进而使得测试人员在对软件代码进行测试的过程中,实际上只需要对其软件代码中的部分软件代码进行测试,而不需要对全部的软件代码进行测试。
可选地,可以为不同的测试人员配置所需测试的测试点。在进行软件测试时,可以通过手动拉取或者自动触发的方式从服务器拉取所需测试的测试点。为了获取与第一对象对应的测试点,可以向目标服务器发送第一获取请求,第一获取请求用于请求获取待测试软件的软件代码中与第一对象对应的测试点,第一对象为使用目标测试应用进行测试的对象。
在接收到第一获取请求之后,目标服务器可以对接收到的第一获取请求做出响应。可选地,可以确定与第一对象所对应的测试点,得到一组目标测试点,并向目标测试应用返回与第一获取请求对应的第一响应消息,第一响应消息中携带有多个第一测试点的测试点信息。在接收到第一响应消息之后,目标测试应用可以根据第一响应消息中携带的多个第一测试点的测试点信息,在测试界面上显示与第一对象对应的第一测试点列表。
例如,如果测试人员负责测试的是软件中的第一模块,当测试人员使用其账号和密码登录目标测试应用时,目标测试应用的测试点列表上只显示出与第一模块相关的测试点,而不会显示与其他模块相关的测试点。如果测试人员测试的是软件中的第二模块,当测试人员使用其账号和密码登录目标测试应用时,目标测试应用的测试点列表上只显示出与第二模块相关的测试点,而不会显示与其他模块相关的测试点。
通过本实施例,在不同测试人员的测试界面上显示与其对应的一组测试点的测试点列表,可以使得测试人员根据自身的需求对待测试软件的代码进行精准地测试,进而提高了软件测试的效率。
在一个示例性实施例中,在使用目标测试脚本对一组目标测试点进行测试,得到一组目标测试点的测试结果之后,上述方法还包括:
S21,响应于对目标测试应用执行的切换操作,向目标服务器发送第二获取请求,其中,切换操作用于将使用目标测试应用进行测试的对象切换为第二对象,第二获取请求用于请求获取待测试软件的软件代码中与第二对象对应的测试点;
S22,接收目标服务器响应第二获取请求所返回的第二响应消息,其中,第二响应消息中携带有多个第二测试点的测试点信息;
S23,在目标测试应用的测试界面上显示第二测试点列表,其中,第二测试点列表包含多个第二测试点的测试点信息。
在本实施例中,目标测试应用可以根据测试人员所使用的账号,显示与该账号对应的测试点列表,例如,显示与测试人员使用的账号对应的测试身份的测试点列表。当识别到登录目标测试应用所使用的账号发生切换的情况下,目标测试应用可以对检测到的切换操作进行响应。可选地,可以响应于对目标测试应用执行的切换操作(例如,账号切换操作),向目标服务器发送第二获取请求,上述切换操作用于将使用目标测试应用进行测试的对象切换为第二对象,第二获取请求用于请求获取待测试软件的软件代码中与第二对象对应的测试点。
当接收到目标测试应用发送的第二获取请求之后,目标服务器可以采用与前述实施例中相同或者类似的方式对第二获取请求做出响应,向目标测试应用发送第二响应消息,第二响应消息中携带有多个第二测试点的测试点信息。
在接收到第二响应消息之后,目标测试应用可以在目标测试应用的测试界面上显示第二测试点列表,第二测试点列表包含多个第二测试点的测试点信息,第二测试点的测试点信息和第一测试点的测试点信息可以是相同信息,也可以是不同的信息,显示第二测试点列表的方式与显示第一测试点列表的方式可以是相同的,也可以是不同的,本实施例中对此不做限定。
可选地,在目标测试应用的测试界面上显示第二测试点列表之后,可以将第一测试点列表的相关信息保存在缓冲中,后续当测试人员将目标测试应用的第二对象切换回第一对象时,可以直接从缓冲中获取第一测试点列表的相关信息,进而加快显示第一测试点列表的速度。
例如,当登录目标测试应用使用的是第一测试人员的账号时,将会在目标测试应用上显示与第一测试人员相关的测试点列表。当登录目标测试应用使用的账号由第一测试人员的账号切换到第二测试人员的账号后,在目标测试应用上显示与第二测试人员相关的测试点列表。
通过本实施例,在测试应用的使用对象发生切换时,在测试应用的测试界面上显示与当前的使用对象匹配的测试点列表,可以提高软件代码的测试效率,进而提升测试应用的使用体验。
在一个示例性实施例中,响应于对第一测试点列表执行的第一选取操作,从多个第一测试点中确定出待测试的一组目标测试点,包括:
S31,响应于对第一测试点列表中的一组选取按钮执行的第一选取操作,将多个第一测试点中与一组选取按钮匹配的测试点,确定为一组目标测试点,其中,一组选取按钮中的一个选取按钮与一组目标测试点中的至少一个目标测试点对应。
在本实施例中,第一测试点列表包括的多个第一测试点可以对应着多个选取按钮,上述多个选取按钮中的每个选取按钮与一组目标测试点中的至少一个目标测试点对应,两者可以是以一对一的关系,也可以是一对多的关系,本实施例中对此不做限定。在检测到对第一测试点列表中的一组选取按钮执行的第一选取操作后,响应于第一选取操作,将多个第一测试点中与一组选取按钮匹配的测试点,确定为一组目标测试点。
上述一组选取按钮可以为多个选取按钮中被执行第一选取操作的选取按钮,上述对第一测试点列表中的一组选取按钮执行的第一选取操作,可以是对一组选取按钮执行的勾选操作(例如,点击操作),也可以是对一组选取按钮执行的框选操作,本实施例中对此不做限定。
可选地,为了方便测试人员查看选取到的测试点,可以将多个选取按钮中被执行的第一选取操作的一组选取按钮进行突出显示,例如,可以在对选取按钮执行点击操作之后,将选取按钮的颜色进行变换,可以是将选取按钮的颜色由白色更改为红色。也可以在对选取按钮执行勾选操作之后,在选取按钮前添加勾选符号,还可以在对选取按钮执行框选操作之后,在被框选的选取按钮前添加框选符号,本实施例中对此不做限定。
通过本可选示例,通过对选取按钮执行选取操作来选取出待测试的测试点,可以提高测试点选取的便捷性,提高待测试软件的软件代码的测试效率。
在一个示例性实施例中,将多个第一测试点中与一组选取按钮匹配的测试点,确定为一组目标测试点,包括:
S41,在一组选取按钮中包含第一选取按钮的情况下,将多个第一测试点中,与第一选取按钮对应的第一测试点,确定为一组目标测试点中的一个目标测试点,其中,第一选取按钮对应于多个第一测试点中的一个第一测试点;
S42,在一组选取按钮中包含第二选取按钮的情况下,将与第二选取按钮对应的测试点组中的每个第一测试点,确定为一组目标测试点中的一个目标测试点,其中,与第二选取按钮对应的测试点组包含多个第一测试点中的至少一个第一测试点。
在第一测试点列表包含的多个选取按钮与多个第一测试点的对应关系可以是一一对应的关系,其中的第一选取按钮可以对应着个第一测试点中的一个第一测试点,也可以是一对多的关系,即,其中的第二选取按钮可以对应着一个测试点组,该测试点组中可以包含多个第一测试点中的至少一个第一测试点。
可选地,如果选取出的一组选取按钮中包含第一选取按钮,可以将多个第一测试点中,与第一选取按钮对应的第一测试点,确定为一组目标测试点中的一个目标测试点,第一选取按钮对应于多个第一测试点中的一个第一测试点。如果选取出的一组选取按钮中包含第二选取按钮,可以将与第二选取按钮对应的测试点组中的每个第一测试点,确定为一组目标测试点中的一个目标测试点。
需要说明的是,可能会存在一组选取按钮中同时包含第一选取按钮以及第二选取按钮的情况。在这种情况下,可以先将与第一选取按钮对应的第一测试点确定为目标测试点,再将与第二选取按钮对应的多个第一测试点确定为目标测试点,也可以是先将与第二选取按钮对应的多个第一测试点确定为目标测试点,再将与第一选取按钮对应的第一测试点确定为目标测试点,本实施例中对其先后顺序不做限定。
例如,如图5所示,当一组选取按钮中包含选取按钮A(第二选取按钮的示例)时,会将选取按钮A所对应的测试点a、b、c、d都确定为目标测试点,当当一组选取按钮中包含选取按钮B(第一选取按钮的示例)时,会将选取按钮B所对应的测试点e确定为目标测试点。
通过本可选示例,通过选取按钮与测试点的不同对应关系确定待测试的测试点,可以提高软件测试的灵活性,进而提高待测试点选取的效率。
在一个示例性实施例中,在使用目标测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果之后,上述方法还包括:
S51,在根据第一测试结果确定出一组目标测试点中存在测试未通过的一组异常测试点的情况下,在目标测试应用的测试界面上显示异常测试点列表,其中,异常测试点列表包括一组异常测试点的测试点信息;
S52,响应于对异常测试点列表中的第三测试点的测试点信息执行的第二选取操作,在目标测试应用的测试界面上显示待测试软件的软件代码中的目标子代码,其中,目标子代码中包含第三测试点。
在本实施例中,在得到一组目标测试点的第一测试结果之后,目标测试应用可以根据第一测试结果确定出测试未通过的测试点。可选地,在根据第一测试结果确定出一组目标测试点中存在测试未通过的一组异常测试点的情况下,可以在目标测试应用的测试界面上显示异常测试点列表,上述异常测试点列表包括一组异常测试点的测试点信息。在根据第一测试结果确定出一组目标测试点中不存在测试未通过的异常测试点的情况下,可以在测试界面上显示未存在测试异常测试点或者测试点全部通过,本实施例中对此不做限定。
上述异常测试点的测试点信息与第一测试点的测试点信息所包括的信息可以是相同的信息,如可以包括在软件代码中标记的位置信息,上述异常测试点的测试点信息与第一测试点的测试点信息所包括的信息可以是不同的信息,如异常测试点的测试点信息中可以包括对异常测试点的异常原因的描述信息,本实施例中对此不做限定。
当在测试界面上显示异常测试点列表之后,为了确定异常测试点的位置,测试人员可以对异常测试点列表中的第三测试点的测试点信息进行选取,目标测试应用在检测到异常测试点列表中的第三测试点的测试点信息执行的第二选取操作后,可以对进行响应,可选地,可以在目标测试应用的测试界面上显示待测试软件的软件代码中的目标子代码,上述目标子代码中包含第三测试点。上述第二选取操作与第一选取操作可以是相同的选取操作,也可以是不同的选取操作,本实施例中对此不做限定。
上述目标子代码可以是第三测试点所测试的软件代码的全部或者部分代码,当测试界面上可以显示出第三测试点所测试的全部软件代码时,可以在测试界面上显出第三测试点所测试的全部软件代码,当测试界面上无法显示出第三测试点所测试的全部软件代码时,可以在测试界面上显出第三测试点所测试的部分软件代码,本实施例中对此不做限定。
需要说明的是,软件代码中的第三测试点与异常测试点列表中的第三测试点之间的关系,与软件代码中的第一测试点与异常测试点列表中的第一测试点之间的关系一致,即,异常测试点列表中的第三测试点为软件代码中的第三测试点的一种映射,因此目标测试应用在获取到异常测试点列表中的第三测试点的测试点信息之后,可以根据第三测试点的测试点信息中所包括的位置信息,在软件代码中查找到第三测试点。
通过本实施例,在对待测试软件的软件代码进行测试之后,在测试应用的测试界面上将显示异常测试点列表,并响应于对异常测试点的选取操作显示异常测试点所对应的软件代码,可以使得简化异常测试点的处理步骤,提高软件测试的效率。
在一个示例性实施例中,在目标测试应用的测试界面上显示待测试软件的软件代码中的目标子代码之后,上述方法还包括:
S61,响应于对待测试软件的软件代码执行的更新操作,更新待测试软件的软件代码;
S62,响应于对第三测试点的测试点信息执行的第三选取操作,根据第三测试点的测试点信息,生成第二测试脚本,其中,第二测试脚本用于对第三测试点进行测试;
S63,使用第二测试脚本对第三测试点进行测试,得到第三测试点的第二测试结果。
在本实施例中,测试人员可以针对与异常测试点对应的软件代码进行修改,以更新待测试软件的软件代码。响应于对待测试软件的软件代码执行更新操作,根据第三测试点的测试点信息,生成第二测试脚本,这里,第二测试脚本用于对第三测试点进行测试。更新操作可以是对软件代码执行的添加操作,也可以是对软件代码执行的修改操作,还可以是对软件代码执行的删除操作,本实施例中对此不做限定。
目标测试应用可以响应于对待测试软件的软件代码执行的更新操作,更新待测试软件的软件代码,可选地,由于当对待测试软件的软件代码执行的更新操作后,各个测试点在软件代码中的位置信息也会同步的发生更改,故可以在更新待测试软件的软件代码的同时,也对测试界面上的第一测试点列表页同步的执行更新操作,例如,当在软件代码中位置信息为第10行的测试点前面添加一条代码之后,该测试点所对应的位置信息将会变成为第11行。
可选地,目标测试应用可以响应于对第三测试点的测试点信息执行的第三选取操作,根据第三测试点的测试点信息,生成第二测试脚本,上述第二测试脚本用于对第三测试点进行测试,根据第三测试点的测试点信息生成第二测试脚本的过程与根据一组目标测试点的测试点信息生成第一测试脚本的过程类似,本实施例中对此不再赘述。
在生成第二测试脚本后,可以使用第二测试脚本对第三测试点进行测试,得到第三测试点的第二测试结果,可选地,上述使用第二测试脚本对第三测试点进行测试,得到第三测试点的第二测试结果与使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果的过程类似,本实施例中对此不再赘述。
需要说明的是,第二测试脚本可以是与第三测试点对应的测试脚本,在更新之前,第三测试点为异常测试点,通过第二测试脚本对第三测试点进行测试,可以测试修改后的待测试软件的软件代码中的第三测试点是否存在异常,提高异常测试的便捷性。可选地,由于待测试软件的软件代码发生更新,因此,第二测试脚本也可以是对待测试软件的全部软件代码进行测试的测试脚本,或者,是对测试出错的异常测试点中部分已经修改软件代码的测试点进行测试的测试脚本,本实施例中对此不做限定。
通过本实施例,当对软件代码执行更新操作后,重新生成测试点的测试脚本对异常测试点的进行测试,可以提高软件测试的速度,进而提高软件测试的效率。
下面结合可选示例对本申请实施例中的软件测试方法进行解释说明。在本实施例中,第一测试点为标记测试点。
相关技术中,以黑盒的方式进行软件测试主要侧重于软件诊断方面,设计的可测试接口也是根据需求而定的,收集运行日志,异常信息等数据相互之间较难统一,加上以黑盒的方式工作,对内部的更多的信息无法测试,测试有效性不够深入,不够灵活,有效性有局限。
为了更好地对软件代码进行测试,本可选示例提供了一种能够灵活、高效的运用于软件缺陷查找和故障定位的软件代码标记测试方法,通过不同的功能测试需求定制测试脚本,相比于传统的依靠人工对软件代码进行测试的方式,可以更高效、更灵活、更深度的挖掘软件中的缺陷,并且能够根据输入结果快速准确的定位到故障代码,方便开发快速响应处理故障代码,大大的提升了开发测试效率。
结合图6和图7所示,本可选示例中的软件测试方法包括以下步骤:
步骤S702,对软件代码进行分析,在软件代码中标记测试点。
对软件代码中进行模块划分和代码逻辑分析,根据逻辑关系在模块和模块间设立测试点,并在软件代码中对设立的测试点进行标记,上述测试点包括模块的基本功能测试点(如软件代码中事物处理的输入和输出测试点)、模块之间的归属/分支关系测试点以及模块异常处理测试点。
步骤S704,按照测试需求选择标记的测试点。
测试人员可以根据自身的测试需求,在软件代码所包括的多个标志测试点中选择满足测试需求的标记测试点,并根据已经选择的标记测试点,确定用于输入信息的提取和输出信息的分析。
步骤S706,根据所选的测试点定制测试脚本。
在按照测试需求选择标记的测试点之后,可以根据选择出的标记测试点生成定制测试脚本队选择的测试点进行测试。
步骤S708,执行测试脚本,并在测试结束后对测试结果进行分析,得出测试结论。
执行测试脚本,测试结束输出测试结果,对测试结果进行分析,得出测试结论,测试通过,则结果正常,测试不通过,则打印出标记的测试点。
通过本可选示例,根据需求和模块逻辑分析测试点,按照功能模块的逻辑分支关系,在代码中标记测试点,在测试执行阶段时,根据所选的标记测试点定制脚本并执行该脚本输入对应的测试结果,根据测试结果能后定位到故障代码,从而使测试更加灵活有针对性,加深了测试的深度,提高了测试的高效性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-OnlyMemory,只读存储器)/RAM(RandomAccessMemory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述的软件测试方法的软件测试装置。图8是根据本申请实施例的一种可选的软件测试装置的结构框图,如图8所示,该装置可以包括:
第一显示单元802,用于在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
确定单元804,与第一显示单元802相连用于响应于对第一测试点列表执行的第一选取操作,从多个第一测试点中确定出待测试的一组目标测试点;
第一生成单元806,与确定单元804相连,用于将每个第一设备的联动信息发送给每个第一设备,以控制每个第一设备在目标联动事件被触发时执行对应的联动操作;
第一测试单元808,与第一生成单元806相连,用于使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果。
需要说明的是,该实施例中的第一显示单元802可以用于执行上述步骤S202,该实施例中的确定单元804可以用于执行上述步骤S204,该实施例中的第一生成单元806可以用于执行上述步骤S206,该实施例中的第一测试单元808可以用于执行上述步骤S208。
通过上述模块,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;响应于对第一测试点列表执行的第一选取操作,从多个第一测试点中确定出待测试的一组目标测试点;根据一组目标测试点的测试点信息,生成第一测试脚本,其中,第一测试脚本用于对一组目标测试点进行测试;使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果,解决了相关技术中通过预先设置固定的可测试接口进行软件测试方法存在由于软件测试的效率较的问题,提高了软件的测试效率。
在一个示例性实施例中,上述装置还包括:
第一发送单元,用于在目标测试应用的测试界面上显示第一测试点列表之前,向目标服务器发送第一获取请求,其中,第一获取请求用于请求获取待测试软件的软件代码中与第一对象对应的测试点,第一对象为使用目标测试应用进行测试的对象;
第一接收单元,用于接收目标服务器响应第一获取请求所返回的第一响应消息,其中,第一响应消息中携带有多个第一测试点的测试点信息。
在一个示例性实施例中,上述装置还包括:
第二发送单元,用于在使用目标测试脚本对一组目标测试点进行测试,得到一组目标测试点的测试结果之后,响应于对目标测试应用执行的切换操作,向目标服务器发送第二获取请求,其中,切换操作用于将使用目标测试应用进行测试的对象切换为第二对象,第二获取请求用于请求获取待测试软件的软件代码中与第二对象对应的测试点;
第二接收单元,用于接收目标服务器响应第二获取请求所返回的第二响应消息,其中,第二响应消息中携带有多个第二测试点的测试点信息;
第二显示单元,用于在目标测试应用的测试界面上显示第二测试点列表,其中,第二测试点列表包含多个第二测试点的测试点信息。
在一个示例性实施例中,确定单元,包括:
确定模块,用于响应于对第一测试点列表中的一组选取按钮执行的第一选取操作,将多个第一测试点中与一组选取按钮匹配的测试点,确定为一组目标测试点,其中,一组选取按钮中的一个选取按钮与一组目标测试点中的至少一个目标测试点对应。
在一个示例性实施例中,确定模块,包括:
第一确定子模块,用于在一组选取按钮中包含第一选取按钮的情况下,将多个第一测试点中,与第一选取按钮对应的第一测试点,确定为一组目标测试点中的一个目标测试点,其中,第一选取按钮对应于多个第一测试点中的一个第一测试点;
第二确定子模块,用于在一组选取按钮中包含第二选取按钮的情况下,将与第二选取按钮对应的测试点组中的每个第一测试点,确定为一组目标测试点中的一个目标测试点,其中,与第二选取按钮对应的测试点组包含多个第一测试点中的至少一个第一测试点。
在一个示例性实施例中,上述装置还包括:
第三显示单元,用于在使用目标测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果之后,在根据第一测试结果确定出一组目标测试点中存在测试未通过的一组异常测试点的情况下,在目标测试应用的测试界面上显示异常测试点列表,其中,异常测试点列表包括一组异常测试点的测试点信息;
第四显示单元,用于响应于对异常测试点列表中的第三测试点的测试点信息执行的第二选取操作,在目标测试应用的测试界面上显示待测试软件的软件代码中的目标子代码,其中,目标子代码中包含第三测试点。
在一个示例性实施例中,上述装置还包括:
更新单元,用于在目标测试应用的测试界面上显示待测试软件的软件代码中的目标子代码之后,响应于对待测试软件的软件代码执行的更新操作,更新待测试软件的软件代码;
第二生成单元,用于响应于对第三测试点的测试点信息执行的第三选取操作,根据第三测试点的测试点信息,生成第二测试脚本,其中,第二测试脚本用于对第三测试点进行测试;
第二测试单元,用于使用第二测试脚本对第三测试点进行测试,得到第三测试点的第二测试结果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本申请实施例中上述任一项软件测试方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
S2,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
S3,根据一组目标测试点的测试点信息,生成第一测试脚本,其中,第一测试脚本用于对一组目标测试点进行测试;
S4,使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种用于实施上述的软件测试方法的电子装置,该电子装置可以是服务器、终端、或者其组合。
图9是根据本申请实施例的一种可选的电子装置的结构框图,如图9所示,包括处理器902、通信接口904、存储器906和通信总线908,其中,处理器902、通信接口904和存储器906通过通信总线908完成相互间的通信,其中,
存储器906,用于存储计算机程序;
处理器902,用于执行存储器906上所存放的计算机程序时,实现如下步骤:
S1,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
S2,在目标测试应用的测试界面上显示第一测试点列表,其中,第一测试点列表包含多个第一测试点的测试点信息,多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
S3,根据一组目标测试点的测试点信息,生成第一测试脚本,其中,第一测试脚本用于对一组目标测试点进行测试;
S4,使用第一测试脚本对一组目标测试点进行测试,得到一组目标测试点的第一测试结果。
可选地,在本实施例中,通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatilememory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器906中可以但不限于包括上述软件测试装置中的第一显示单元802、确定单元804、第一生成单元806以及第一测试单元808。此外,还可以包括但不限于上述软件测试装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,实施上述软件测试方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种软件测试方法,其特征在于,包括:
在目标测试应用的测试界面上显示第一测试点列表,其中,所述第一测试点列表包含多个第一测试点的测试点信息,所述多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
响应于对所述第一测试点列表执行的第一选取操作,从所述多个第一测试点中确定出待测试的一组目标测试点;
根据所述一组目标测试点的测试点信息,生成第一测试脚本,其中,所述第一测试脚本用于对所述一组目标测试点进行测试;
使用所述第一测试脚本对所述一组目标测试点进行测试,得到所述一组目标测试点的第一测试结果。
2.根据权利要求1所述的方法,其特征在于,在所述在目标测试应用的测试界面上显示第一测试点列表之前,所述方法还包括:
向目标服务器发送第一获取请求,其中,所述第一获取请求用于请求获取所述待测试软件的软件代码中与第一对象对应的测试点,所述第一对象为使用所述目标测试应用进行测试的对象;
接收所述目标服务器响应所述第一获取请求所返回的第一响应消息,其中,所述第一响应消息中携带有所述多个第一测试点的测试点信息。
3.根据权利要求2所述的方法,其特征在于,在所述使用所述目标测试脚本对所述一组目标测试点进行测试,得到所述一组目标测试点的测试结果之后,所述方法还包括:
响应于对所述目标测试应用执行的切换操作,向所述目标服务器发送第二获取请求,其中,所述切换操作用于将使用所述目标测试应用进行测试的对象切换为第二对象,所述第二获取请求用于请求获取所述待测试软件的软件代码中与所述第二对象对应的测试点;
接收所述目标服务器响应所述第二获取请求所返回的第二响应消息,其中,所述第二响应消息中携带有多个第二测试点的测试点信息;
在所述目标测试应用的测试界面上显示第二测试点列表,其中,所述第二测试点列表包含所述多个第二测试点的测试点信息。
4.根据权利要求1所述的方法,其特征在于,所述响应于对所述第一测试点列表执行的第一选取操作,从所述多个第一测试点中确定出待测试的一组目标测试点,包括:
响应于对所述第一测试点列表中的一组选取按钮执行的所述第一选取操作,将所述多个第一测试点中与所述一组选取按钮匹配的测试点,确定为所述一组目标测试点,其中,所述一组选取按钮中的一个选取按钮与所述一组目标测试点中的至少一个目标测试点对应。
5.根据权利要求4所述的方法,其特征在于,所述将所述多个第一测试点中与所述一组选取按钮匹配的测试点,确定为所述一组目标测试点,包括:
在所述一组选取按钮中包含第一选取按钮的情况下,将所述多个第一测试点中,与所述第一选取按钮对应的第一测试点,确定为所述一组目标测试点中的一个目标测试点,其中,所述第一选取按钮对应于所述多个第一测试点中的一个第一测试点;
在所述一组选取按钮中包含第二选取按钮的情况下,将与所述第二选取按钮对应的测试点组中的每个第一测试点,确定为所述一组目标测试点中的一个目标测试点,其中,与所述第二选取按钮对应的测试点组包含所述多个第一测试点中的至少一个第一测试点。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述使用所述目标测试脚本对所述一组目标测试点进行测试,得到所述一组目标测试点的第一测试结果之后,所述方法还包括:
在根据所述第一测试结果确定出所述一组目标测试点中存在测试未通过的一组异常测试点的情况下,在所述目标测试应用的测试界面上显示异常测试点列表,其中,所述异常测试点列表包括所述一组异常测试点的测试点信息;
响应于对所述异常测试点列表中的第三测试点的测试点信息执行的第二选取操作,在所述目标测试应用的测试界面上显示所述待测试软件的软件代码中的目标子代码,其中,所述目标子代码中包含所述第三测试点。
7.根据权利要求6所述的方法,其特征在于,在所述目标测试应用的测试界面上显示所述待测试软件的软件代码中的目标子代码之后,所述方法还包括:
响应于对所述待测试软件的软件代码执行的更新操作,更新所述待测试软件的软件代码;
响应于对所述第三测试点的测试点信息执行的第三选取操作,根据所述第三测试点的测试点信息,生成第二测试脚本,其中,所述第二测试脚本用于对所述第三测试点进行测试;
使用所述第二测试脚本对所述第三测试点进行测试,得到所述第三测试点的第二测试结果。
8.一种软件测试装置,其特征在于,包括:
第一显示单元,用于在目标测试应用的测试界面上显示第一测试点列表,其中,所述第一测试点列表包含多个第一测试点的测试点信息,所述多个第一测试点是在待测试软件的软件代码中所标记出的测试点;
确定单元,用于响应于对所述第一测试点列表执行的第一选取操作,从所述多个第一测试点中确定出待测试的一组目标测试点;
生成单元,用于根据所述一组目标测试点的测试点信息,生成第一测试脚本,其中,所述第一测试脚本用于对所述一组目标测试点进行测试;
第一测试单元,用于使用所述第一测试脚本对所述一组目标测试点进行测试,得到所述一组目标测试点的第一测试结果。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210711760.8A CN115185822A (zh) | 2022-06-22 | 2022-06-22 | 软件测试方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210711760.8A CN115185822A (zh) | 2022-06-22 | 2022-06-22 | 软件测试方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115185822A true CN115185822A (zh) | 2022-10-14 |
Family
ID=83516055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210711760.8A Pending CN115185822A (zh) | 2022-06-22 | 2022-06-22 | 软件测试方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115185822A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215958A (zh) * | 2023-10-11 | 2023-12-12 | 深圳市浩科智联科技有限公司 | 一种车载应用分离设计软件及其测试方法 |
-
2022
- 2022-06-22 CN CN202210711760.8A patent/CN115185822A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215958A (zh) * | 2023-10-11 | 2023-12-12 | 深圳市浩科智联科技有限公司 | 一种车载应用分离设计软件及其测试方法 |
CN117215958B (zh) * | 2023-10-11 | 2024-05-31 | 深圳市浩科智联科技有限公司 | 一种车载应用分离设计软件及其测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及*** | |
CN109633351B (zh) | 智能it运维故障定位方法、装置、设备及可读存储介质 | |
US9983919B2 (en) | Dynamic error code, fault location, and test and troubleshooting user experience correlation/visualization systems and methods | |
CN109815119B (zh) | 一种app链接渠道的测试方法及装置 | |
CN110515679B (zh) | 数据采集方法、装置、设备及存储介质 | |
CN112148606B (zh) | 埋点测试方法、装置、设备及计算机可读介质 | |
CN108595343A (zh) | 应用程序的测试方法及装置 | |
CN111090592A (zh) | 埋点的自动化测试方法、终端及可读存储介质 | |
CN114546738A (zh) | 服务器通用测试方法、***、终端及存储介质 | |
CN112148607A (zh) | 一种业务场景的接口测试方法和装置 | |
CN111190827A (zh) | 接口自动化测试方法、装置、存储介质及电子设备 | |
CN112286501A (zh) | 对终端设备的页面进行埋点的方法、装置以及存储介质 | |
CN109828920A (zh) | 一种日志分析方法、装置及计算机可读存储介质 | |
CN105577472A (zh) | 一种数据采集测试方法和装置 | |
CN111858296A (zh) | 接口测试方法、装置、设备和存储介质 | |
CN105515909B (zh) | 一种数据采集测试方法和装置 | |
CN112506773A (zh) | 一种异常场景测试方法、装置、设备及存储介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN115185822A (zh) | 软件测试方法和装置、存储介质及电子装置 | |
CN111309505A (zh) | 页面异常处理方法、装置、电子设备 | |
CN109067605B (zh) | 一种存储子***故障诊断方法、装置、终端及存储介质 | |
CN112965711A (zh) | 作业测试方法和装置、电子设备和存储介质 | |
CN112131127A (zh) | 接口测试方法、装置、***及电子设备 | |
CN111538659A (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 |