CN105550113A - Web测试方法与测试机 - Google Patents
Web测试方法与测试机 Download PDFInfo
- Publication number
- CN105550113A CN105550113A CN201510958450.6A CN201510958450A CN105550113A CN 105550113 A CN105550113 A CN 105550113A CN 201510958450 A CN201510958450 A CN 201510958450A CN 105550113 A CN105550113 A CN 105550113A
- Authority
- CN
- China
- Prior art keywords
- error
- test
- time
- mistake
- web
- 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
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
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
本发明提供一种Web测试方法与测试机,Web测试任务触发后,对于当前Web测试任务,确定该当前Web测试任务对应的测试用例及需要运行该些测试用例的服务器的地址列表,并遍历该地址列表,向当前遍历到的服务器发送Web请求,以运行测试用例,在目标测试用例运行错误后,生成错误信息,并根据该错误信息确定错误出现的次数。该过程中,在任意目标测试用例运行错误后,对程序日志进行分析和处理以获取错误信息,根据错误信息确定出同一错误出现的次数,从而提高对错误的处理速度。
Description
技术领域
本发明涉及自动化测试技术,尤其涉及一种Web测试方法与测试机。
背景技术
Web应用自动化测试是基于用户界面(UserInterface,UI)的自动化测试,其通过图形脚本语言Sikuli或Selenium等UI自动化测试框架,实现模拟用户行为的自动化测试。
具体的,Web应用自动化测试过程中,首先,测试机执行测试用例,获取测试用例对应的运行结果;接着,测试机根据各个测试用例对应的运行结果,计算预定批次的运行成功率。
上述Web测试方法中,测试机借助自动化测试平台提供的信息,能够获取测试用例执行失败时的代码段、错误类型等错误信息。然而,该自动化测试过程中,有时会产生较多的错误信息。此时,测试机无法确定各个错误信息对应的错误的出现次数,无法确定错误的优先级,需要花费大量的精力与时间来进行优先级划分,从而影响问题处理速度。
发明内容
本发明提供一种Web测试方法与测试机,测试用例运行错误后,对程序日志进行分析和处理以获取错误信息,根据错误信息确定出同一错误出现的次数,从而提高对错误的处理速度。
第一个方面,本发明实施例提供一种Web测试方法,包括:
确定当前Web测试任务的测试用例及运行所述测试用例的至少一个服务器的地址;
根据所述服务器的地址向对应的每个服务器发送Web请求,以在所述Web服务器上运行所述测试用例;
若接收到任意目标测试用例在服务器上运行错误的消息,则生成错误信息;
根据所述错误信息,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述错误信息包括:程序日志目录信息,时间戳,出现错误的服务器的地址,所述若接收到任意目标测试用例在服务器上运行错误的消息,则生成错误信息之后,还包括:
根据所述程序日志目录信息,确定记录所述错误的程序日志;
根据所述时间戳与所述出现错误的服务器的地址,匹配所述程序日志,从而获得发生所述错误时的详细信息,所述详细信息包括:错误类型、目标测试用例的名称、抛出异常的代码段;
根据所述目标测试用例的名称、所述错误类型以及所述抛出异常的代码段,生成目标错误标识码;
所述根据所述错误信息,确定所述错误出现的次数,包括:
根据所述目标错误标识码以及历史Web测试任务对应的错误标识码,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述根据所述目标错误标识码以及历史Web测试任务的错误标识码,确定所述错误出现的次数,包括:
若所述历史Web测试任务的错误标识码中不存在所述目标错误标识码,则确定所述错误出现的次数为1。
可选的,在本发明一实施例中,所述详细信息还包括:程序异常抛出时间t1,所述根据所述目标错误标识码以及历史Web测试任务的错误标识码,确定所述错误出现的次数,包括:
若所述历史web测试任务的错误标识码中存在所述目标错误标识码,则确定所述错误的上次出现时间t0;
根据所述程序异常抛出时间t1与所述上次出现时间t0,确定出现述所述错误的时间间隔;
根据所述时间间隔,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述根据所述时间间隔,确定所述错误出现的次数,包括:
若所述时间间隔大于时间间隔阈值,则将所述错误出现的次数重置为1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
可选的,在本发明一实施例中,所述根据所述时间间隔,确定所述错误出现的次数,包括:
当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数小于所述错误发生次数阈值,则将所述错误出现的次数加1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
可选的,在本发明一实施例中,所述根据所述时间间隔,确定所述错误出现的次数,包括:
当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数大于等于所述错误发生次数阈值,则将所述错误出现的次数初始化为0,并将所述上次出现时间t0初始化为0。
可选的,在本发明一实施例中,所述根据所述错误信息,确定所述错误出现的次数之后,还包括:
根据所述错误类型与告警类型,确定是否发出告警信息。
可选的,在本发明一实施例中,所述根据所述错误类型与告警类型,确定是否发出告警信息,包括:
若所述错误类型属于所述告警类型,则发出所述告警信息;否则,
若所述错误类型不属于所述告警类型,则确定重试次数,并将所述重试次数加1,得到当前重试次数,进一步确定所述当前重试次数是否小于重试次数阈值,若小于,则重新对所述出现错误的服务器运行所述目标测试用例;否则,结束所述当前Web测试任务。
第二个方面,本发明提供一种测试机,包括:
处理模块,用于确定当前Web测试任务的测试用例及运行所述测试用例的至少一个服务器的地址;
发送模块,用于根据所述处理器模块确定的所述服务器的地址向对应的每个服务器发送Web请求,以在所述Web服务器上运行所述测试用例;
错误信息生成模块,用于若接收到任意目标测试用例在所述发送模块发送Web请求的服务器上运行错误的消息,则生成错误信息;
确定模块,用于根据所述错误信息生成模块生成的所述错误信息,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述错误信息包括:程序日志目录信息,时间戳,出现错误的服务器的地址,所述测试机还包括:
目标错误标识码生成模块,用于在所述错误信息生成模块生成所述错误信息后,根据所述程序日志目录信息,确定记录所述错误的程序日志,根据所述时间戳与所述出现错误的服务器的地址,匹配所述程序日志,从而获得发生所述错误时的详细信息,所述详细信息包括:错误类型、目标测试用例的名称、抛出异常的代码段,根据所述目标测试用例的名称、所述错误类型以及所述抛出异常的代码段,生成目标错误标识码;
所述确定模块,用于根据所述目标错误标识码生成模块生成的所述目标错误标识码以及历史Web测试任务对应的错误标识码,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述确定模块,具体用于若所述历史Web测试任务的错误标识码中不存在所述目标错误标识码,则确定所述错误出现的次数为1。
可选的,在本发明一实施例中,所述详细信息还包括:程序异常抛出时间t1,所述确定模块,具体用于若所述历史web测试任务的错误标识码中存在所述目标错误标识码,则确定所述错误的上次出现时间t0;根据所述程序异常抛出时间t1与所述上次出现时间t0,确定出现述所述错误的时间间隔;根据所述时间间隔,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述确定模块,具体用于若所述时间间隔大于时间间隔阈值,则将所述错误出现的次数重置为1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
可选的,在本发明一实施例中,所述确定模块,具体用于当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数小于所述错误发生次数阈值,则将所述错误出现的次数加1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
可选的,在本发明一实施例中,所述确定模块,具体用于当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数大于等于所述错误发生次数阈值,则将所述错误出现的次数初始化为0,并将所述上次出现时间t0初始化为0。
可选的,在本发明一实施例中,该测试机还包括:
告警模块,用于在所述确定模块根据所述错误信息,确定所述错误出现的次数之后,根据所述错误类型与告警类型,确定是否发出告警信息。
可选的,在本发明一实施例中,所述告警模块,具体用于若所述错误类型属于所述告警类型,则发出所述告警信息;否则,若所述错误类型不属于所述告警类型,则确定重试次数,并将所述重试次数加1,得到当前重试次数,进一步确定所述当前重试次数是否小于重试次数阈值,若小于,则重新对所述出现错误的服务器运行所述目标测试用例;否则,结束所述当前Web测试任务。
本发明实施例提供的Web测试方法与测试机,Web测试任务触发后,测试机依次从Web测试任务等待队列中取出Web测试任务,对于当前Web测试任务,确定该当前Web测试任务对应的测试用例及需要运行该些测试用例的服务器的地址列表,并遍历该地址列表,向当前遍历到的服务器发送Web请求,以运行测试用例,在目标测试用例运行错误后,生成错误信息,并根据该错误信息确定错误出现的次数。该过程中,在任意目标测试用例运行错误后,对程序日志进行分析和处理以获取错误信息,根据错误信息确定出同一错误出现的次数,从而提高对错误的处理速度。
附图说明
图1为本发明Web测试方法所适用的自动化测试***架构图;
图2为本发明Web测试方法实施例一的流程图;
图3为本发明Web测试方法实施例二的流程图;
图4为本发明测试机实施例一的结构示意图;
图5为本发明测试机实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明Web测试方法所适用的自动化测试***架构图。如图1所示,该Web测试***架构包括测试机、历史数据库以及服务器集合。其中,测试机为部署了自动化测试框架、测试用例与配置文件的测试机,自动化测试框架例如为Sikuli或Selenium等UI自动化测试框架,配置文件可以视为与测试用例相分离的测试数据。历史数据库中存储了历史Web测试任务中,出现的错误的相关信息,如次数、上次出现时间t0、重试次数等。服务器集合由多台Web服务器组合而成,每个服务器都具有等价的地位,可以单独对外提供Web服务、响应外部的Web请求。当服务器集合中一台或几台服务器不可用时,只要有一台可用,对外部的服务就不会中断。下面,在此自动化测试***架构的基础上,对本发明Web测试方法进行详细说明。具体的,可参加图2。
图2为本发明Web测试方法实施例一的流程图。本实施例的执行主体为测试机,适用于当测试用例运行错误时,需要对测试结果进行分析以确定出错误出现的次数的场景。具体的,本实施例包括如下步骤:
101、确定当前Web测试任务的测试用例及运行所述测试用例的至少一个服务器的地址。
一般来说,可通过人工触发方式、定时触发方式等触发Web测试任务,存在同一时间多个Web测试任务被触发的情况,以及某一项Web测试任务被触发的同时,其他Web测试任务未执行完毕的情况。因此,在执行Web测试任务之前,对至少一项Web测试任务进行调度以生成Web测试任务等待队列,即若当前有其他Web测试任务正在运行,则将当前触发的Web测试任务放入测试等待队列中,等测试机空闲时依次处理。
具体的,当Web测试任务被触发时,首先判断测试机上是否存在进行中的Web测试任务、测试机用于记录测试过程的程序日志是否被占用、Web测试任务等待队列中是否存在待开始的Web测试任务。若测试机上不存在正在进行的Web测试任务、程序日志未被占用、Web测试任务等待队列中不存在待开始的Web测试任务,则对当前触发的Web测试任务进行测试。否则,若测试机上存在正在进行的Web测试任务,则将当前触发的Web测试任务放入Web测试任务等待队列,等待下一个轮询时间再次判断测试机上是否存在进行中的Web测试任务;若程序日志处于被占用的状态,则继续等待下一次轮询,直到定时器到时或程序日志未被占用时,开始对当前触发的Web测试任务进行测试;若Web测试任务等待队列中存在待开始的Web测试任务,则将当前触发的Web测试任务放入Web测试任务等待队列,下一个轮询时间,判断当前时间是否满足对Web测试任务进行测试的条件,若满足,则按照时间顺序从Web测试任务等待队列中取出最早放入的Web测试任务,开始执行测试,若不满足,则继续等待下一个轮询。该过程可以理解为对Web测试任务进行调度的过程。
本步骤中,当测试机空闲时,例如执行完上一个Web测试任务后,从Web测试任务等待队列中取出一个Web测试任务,作为当前Web测试任务,确定出该当前Web测试任务的测试用例,并根据测试用例的范围,确定该测试用例对应的至少一个服务器的地址,从而得到一个地址列表。该过程中,一个Web测试任务对应的测试用例至少为一个,各个测试用例对应的地址列表存储在配置文件中。另外,若服务器设置了登陆账号与密码,则还可以读取配置文件以获取地址列表中的各个服务器的登陆账号与密码等。
102、根据所述服务器的地址向对应的每个服务器发送Web请求,以在所述Web服务器上运行所述测试用例。
本步骤中,测试机依次遍历地址列表中的各个服务器,向当前遍历到的服务器发送Web请求,以运行该些测试用例。例如,在进行页面登录功能的过程中,打开登录页面,通过Selenium提供的元素定位方法如身份标识(Identity,id)、姓名(name)、连接(link)、XML路径语言(xpath)、层叠样式表(css)等,找到用户名输入框,在页面用户名输入框输入用户名;采用同样的方式定位密码输入框,在密码输入框中输入密码,定位并点击登录按钮,完成登录动作。该过程中,元素定位方法和其对应的值、用户名、用户密码,均可以在配置文件中定义,这样可以降低测试人员维护代码的成本,提高代码复用性。
103、若接收到任意目标测试用例在服务器上运行错误的消息,则生成错误信息。
本步骤中,对于当前遍历到的每一台服务器,当一个Web测试任务执行完毕后,首先判断本次测试结果是否成功:若成功,则本次测试结束;若失败,则对测试结果进行分析。具体的,若Web测试任务中的所有测试用例都运行成功,则开始对地址列表中的下一个服务器执行Web测试任务;否则,若任意一个目标测试用例,即至少一个测试用例中的任意一个测试用例在当前正在遍历到的服务器上运行错误,则在接收到服务器发送的测试用例在该服务器上运行错误的消息后,终止Web测试任务,或者终止存在运行错误的测试用例,并生成错误信息。上述步骤101~103,可以理解为对Web测试任务进行执行的过程。
104、根据所述错误信息,确定所述错误出现的次数。
在获取到错误信息后,根据该错误信息,确定该错误在历史数据库中出现的次数。
本步骤可以理解为对Web测试任务的测试结果进行分析以确定出错误出现的次数的过程。
本发明实施例提供的Web测试方法,Web测试任务触发后,测试机依次从Web测试任务等待队列中取出Web测试任务,对于当前Web测试任务,确定该当前Web测试任务对应的测试用例及需要运行该些测试用例的服务器的地址列表,并遍历该地址列表,向当前遍历到的服务器发送Web请求,以运行测试用例,在目标测试用例运行错误后,生成错误信息,并根据该错误信息确定错误出现的次数。该过程中,在任意目标测试用例运行错误后,对程序日志进行分析和处理以获取错误信息,根据错误信息确定出同一错误出现的次数,从而提高对错误的处理速度。
下面,用一个具体的流程图上述实施例中,对Web测试任务的测试结果进行分析以确定出错误出现的次数的过程进行详细说明。具体的,可参见图3,图3为本发明Web测试方法实施例二的流程图。
请参照图3,本实施例包括如下步骤:
201、目标测试用例在服务器上运行错误,生成错误信息,进一步生成目标错误标识码。
具体的,错误信息包括:程序日志目录信息,时间戳,出现错误的服务器的地址,所述生成错误信息之后,需要根据所述程序日志目录信息,确定记录所述错误的程序日志;根据所述时间戳与所述出现错误的服务器的地址,匹配所述程序日志,从而获得发生所述错误时的详细信息,所述详细信息包括:错误类型、目标测试用例的名称、抛出异常的代码段,以及发生错误是的统一资源定位符(UniformResoureLocator,URL)、页面Cookie信息等;根据所述目标测试用例的名称、所述错误类型以及所述抛出异常的代码段,生成目标错误标识码。例如,对目标测试用例的名称、错误类型以及抛出异常的代码段这三个字符串进行哈希(Hash)运行,从而生成目标错误标识码,该错误标识码可以记为key。
202、确定历史Web测试任务对应的错误标识码中是否存目标错误标识码。
本步骤中,根据所述目标错误标识码以及历史Web测试任务对应的错误标识码,确定所述错误出现的次数。该过程中,查询历史数据以确定历史Web测试任务对应的错误标识码中是否存在目标错误标识码key,即是否存在相同的key,若不存在,则执行步骤203;否则,若执行步骤206。
步骤203、确定错误出现的次数为1。
若历史Web测试任务对应的错误标识码中不存在目标错误标识码,则说明该错误是首次出现的新的错误,即错误出现的次数为1。
步骤204、在历史数据库中增加该错误。
本步骤中,在历史数据库中新增一条记录,包括本次运行错误的目标错误标识码、程序抛出异常时间t1、出错次数置1(次数为1)、目标测试用例的名称、异常抛出的代码段等。
步骤205、根据所述错误,发出告警信息。
由于该错误为首次出现的新的错误,其严重程度与影响范围未知,因此,需要针对该错误发出告警信息。告警信息包括:当前服务器的信息、第一测试用例名称、错误类型、抛出异常的代码段等内容,并通过预设的短信、邮件等方式向测试人员发出告警信息。当然,也可以先确定该错误的错误类型是否属于告警类型,若属于,则发出告警信息,否则,不告警。
步骤206、确定出现该错误的时间间隔是否大于时间间隔阈值。
若历史数据库中,历史Web测试任务对应的错误标识码中存在该目标标识码,即存在相同的key,说明该错误在历史测试中曾经出现过,查询历史数据库确定该错误的上次出现时间t0。另外,通过查询历史数据库还可以确定该错误的出现次数count、错误类型type、目标测试用例名称、错误分类、错误段代码等。通过读取配置文件可以获取该错误的时间间隔阈值T、重试次数阈值N、错误出现次数阈值K以及告警类型(FailType)等,接下来根据所述时间间隔,确定所述错误出现的次数。其中,出现该错误的时间间隔为t1-t0。
本步骤中,若t1-t0>T,则说明该错误在当前服务器上和其他服务器上并不是连续发生的,执行步骤207;否则,若t1-t0≤T,则执行步骤212。
步骤207、查询历史数据库以获取所述错误出现的次数,将该次数重置为1,并将上次出现时间t0更新为当前的程序异常抛出时间t1。
208、确定该错误的错误类型是否属于告警类型。
本步骤中,读取配置文件以确定告警类型,并确定该错误的错误类型是否属于立即告警类型,若不属于,则执行步骤209;否则,若属于,则执行步骤205,然后,执行步骤211。
步骤209、确定当前重试次数。
具体的,查询历史数据库以确定重试次数,并将该重试次数加1,以获取当前重试次数。
步骤210、确定当前重试次数是否小于重试次数阈值N,若是,则执行步骤201;否则,执行步骤211。
步骤211、结束Web测试任务。
步骤212、当前统计到的该错误的出现次数是否小于错误次数发生阈值,若是,则执行步骤213;否则,执行步骤214。
步骤213、在历史数据库中将错误出现的次数加1,并将上次出现时间t0更新为当前的程序异常抛出时间t1,然后,执行步骤208。
本步骤中可以确定,错误出现的次数为当前统计到的次数加1。
步骤214、在历史数据库中将错误出现的次数初始化为0,并将上次出现时间t0初始化为0,然后,执行步骤205。
本步骤中可以确定,错误出现的次数为0。
步骤205、根据所述错误,发出告警信息,然后,执行步骤211。
需要说明的是,图3中出现的两个步骤205,实质上是同一个步骤,之所以出现两次,是为了使图中线条不交叉、使图更为清楚。
图4为本发明测试机实施例一的结构示意图。本实施例提供的测试机是与本发明图2实施例对应的装置实施例,具体实现过程在此不再赘述。具体的,本实施例提供的测试机包括:
处理模块11,用于确定当前Web测试任务的测试用例及运行所述测试用例的至少一个服务器的地址;
发送模块12,用于根据所述处理器模块确定的所述服务器的地址向对应的每个服务器发送Web请求,以在所述Web服务器上运行所述测试用例;
错误信息生成模块13,用于若接收到任意目标测试用例在所述发送模块12发送Web请求的服务器上运行错误的消息,则生成错误信息;
确定模块14,用于根据所述错误信息生成模块13生成的所述错误信息,确定所述错误出现的次数。
本发明实施例提供的测试机,Web测试任务触发后,测试机依次从Web测试任务等待队列中取出Web测试任务,对于当前Web测试任务,确定该当前Web测试任务对应的测试用例及需要运行该些测试用例的服务器的地址列表,并遍历该地址列表,向当前遍历到的服务器发送Web请求,以运行测试用例,在目标测试用例运行错误后,生成错误信息,并根据该错误信息确定错误出现的次数。该过程中,在任意目标测试用例运行错误后,对程序日志进行分析和处理以获取错误信息,根据错误信息确定出同一错误出现的次数,从而提高对错误的处理速度。
可选的,在本发明一实施例中,所述错误信息包括:程序日志目录信息,时间戳,出现错误的服务器的地址,所述测试机还包括:目标错误标识码生成模块15,具体的,可参见图5,图5为本发明测试机实施例二的结构示意图。
请参照图5,本发明实施例中,目标错误标识码生成模块15,用于在所述错误信息生成模块13生成所述错误信息后,根据所述程序日志目录信息,确定记录所述错误的程序日志,根据所述时间戳与所述出现错误的服务器的地址,匹配所述程序日志,从而获得发生所述错误时的详细信息,所述详细信息包括:错误类型、目标测试用例的名称、抛出异常的代码段,根据所述目标测试用例的名称、所述错误类型以及所述抛出异常的代码段,生成目标错误标识码;
所述确定模块14,用于根据所述目标错误标识码生成模块15生成的所述目标错误标识码以及历史Web测试任务对应的错误标识码,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述确定模块14,具体用于若所述历史Web测试任务的错误标识码中不存在所述目标错误标识码,则确定所述错误出现的次数为1。
可选的,在本发明一实施例中,所述详细信息还包括:程序异常抛出时间t1,所述确定模块14,具体用于若所述历史web测试任务的错误标识码中存在所述目标错误标识码,则确定所述错误的上次出现时间t0;根据所述程序异常抛出时间t1与所述上次出现时间t0,确定出现述所述错误的时间间隔;根据所述时间间隔,确定所述错误出现的次数。
可选的,在本发明一实施例中,所述确定模块14,具体用于若所述时间间隔大于时间间隔阈值,则将所述错误出现的次数重置为1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
可选的,在本发明一实施例中,所述确定模块14,具体用于当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数小于所述错误发生次数阈值,则将所述错误出现的次数加1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
可选的,在本发明一实施例中,所述确定模块14,具体用于当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数大于等于所述错误发生次数阈值,则将所述错误出现的次数初始化为0,并将所述上次出现时间t0初始化为0。
再请参照图5,在本发明一实施例中,测试机还包括:
告警模块16,用于在所述确定模块14根据所述错误信息,确定所述错误出现的次数之后,根据所述错误类型与告警类型,确定是否发出告警信息。
可选的,在本发明一实施例中,所述告警模块16,具体用于若所述错误类型属于所述告警类型,则发出所述告警信息;否则,若所述错误类型不属于所述告警类型,则确定重试次数,并将所述重试次数加1,得到当前重试次数,进一步确定所述当前重试次数是否小于重试次数阈值,若小于,则重新对所述出现错误的服务器运行所述目标测试用例;否则,结束所述当前Web测试任务。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种Web测试方法,其特征在于,包括:
确定当前Web测试任务的测试用例及运行所述测试用例的至少一个服务器的地址;
根据所述服务器的地址向对应的每个服务器发送Web请求,以在所述Web服务器上运行所述测试用例;
若接收到任意目标测试用例在服务器上运行错误的消息,则生成错误信息;
根据所述错误信息,确定所述错误出现的次数。
2.根据权利要求1所述的方法,其特征在于,所述错误信息包括:程序日志目录信息,时间戳,出现错误的服务器的地址,所述若接收到任意目标测试用例在服务器上运行错误的消息,则生成错误信息之后,还包括:
根据所述程序日志目录信息,确定记录所述错误的程序日志;
根据所述时间戳与所述出现错误的服务器的地址,匹配所述程序日志,从而获得发生所述错误时的详细信息,所述详细信息包括:错误类型、目标测试用例的名称、抛出异常的代码段;
根据所述目标测试用例的名称、所述错误类型以及所述抛出异常的代码段,生成目标错误标识码;
所述根据所述错误信息,确定所述错误出现的次数,包括:
根据所述目标错误标识码以及历史Web测试任务对应的错误标识码,确定所述错误出现的次数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标错误标识码以及历史Web测试任务的错误标识码,确定所述错误出现的次数,包括:
若所述历史Web测试任务的错误标识码中不存在所述目标错误标识码,则确定所述错误出现的次数为1。
4.根据权利要求2所述的方法,其特征在于,所述详细信息还包括:程序异常抛出时间t1,所述根据所述目标错误标识码以及历史Web测试任务的错误标识码,确定所述错误出现的次数,包括:
若所述历史web测试任务的错误标识码中存在所述目标错误标识码,则确定所述错误的上次出现时间t0;
根据所述程序异常抛出时间t1与所述上次出现时间t0,确定出现述所述错误的时间间隔;
根据所述时间间隔,确定所述错误出现的次数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述时间间隔,确定所述错误出现的次数,包括:
若所述时间间隔大于时间间隔阈值,则将所述错误出现的次数重置为1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
6.根据权利要求4所述的方法,其特征在于,所述根据所述时间间隔,确定所述错误出现的次数,包括:
当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数小于所述错误发生次数阈值,则将所述错误出现的次数加1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
7.根据权利要求4所述的方法,其特征在于,所述根据所述时间间隔,确定所述错误出现的次数,包括:
当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数大于等于所述错误发生次数阈值,则将所述错误出现的次数初始化为0,并将所述上次出现时间t0初始化为0。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据所述错误信息,确定所述错误出现的次数之后,还包括:
根据所述错误类型与告警类型,确定是否发出告警信息。
9.根据权利要求8所述的方法,其特征在于,所述根据所述错误类型与告警类型,确定是否发出告警信息,包括:
若所述错误类型属于所述告警类型,则发出所述告警信息;否则,
若所述错误类型不属于所述告警类型,则确定重试次数,并将所述重试次数加1,得到当前重试次数,进一步确定所述当前重试次数是否小于重试次数阈值,若小于,则重新对所述出现错误的服务器运行所述目标测试用例;否则,结束所述当前Web测试任务。
10.一种测试机,其特征在于,包括:
处理模块,用于确定当前Web测试任务的测试用例及运行所述测试用例的至少一个服务器的地址;
发送模块,用于根据所述处理器模块确定的所述服务器的地址向对应的每个服务器发送Web请求,以在所述Web服务器上运行所述测试用例;
错误信息生成模块,用于若接收到任意目标测试用例在所述发送模块发送Web请求的服务器上运行错误的消息,则生成错误信息;
确定模块,用于根据所述错误信息生成模块生成的所述错误信息,确定所述错误出现的次数。
11.根据权利要求10所述的测试机,其特征在于,所述错误信息包括:程序日志目录信息,时间戳,出现错误的服务器的地址,所述测试机还包括:
目标错误标识码生成模块,用于在所述错误信息生成模块生成所述错误信息后,根据所述程序日志目录信息,确定记录所述错误的程序日志,根据所述时间戳与所述出现错误的服务器的地址,匹配所述程序日志,从而获得发生所述错误时的详细信息,所述详细信息包括:错误类型、目标测试用例的名称、抛出异常的代码段,根据所述目标测试用例的名称、所述错误类型以及所述抛出异常的代码段,生成目标错误标识码;
所述确定模块,用于根据所述目标错误标识码生成模块生成的所述目标错误标识码以及历史Web测试任务对应的错误标识码,确定所述错误出现的次数。
12.根据权利要求11所述的测试机,其特征在于,所述确定模块,具体用于若所述历史Web测试任务的错误标识码中不存在所述目标错误标识码,则确定所述错误出现的次数为1。
13.根据权利要求11所述的测试机,其特征在于,所述详细信息还包括:程序异常抛出时间t1,所述确定模块,具体用于若所述历史web测试任务的错误标识码中存在所述目标错误标识码,则确定所述错误的上次出现时间t0;根据所述程序异常抛出时间t1与所述上次出现时间t0,确定出现述所述错误的时间间隔;根据所述时间间隔,确定所述错误出现的次数。
14.根据权利要求13所述的测试机,其特征在于,所述确定模块,具体用于若所述时间间隔大于时间间隔阈值,则将所述错误出现的次数重置为1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
15.根据权利要求13所述的测试机,其特征在于,所述确定模块,具体用于当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数小于所述错误发生次数阈值,则将所述错误出现的次数加1,并将所述上次出现时间t0更新为当前的程序异常抛出时间t1。
16.根据权利要求13所述的测试机,其特征在于,所述确定模块,具体用于当所述时间间隔小于等于时间间隔阈值时,若当前统计的次数大于等于所述错误发生次数阈值,则将所述错误出现的次数初始化为0,并将所述上次出现时间t0初始化为0。
17.根据权利要求10~16任一项所述的测试机,其特征在于,还包括:
告警模块,用于在所述确定模块根据所述错误信息,确定所述错误出现的次数之后,根据所述错误类型与告警类型,确定是否发出告警信息。
18.根据权利要求17所述的测试机,其特征在于,所述告警模块,具体用于若所述错误类型属于所述告警类型,则发出所述告警信息;否则,若所述错误类型不属于所述告警类型,则确定重试次数,并将所述重试次数加1,得到当前重试次数,进一步确定所述当前重试次数是否小于重试次数阈值,若小于,则重新对所述出现错误的服务器运行所述目标测试用例;否则,结束所述当前Web测试任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510958450.6A CN105550113B (zh) | 2015-12-18 | 2015-12-18 | Web测试方法与测试机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510958450.6A CN105550113B (zh) | 2015-12-18 | 2015-12-18 | Web测试方法与测试机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550113A true CN105550113A (zh) | 2016-05-04 |
CN105550113B CN105550113B (zh) | 2019-01-22 |
Family
ID=55829307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510958450.6A Active CN105550113B (zh) | 2015-12-18 | 2015-12-18 | Web测试方法与测试机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550113B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991054A (zh) * | 2017-05-03 | 2017-07-28 | 郑州云海信息技术有限公司 | 基于selenium的关键字驱动自动化测试框架及实现方法 |
CN107506298A (zh) * | 2017-07-28 | 2017-12-22 | 杭州销冠网络科技有限公司 | 一种用于线上业务的监控方法及*** |
CN107562626A (zh) * | 2017-08-31 | 2018-01-09 | 国家电网公司 | 一种封装Selenium和Sikuli实现Web自动化测试的方法 |
CN108268379A (zh) * | 2018-02-02 | 2018-07-10 | 方欣科技有限公司 | 一种分布式自动化测试方法及装置 |
CN108920364A (zh) * | 2018-06-21 | 2018-11-30 | 深圳壹账通智能科技有限公司 | 软件缺陷定位方法、装置、终端及计算机可读存储介质 |
CN108959057A (zh) * | 2017-05-18 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 测试方法、测试装置、存储设备及网络设备 |
CN109062796A (zh) * | 2018-07-24 | 2018-12-21 | 合肥爱玩动漫有限公司 | 一种游戏动作捕捉及数据微调方法 |
CN109086125A (zh) * | 2017-06-14 | 2018-12-25 | 杭州海康威视数字技术股份有限公司 | 图片分析方法、装置及***、计算机设备及存储介质 |
CN110908888A (zh) * | 2018-09-17 | 2020-03-24 | 百度在线网络技术(北京)有限公司 | 服务器测试方法及装置 |
CN111554219A (zh) * | 2020-04-29 | 2020-08-18 | 深圳创维-Rgb电子有限公司 | 一种显示设备的测试方法、装置、电子产品及存储介质 |
CN111782508A (zh) * | 2020-06-12 | 2020-10-16 | 北京达佳互联信息技术有限公司 | 自动测试方法、装置、电子设备和存储介质 |
CN111917565A (zh) * | 2019-05-10 | 2020-11-10 | 南京南瑞继保电气有限公司 | 一种实时告警统计方法及*** |
CN112202625A (zh) * | 2019-07-08 | 2021-01-08 | ***通信集团浙江有限公司 | 网元异常诊断方法、装置、计算设备及计算机存储介质 |
CN112363931A (zh) * | 2020-11-11 | 2021-02-12 | 武汉虹旭信息技术有限责任公司 | Web***测试方法及装置 |
CN112486820A (zh) * | 2020-11-27 | 2021-03-12 | 北京百度网讯科技有限公司 | 用于测试代码的方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078693A1 (en) * | 2002-03-22 | 2004-04-22 | Kellett Stephen Richard | Software testing |
CN101217425A (zh) * | 2008-01-04 | 2008-07-09 | 中兴通讯股份有限公司 | Web测试的方法及装置 |
CN102968371A (zh) * | 2012-11-26 | 2013-03-13 | 武汉天喻信息产业股份有限公司 | 测试java api单元组件的方法及装置 |
-
2015
- 2015-12-18 CN CN201510958450.6A patent/CN105550113B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078693A1 (en) * | 2002-03-22 | 2004-04-22 | Kellett Stephen Richard | Software testing |
CN101217425A (zh) * | 2008-01-04 | 2008-07-09 | 中兴通讯股份有限公司 | Web测试的方法及装置 |
CN102968371A (zh) * | 2012-11-26 | 2013-03-13 | 武汉天喻信息产业股份有限公司 | 测试java api单元组件的方法及装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991054A (zh) * | 2017-05-03 | 2017-07-28 | 郑州云海信息技术有限公司 | 基于selenium的关键字驱动自动化测试框架及实现方法 |
CN108959057A (zh) * | 2017-05-18 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 测试方法、测试装置、存储设备及网络设备 |
CN108959057B (zh) * | 2017-05-18 | 2022-12-09 | 深圳市雅阅科技有限公司 | 测试方法、测试装置、存储设备及网络设备 |
CN109086125A (zh) * | 2017-06-14 | 2018-12-25 | 杭州海康威视数字技术股份有限公司 | 图片分析方法、装置及***、计算机设备及存储介质 |
CN109086125B (zh) * | 2017-06-14 | 2021-01-22 | 杭州海康威视数字技术股份有限公司 | 图片分析方法、装置及***、计算机设备及存储介质 |
CN107506298A (zh) * | 2017-07-28 | 2017-12-22 | 杭州销冠网络科技有限公司 | 一种用于线上业务的监控方法及*** |
CN107562626A (zh) * | 2017-08-31 | 2018-01-09 | 国家电网公司 | 一种封装Selenium和Sikuli实现Web自动化测试的方法 |
CN108268379A (zh) * | 2018-02-02 | 2018-07-10 | 方欣科技有限公司 | 一种分布式自动化测试方法及装置 |
CN108268379B (zh) * | 2018-02-02 | 2020-01-03 | 方欣科技有限公司 | 一种分布式自动化测试方法及装置 |
CN108920364A (zh) * | 2018-06-21 | 2018-11-30 | 深圳壹账通智能科技有限公司 | 软件缺陷定位方法、装置、终端及计算机可读存储介质 |
CN109062796A (zh) * | 2018-07-24 | 2018-12-21 | 合肥爱玩动漫有限公司 | 一种游戏动作捕捉及数据微调方法 |
CN110908888A (zh) * | 2018-09-17 | 2020-03-24 | 百度在线网络技术(北京)有限公司 | 服务器测试方法及装置 |
CN111917565A (zh) * | 2019-05-10 | 2020-11-10 | 南京南瑞继保电气有限公司 | 一种实时告警统计方法及*** |
CN112202625B (zh) * | 2019-07-08 | 2023-08-15 | ***通信集团浙江有限公司 | 网元异常诊断方法、装置、计算设备及计算机存储介质 |
CN112202625A (zh) * | 2019-07-08 | 2021-01-08 | ***通信集团浙江有限公司 | 网元异常诊断方法、装置、计算设备及计算机存储介质 |
CN111554219A (zh) * | 2020-04-29 | 2020-08-18 | 深圳创维-Rgb电子有限公司 | 一种显示设备的测试方法、装置、电子产品及存储介质 |
CN111782508A (zh) * | 2020-06-12 | 2020-10-16 | 北京达佳互联信息技术有限公司 | 自动测试方法、装置、电子设备和存储介质 |
CN112363931A (zh) * | 2020-11-11 | 2021-02-12 | 武汉虹旭信息技术有限责任公司 | Web***测试方法及装置 |
CN112486820A (zh) * | 2020-11-27 | 2021-03-12 | 北京百度网讯科技有限公司 | 用于测试代码的方法、装置、设备以及存储介质 |
KR20210090575A (ko) * | 2020-11-27 | 2021-07-20 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 코드를 테스트하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 |
KR102528776B1 (ko) * | 2020-11-27 | 2023-05-04 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 코드를 테스트하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
CN105550113B (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550113A (zh) | Web测试方法与测试机 | |
CN107294808B (zh) | 接口测试的方法、装置和*** | |
CN110650036A (zh) | 告警处理方法、装置及电子设备 | |
CN109995614B (zh) | 一种α测试方法及装置 | |
CN107870948A (zh) | 任务调度方法和装置 | |
WO2015116064A1 (en) | End user monitoring to automate issue tracking | |
CN114064208A (zh) | 检测应用服务状态的方法、装置、电子设备及存储介质 | |
CN105843675B (zh) | 线程退出方法和装置 | |
CN111046007B (zh) | 管理存储***的方法、装置和计算机程序产品 | |
CN115729727A (zh) | 故障修复方法、装置、设备及介质 | |
CN114153668A (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
CN107957933B (zh) | 数据复制的监控方法及装置 | |
CN107862040B (zh) | 一种应用实例的缓存中数据的更新方法、装置及一种集群 | |
CN109522202B (zh) | 一种软件测试的方法和装置 | |
KR20150033454A (ko) | 빅데이터 처리 장치 관리 방법 및 이를 수행하는 관리 시스템 | |
US20230359514A1 (en) | Operation-based event suppression | |
CN110944231A (zh) | 视频播放器的监听方法及装置 | |
CN111200654A (zh) | 客户端请求错误处理方法及装置 | |
CN111143151B (zh) | 业务监控方法、装置以及电子设备 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN112825525A (zh) | 用于处理事务的方法和装置 | |
CN112650557B (zh) | 一种命令执行方法以及装置 | |
CN110365627B (zh) | 应用程序同步方法、装置、计算设备以及存储介质 | |
CN111092954B (zh) | 一种生成微服务的方法和装置及电子设备 | |
CN108880994B (zh) | 一种重发邮件的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |