本发明专利技术提供一种在自动化测试中智能处理预期事件的方法及装置,其中,该方法包括下列步骤:A:在预期事件发生时获取所有可能情况下的下一个被测试对象的句柄;B:判断循环检测时间是否超出预先设定的时间期限,如果是,则进行相应的出错处理;否则,执行步骤C;C:根据被测试对象的句柄,轮询检测所有被测试对象的特征值,并判断其中是否存在任意一个被测试对象的特征值处于可操作的状态,如果是,则测试脚本执行下一步操作;否则,返回步骤B。本发明专利技术能够解决在测试脚本速率与被测试对象响应速率不同步、预期事件发生时下一个被测试对象不确定性等复杂情况下高效的自动化测试。
【技术实现步骤摘要】
本专利技术涉及通信
,特别涉及一种在自动化测试中智能处理预期事件的方法及装置。
技术介绍
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。尤其是,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试,比如性能测试、压力测试、大数据量输入测试等。通常情况下,基于Web网页或⑶I界面等被测试系统的自动化测试方案都是通过操作被测试对象的页面或者GUI图形界面的菜单、按钮等控件来实现测试用例数据的配置、修改、删除、下发、上载等功能操作,但下述情况往往会导致自动化测试无法达到预期的效果。(I)当进行大数据量的压力测试或者性能测试时,需要占用大量的系统资源而造成资源的极度匮乏,往往会出现被测试对象(比如打开界面等)的响应速率会随着配置数据量递增而变得越来越缓慢。而自动化测试脚本是一种电脑编程语言控制软件应用程序的描述性语言,不需要编译,只在被调用时进行解释,高效率的执行,所以容易出现脚本的执行速率高于被测试对象的响应速率,从而导致了在执行测试用例过程中出现脚本跑飞的现象。(2)在操作⑶I界面或者Web网页时,一般需要从内存中读取数据进行重新描绘,需要等待一定时间,所以为了保证被测试系统的线程安全,一般要求对界面的每个操作步骤都是原子级。当脚本的执行速率超过操作界面的响应速率时,那么就存在一个严重的风险测试工具与被测试对象的线程会因互相等待访问对方所占有的资源而造成死锁等问题,导致了出现被测试对象的界面花屏等现象,直接导致了自动化测试失败,而且给对测试结果进行故障定位和分析也造成了较大的困扰。(3)由于自动化测试是在预设的、正常的条件下运行测试脚本,所以当被测试系统存在故障时,在整个测试过程中无法对这类异常情况进行智能跟踪处理,导致自动化测试中断,最终无法实现7*24小时自动化测试,造成自动化执行效率低下。这些情况是进行自动化测试过程中普遍存在的问题,由于在执行脚本过程中无法智能处理预期事件,即自动化测试脚本执行速率与被测试对象的响应速率之间的不同步、以及被测试测试系统本身可能存在故障等问题,从而造成了脚本跑飞、测试中断等严重问题,严重影响了自动化测试的效率。针对自动化测试无法智能处理预期事件的问题,目前业界常用的解决方法在测试脚本或者测试平台中增加延迟时间来等待某一个被测试对象的响应,并且要求该被测试对象的句柄是预期可确定的。但该方法无法从根本上解决问题,原因是被测试对象的响应时间长短取决于测试用例的数据量大小、系统资源多少、连续操作次数、以及被测试系统出现异常可能性等各种各样、复杂、动态的因素。也就意味着被测试对象的预期出现概率和响应时间具有严重的随机性,导致了无法通过设置一个相对固定的延迟时间和一个确定的被测试对象来解决问题。
技术实现思路
本专利技术的目的在于,提供一种在自动化测试中智能处理预期事件的方法,能够在测试脚本速率与被测试对象响应速率无法保持同步、预期事件发生时下一个被测试对象不确定性等复杂情况下进行高效的自动化测试。本专利技术的另一目的在于,提供一种在自动化测试中智能处理预期事件的装置,能够在测试脚本速率与被测试对象响应速率无法保持同步、预期事件发生时下一个被测试对象不确定性等复杂情况下进行高效的自动化测试。本专利技术的在自动化测试中智能处理预期事件的方法,包括下列步骤A :在预期事件发生时获取所有可能情况下的下一个被测试对象的句柄;B :判断循环检测时间是否超出预先设定的时间期限,如果是,则进行相应的出错处理;否则,执行步骤C ;C :根据被测试对象的句柄,轮询检测所有被测试对象的特征值,并判断其中是否存在任意一个被测试对象的特征值处于可操作的状态,如果是,则测试脚本执行下一步操作;否则,返回步骤B。其中,所述预先设定的时间期限,是根据被测试系统的性能指标自定义的默认值,或者是根据用户测试用例数据进行的重新赋值。其中,在所述步骤A中,所有可能情况下的下一个被测试对象的句柄,包括正常和异常两种情况下出现的被测试对象的句柄。其中,在所述步骤C中,包括下列步骤根据被测试对象的句柄,获取所述被测试对象的状态信息,根据所述状态信息判断所述被测试对象是否存在,如果存在,则获取所述被测试对象的特征值,通过所述特征值判断该被测试对象是否已经处于可操作的状态。其中,所述相应的出错处理,包括下列步骤提前结束当前自动化测试用例的剩余测试步骤;将本次自动化测试用例的结果设为失败,失败原因设为等待被测试对象响应超时,并且和所设置时间期限值一起写入到测试结果报表或者日志中;清除当前测试用例所配置的用户数据,进行测试环境恢复操作。本专利技术的在自动化测试中智能处理预期事件的装置,包括测试用例脚本的初始化模块、检测被测试对象特征值模块,以及实时处理预期事件模块,其中,所述测试用例脚本的初始化模块,用于预先设定时间期限;所述检测被测试对象特征值模块,用于在预期事件发生时获取所有可能情况下的下一个被测试对象的句柄,并根据所述被测试对象的句柄,轮询检测所有被测试对象的特征值;所述实时处理预期事件模块,用于根据所述检测被测试对象特征值模块的检测结果,判断是否存在任意一个被测试对象的特征值处于可操作的状态,存在时,则测试脚本执行下一步操作;不存在时,则继续循环检测,直到检测时间超过预先设定的时间期限,进行相应的出错处理。其中,在所述测试用例脚本的初始化模块中,所述预先设定的时间期限,是根据被测试系统的性能指标自定义的默认值,或者是根据用户测试用例数据进行的重新赋值。其中,在所述检测被测试对象特征值模块中,获取的所有可能情况下的下一个被测试对象的句柄,包括正常和异常两种情况下出现的被测试对象的句柄。其中,所述实时处理预期事件模块,用于根据被测试对象的句柄,获取所述被测试对象的状态信息,根据所述状态信息判断所述被测试对象是否存在,在存在时,获取所述被测试对象的特征值,通过所述特征值判断该被测试对象是否已经处于可操作的状态。进一步地,本专利技术的装置还可以包括出错处理机制模块,用于提前结束当前自动化测试用例的剩余测试步骤;并将本次自动化测试用例的结果设为失败,失败原因设为等待被测试对象响应超时,并且和所设置时间期限值一起写入到测试结果报表或者日志中;并清除当前测试用例所配置的用户数据,进行测试环境恢复操作。本专利技术的有益效果是依照本专利技术的在自动化测试中智能处理预期事件的方法及装置,能够在测试脚本速率与被测试对象响应速率无法保持同步、预期事件发生时下一个被测试对象不确定性等复杂情况下进行高效的自动化测试,提高了测试用例的执行效率,该方法简单可靠,实现该方法的装置经过实际测试,结果稳定可靠。附图说明图1为本专利技术的在自动化测试中智能处理预期事件的方法的流程图;图2为本专利技术实施例的检测预期事件发生时被测试对象特征值的流程图;图3为本专利技术的出错处理机制的流程图;图4为本专利技术实施例的在自动化测试中智能处理预期事件的方法的流程图;图5为本专利技术的在自动化测试中智能处理预期事件的装置的结构示意图。具体实施例方式以下,参考附图1 5详细描述本专利技术的在本文档来自技高网...
【技术保护点】
一种在自动化测试中智能处理预期事件的方法,其特征在于,包括下列步骤:A:在预期事件发生时获取所有可能情况下的下一个被测试对象的句柄;B:判断循环检测时间是否超出预先设定的时间期限,如果是,则进行相应的出错处理;否则,执行步骤C;C:根据被测试对象的句柄,轮询检测所有被测试对象的特征值,并判断其中是否存在任意一个被测试对象的特征值处于可操作的状态,如果是,则测试脚本执行下一步操作;否则,返回步骤B。
【技术特征摘要】
1.ー种在自动化测试中智能处理预期事件的方法,其特征在于,包括下列步骤 A :在预期事件发生时获取所有可能情况下的下一个被测试对象的句柄; B :判断循环检测时间是否超出预先设定的时间期限,如果是,则进行相应的出错处理;否则,执行步骤C ; C :根据被测试对象的句柄,轮询检测所有被测试对象的特征值,并判断其中是否存在任意一个被测试对象的特征值处于可操作的状态,如果是,则测试脚本执行下一歩操作;否贝U,返回步骤B。2.如权利要求1所述的在自动化测试中智能处理预期事件的方法,其特征在于,所述预先设定的时间期限,是根据被测试系统的性能指标自定义的默认值,或者是根据用户测试用例数据进行的重新赋值。3.如权利要求1所述的在自动化测试中智能处理预期事件的方法,其特征在于,在所述步骤A中,所有可能情况下的下一个被测试对象的句柄,包括正常和异常两种情况下出现的被测试对象的句柄。4.如权利要求1所述的在自动化测试中智能处理预期事件的方法,其特征在于,在所述步骤C中,包括下列步骤 根据被测试对象的句柄,获取所述被测试对象的状态信息,根据所述状态信息判断所述被测试对象是否存在,如果存在,则获取所述被测试对象的特征值,通过所述特征值判断该被测试对象是否已经处于可操作的状态。5.如权利要求1所述的在自动化测试中智能处理预期事件的方法,其特征在于,所述相应的出错处理,包括下列步骤 提前结束当前自动化测试用例的剩余测试步骤; 将本次自动化测试用例的结果设为失败,失败原因设为等待被测试对象响应超时,并且和所设置时间期限值一起写入到测试结果报表或者日志中; 清除当前测试用例所配置的用户数据,进行测试环境恢复操作。6.ー种在自动化测试中智能处理预期事件的装置,其特征在于,包括测试用例脚本的初始化模块、检测被测试对象特征值模块,以...
【专利技术属性】
技术研发人员:郑重,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。