一种自动化测试方法及系统的制作方法_2

文档序号:9910934阅读:来源:国知局
[0030]其中,PC端通过远程控制方式预先在服务器上建立测试案例;S卩,将被测软件中的功能点转化为系统、功能及验收测试用例,基于UIAutomator或Robotium等自动化架构,将测试案例开成自动化测试脚本,并上传至服务器上对应案例路径下。同时,PC端还将被测软件上传至服务器,可在服务器上建立测试案例与被测软件的对应关系,该对应关系可以以表格的形式存在。
[0031]于本实施方式中,PC端登录服务器查表的方式选择出与对应的测试数据,并下载测试数据,通过通信链路将测试数据发送给待测设备。其中,通信链路可以是有线通信。
[0032]步骤103,根据测试数据控制待测设备运行测试案例,并记录测试日志Log。
[0033]具体的说,测试子系统控制待测设备运行测试案例,并控制待测设备上传测试日志Log(如Systemlog、Modemlog、Networklog等)。
[0034]步骤104,判断测试Log是否包含表示异常情况的异常关键字。若是,则执行步骤105,否则结束。
[0035]其中,异常关键字可以由测试人员预先设置并保存在自动化测试系统中。
[0036]具体的说,Log分析子系统从测试子系统中获取测试日志Log,并对测试Log进行过滤分析,判断是否存在Java crash、ANR等异常关键字。若存在,则判定存在异常情况(Bug),否则,判定不存在异常情况。
[0037]步骤105,根据异常关键字从测试Log中获取异常情况的属性信息。其中,异常情况的属性信息至少包含异常信息、软件的版本号以及测试案例对应的应用模块。于本实施方式中,异常情况的属性信息包含异常信息、软件的版本号、测试案例对应的应用模块以及应用模块对应的责任人。
[0038]步骤105包含子步骤1051与子步骤1052。
[0039]子步骤1051,Log分析子系统从测试Log中获取异常关键字的关联字符段。
[0040]其中,异常关键字的关联字符段为异常关键字的前M个字符和/或异常关键字的后N个字符,M、N为自然数。
[0041]具体的说,由于测试Log中的异常关键字前/后一般都带有关联字符段(package名称)和异常情况的描述,而信息包名称包含应用模块的名称,因此Log分析子系统通过这种获取异常关键字的关联字符段的方式,可行性较高。
[0042]子步骤1052,Log分析子系统从关联字符段中提取被测软件的版本号与应用模块。
[0043]具体的说,Log分析子系统根据提取被测软件的版本号,并通过package名称分析判断出测试案例对应的应用模块。
[0044]其中,在Log分析子系统中还预先储存有应用模块与责任人的对应关系,该对应关系可以以表格的形式存在,如应用模块一负责人对照表,以便于在Log分析子系统提取出应用模块后,能够及时的获取相应的负责人,并将负责人添加到异常情况的属性信息中。
[0045]需要说明的是,应用模块与责任人的对应关系还可以储存在异常管理子系统中,由异常管理子系统查找该应用模块对应的负责人。
[0046]值得一提的是,本实施方式中,Log分析子系统还可以按照PC端内预存的Bug属性模板生成包含异常情况的属性信息的一个文档,即依据模板生成Buglist,以便于负责人查看以及文档管理。本实施方式中,所记录的测试Log还被发送至异常管理子系统,以供负责人根据生成的Buglist进行对比查看。
[0047]步骤106,将异常情况的属性信息发送至应用模块对应的负责人。
[0048]具体的说,异常管理子系统根据获取的异常情况的属性信息,将异常情况的属性信息通过mail的形式发送给该异常情况所属于的负责人(即异常情况的属性信息中的应用模块对应负责人),从而达到了职责分明的目的,方便了Bug的管理。并且,能够及时的通知负责人对异常情况进行处理的目的,避免延误处理时间。
[0049]本实施方式中,测试系统根据被测软件对测试数据进行选择、执行自动化测试自动查找所记录的测试日志Log中的Bug,获取Bug的异常信息、软件的版本号以及测试案例对应的应用模块等相关数据。通过这种方式,使得测试系统可以自动发现异常情况(Bug),并获取Bug的相关数据,节省了大量时间,大幅度提升了测试效率,并提高了Bug判断的准确度,避免了由于测试人员疏忽而遗漏Bug或者误判Bug的情况。
[0050]值得一提的是,本实施方式中,测试数据还可以包含测试案例的测试时长和测试案例的测试次数。即,PC远程登录服务器选择需要测试的案例(脚本),设置自动化测试需要执行的时间和执行测试案例的重复次数,以控制测试案例执行的总时间和次数,以获得更准确的测试日志Log。测试子系统、Log分析子系统以及异常管理子系统可以为一个服务器的三个子模块,在服务器内的三个子模块内预先储存其相应功能的程序段,以实现其对应的功能。
[0051]本发明的第二实施方式涉及一种自动化测试方法。第二实施方式在第一实施方式的基础上加以改进,主要改进之处在于:在本发明第二实施方式中,异常情况的属性信息还包含异常处理状态,该实施方式可应用于当前负责人离职变更,异常情况未被处理的情况,则及时通知变更后的负责人对异常情况进行处理;该实施方式还可以应用于负责人已对异常情况进行处理,同时修改下一流程的测试人员作为负责人的情况,以便于及时通知变更后的使得下一流程的负责人及时的进行处理。这样,以便于其他负责人也能够及时的了解异常情况的处理进度。
[0052]本实施方式中的步骤201至步骤206与第一实施方式中的步骤101至步骤106大致相同,为避免重复,在此不再赘述。以下对不同部分进行说明:
[0053]步骤207,判断:是否检测到异常处理状态发生变更,或者是否检测到负责人发生变更。若是,则执行步骤208,否则执行步骤207。
[0054]具体的说,当负责人未处理或未处理完异常情况时,异常情况的状态标志为未处理状态;当责任人将异常情况处理完后,则会将该异常情况的状态变更为已处理状态,并有可能变更对应的负责人(即下一流程的负责人,例如重新测试人员),异常管理子系统通过对异常处理状态是否发生变更进行判断,以判定异常情况是否已被处理。或者,当前负责人离职变更,异常情况未被处理时,则将异常情况的属性信息修改对应至其他的负责人。
[0055]步骤208,发送变更后的异常情况的属性信息至应用模块对应的负责人;或者,发送异常情况的属性信息至应用模块对应的变更后的负责人。
[0056]具体的说,异常管理子系统将变更后的异常情况的属性信息发送至下一流程的负责人,例如重新测试人员。或者,当将异常情况的属性信息发送给新的负责人,以便于对异常情况进行处理。
[0057]上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0058]本发明第三实施方式涉及一种自动化测试系统,如图3所示,包含:测试子系统、Log分析子系
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1