一种自动化测试系统和方法

文档序号:6372995阅读:693来源:国知局
专利名称:一种自动化测试系统和方法
技术领域
本发明涉及软硬件测试技术领域,特别涉及一种自动化测试系统和方法。
背景技术
测试用例(Test Case)指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。目的在于测试某个程序路径或核实是否满足某个特定需求。不同类别的软件,测试用例是不同的。现有测试任务中,每一个测试都是单独依靠人工执行,而由于同一测试任务可能 包括一些相同的测试用例,而目前这些测试用例全部用手工被重复若干次,每个测试用例涉及的功能模块配置比较多,导致操作时间被浪费,测试效率低。

发明内容
本发明要解决的技术问题为提供了一种自动化测试系统和方法,克服了现有技术中的测试方法所存在的采用人工重复测试用例导致的测试效率低的技术问题。为解决上述技术问题,本发明提供了一种自动化测试系统,包括配置模块、测试日志模块、测试用例管理模块、测试结果统计模块、测试流程模块。所述配置模块,用于输入各个功能模块的配置参数和流程控制开关命令、显示各测试用例的测试状态;所述测试日志模块,用于按照各种日志级别,保存到对应级别日志文件;所述测试用例管理模块,用于从当前测试平台下的测试用例集合中选择测试用例形成当前测试任务;所述测试结果统计模块,用于对各测试用例的测试结果进行统计,并将测试结果通过所述配置模块显示;所述测试流程模块,用于读取所述配置模块的输入的配置参数,并更新、依次遍历各测试用例的执行、测试结果统计。其中,所述配置模块参数单元和流程控制参数单元;所述配置参数模块单元,用于对应的功能模块的配置参数的输入和显示;所述流程控制参数单元,用于控制测试流程中的各功能1吴块的打开和/或关闭。其中,所述测试日志模块,包括日志过滤单元和保存日志单元;所述日志过滤单元,用于监控日志,并按照日志级别动态切换;所述保存日志单元,用于保存一次测试任务的所有级别日志的备份文件集合。其中,所述测试用例管理模块,包括选择单元和保存、加载配置单元;所述选择单元,用于从当前测试平台下的所有测试用例中,按顺序选择测试用例形成测试任务;所述保存、加载配置单元,用于各测试用例配置参数的保存和/或加载以前选择好的测试用例配
置参数。其中,所述测试结果统计模块,包括测试结果显示单元和测试文件显示单元;所述测试结果显示单元,用于测试结果显示,并实时监控测试用例执行情况的统计结果;所述测试文件显示单元,用于保存一次测试任务的执行的统计结果。
其中,所述自动化测试平台基于tcl&tk语言。本发明还提供一种自动化测试方法,基于如权利要求I所述的自动化测试系统,包括步骤步骤A,输入各功能模块的配置参数,选择测试用例集合;步骤B,启动测试流程;步骤C,串行执行所述测试用例集合中的测试用例,并更新所述测试用例的测试状态,并加载需要的测试脚本;步骤D,判断是否需要打开目标测试仪器,是,则打开,并进入步骤E,否,则执行后续步骤; 步骤E,循环遍历测试用例集合,执行每一个测试用例,测试完成后关闭测试仪器;步骤F,保存测试结果,更新测试状态;步骤G,结束测试流程。其中,所述步骤E中每一个测试用例的执行包括步骤启动当前测试用例;按照测试用例名字和当前测试时间建立日志文件,并且更新测试状态;执行当前测试用例;更新测试结果和测试状态;判断是否中止按钮被点击,是,则中止测试,否,则继续执行;单个测试用例执行结束。本发明提供的一种自动化测试系统,通过所述配置模块,输入各个功能模块的配置参数和流程控制开关命令,并显示各测试用例的测试状态;再设置所述测试日志模块、所述测试用例管理模块、所述测试结果统计模块、所述测试流程模块,分别对测试过程予以监控、记录,并统计测试结果,实现了对每一测试任务的测试用例集合的自动化管理,提高了测试效率;本发明的一种自动化测试方法,基于所述自动化测试系统,在所述自动化测试系统的基础上执行对每一测试任务的多个测试用例的依次执行,相比人工单独执行每个测试用例,准确度更高,效率也有所提升。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图I为本发明的一种自动化测试系统的结构示意图;图2为本发明的一种自动化测试系统的逻辑结构示意图;图3为本发明的一种自动化测试方法的流程图;图4为本发明的一种自动化测试方法中每个测试用例的执行过程的流程图。
具体实施例方式本发明的核心为提供一种自动化测试系统和方法,所述自动化测试系统为自动化测试平台,可以在上面快速构建自动化测试平台,增量开发。在本发明实施例中,所述自动化测试系统的开发语言基于tcl (Tool CommandLanguage,工具命令语言)&tk,特别适用于基于命令行来远程控制的设备的自动化。为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。参见图1,图I为本发明的一种自动化测试系统的结构示意图。所述自动化测试系统包括配置模块、测试日志模块、测试用例管理模块、测试结果统计模块、测试流程模块。所述配置模块,用于输入各个功能模块的配置参数和流程控制开关命令、显示各 测试用例的测试状态。所述配置模块,是基于tcl&tk自动化测试平台下的⑶I (Graphical UserInterface,图形用户接口)配置页面,负责各个模块参数配置和一些流程控制开关。该配置模块具有保存、加载功能。所述配置模块参数单元和流程控制参数单元。所述配置参数模块单元,为配置页面,对应各个功能模块的tk参数配置界面,用于对应的功能模块的配置参数的输入和显示。所述流程控制参数单元,用于控制测试流程中的各功能模块的打开和/或关闭。所述测试日志模块,用于按照各种日志级别,保存到对应级别日志文件。所述测试日志模块,包括日志过滤单元和保存日志单元。所述日志过滤单元,用于tk主界面日志监控,并按照日志级别动态切换。所述保存日志单元,用于保存一次测试任务的所有级别日志的备份文件集合。所述测试用例管理模块,用于从当前测试平台下的测试用例集合中选择测试用例形成当前测试任务。所述测试用例管理模块,在当前测试平台下的测试用例集合中,选中某些测试用例形成当前测试任务。该测试用例管理模块也具有保存、加载配置功能。所述测试用例管理模块,包括选择单元和保存和加载配置单元。所述选择单元,用于从当前测试平台下的所有测试用例中,按顺序选择测试用例形成测试任务。所述保存、加载配置单元,用于tk界面选择好的测试用例集配置的保存或加载tk界面以前选择好的测试用例配置。所述测试结果统计模块,用于对各测试用例的测试结果进行统计,并将测试结果通过所述配置模块显示。所述测试结果统计模块,包括测试结果显示单元和测试文件显示单元。所述测试结果显示单元,用于tk主界面实时监控测试用例执行情况的统计结果。所述测试文件显示单元,用于保存一次测试任务的执行的统计结果。优选地,在本发明实施例中,支持txt文本和excel 2种格式。所述测试流程模块,用于读取从所述GUI界面输入的配置参数,对所述GUI界面参数更新、依次遍历测试用例的执行、测试结果统计。本发明实施例的一种自动化测试系统,从逻辑组成的角度,参见图2所示,图2给出了本发明的自动化测试系统的逻辑组成。其包括tk图形用户接口、测试流程/平台、测试脚本和tcl功能库。其中tk图形用户接口,是基于tcl/tk语言的⑶I,在该图形界面可以配置各个tcl功能库的一些常用参数、或预先启动一些服务、或配置测试流程的一些参数。该GUI还可以方便用户选择测试用例组成测试任务、方便测试用例实时监控测试日志和测试结果。其中测试流程/平台,负责把用户测试脚本串行,启动、中止测试执行,并且能够监控测试脚本的执行日志、状态。其中测试脚本层是测试系统中测试脚本的集合,记录测试任务要完成的测试用 例。这里的测试脚本放在一个文件夹下的称为一个测试集合,不同的测试集合对应不同的测试任务。其中tcl功能库是用户测试脚本支撑的功能库,比如TestCenter仪器的驱动、CPE (Customer Premise Equipment,客户终端设备)猫的 WAN (wide area network,广域网)连接公共接口的建立等、还有常用的串口、telnet tcl库接口。本发明还提供了一种自动化测试方法,其基于前述自动化测试系统。参见图3所示,包括步骤步骤SllO :输入各功能模块的配置参数,选择测试用例集合。在这一步骤中,必须配置好各功能模块的配置参数和启动服务及选择好测试用例集。步骤Slll :启动测试流程。所述⑶I界面上设置有启动按钮。步骤S112 :串行执行所述测试用例集合中的测试用例,并更新所述测试用例的测试状态,并加载需要的测试脚本。tk自动化测试平台把用户选择的测试用例集串行、并更新tk界面状态、加载用户tcl 库。步骤SI 13 :判断是否需要打开目标测试仪器,是,则打开,并进入步骤SI 14,否,则执行后续步骤。tk自动化测试平台判断是否需要打开目标仪器,如果需要则打开。步骤S114 :循环遍历测试用例集合,执行每一个测试用例,测试完成后关闭测试仪器。循环遍历测试用例集,每一个测试用例都要执行一遍,期间会判断是否有用户中断测试。参见图4所示,所述步骤S114中每一个测试用例的执行包括步骤步骤S1141 :启动当前测试用例。此步骤为每个测试用例的入口。步骤S1142 :按照测试用例名字和当前测试时间建立日志文件,并且更新测试状态。按照测试用例名字和当前测试时间建立log日志文件,并且更新tk界面测试状态。步骤S1143 :执行当前测试用例。步骤S1144 :更新测试结果和测试状态。步骤S1145 :判断是否中止按钮被点击,是,则中止测试,否,则继续执行。步骤S1146 :单个测试用例执行结束。步骤SI 15 :保存测试结果,更新测试状态。 步骤S116 :结束测试流程。单个测试用例结束后,会继续执行测试任务中的其他测试用例,若本测试任务中的所有测试用例均执行完毕,则结束测试流程。现有的测试方法,一些测试用例可能被重复若干次,且全部用手工重复这些测试用例,由于测试用例涉及的功能模块配置比较多,因此导致测试效率低、浪费操作时间,并且测试报告格式也不统一、对一些bug收集证据不充分。本发明的一种自动化测试系统和方法,使得测试用例一键串行、提供tk界面监控执行流程、实时监控测试用例结果、测试完毕还有保存log日志及测试结果分析文件,有效避免人为失误,节约人力成本并缩短测试时间,提高了测试效率,加快了软件产品的制作周期。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上对本发明所提供的一种自动化测试系统和方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
权利要求
1.一种自动化测试系统,其特征在于,包括配置模块、测试日志模块、测试用例管理模块、测试结果统计模块、测试流程模块; 所述配置模块,用于输入各个功能模块的配置参数和流程控制开关命令、显示各测试用例的测试状态; 所述测试日志模块,用于按照各种日志级别,保存到对应级别日志文件; 所述测试用例管理模块,用于从当前测试平台下的测试用例集合中选择测试用例形成当前测试任务; 所述测试结果统计模块,用于对各测试用例的测试结果进行统计,并将测试结果通过所述配置模块显示; 所述测试流程模块,用于读取所述配置模块的输入的配置参数,并更新、依次遍历各测试用例的执行、测试结果统计。
2.根据权利要求I所述的自动化测试系统,其特征在于,所述配置模块参数单元和流程控制参数单元; 所述配置参数模块单元,用于对应的功能模块的配置参数的输入和显示; 所述流程控制参数单元,用于控制测试流程中的各功能模块的打开和/或关闭。
3.根据权利要求I所述的自动化测试系统,其特征在于,所述测试日志模块,包括日志过滤单元和保存日志单元; 所述日志过滤单元,用于监控日志,并按照日志级别动态切换; 所述保存日志单元,用于保存一次测试任务的所有级别日志的备份文件集合。
4.根据权利要求I所述的自动化测试系统,其特征在于,所述测试用例管理模块,包括选择单元和保存、加载配置单元; 所述选择单元,用于从当前测试平台下的所有测试用例中,按顺序选择测试用例形成测试任务; 所述保存、加载配置单元,用于各测试用例配置参数的保存和/或加载以前选择好的测试用例配置参数。
5.根据权利要求I所述的自动化测试系统,其特征在于,所述测试结果统计模块,包括测试结果显示单元和测试文件显示单元; 所述测试结果显示单元,用于测试结果显示,并实时监控测试用例执行情况的统计结果; 所述测试文件显示单元,用于保存一次测试任务的执行的统计结果。
6.根据权利要求1-5任一项所述的自动化测试系统,其特征在于,所述自动化测试平台基于tcl&tk语言。
7.一种自动化测试方法,其特征在于,基于如权利要求I所述的自动化测试系统,包括步骤 步骤A,输入各功能模块的配置参数,选择测试用例集合; 步骤B,启动测试流程; 步骤C,串行执行所述测试用例集合中的测试用例,并更新所述测试用例的测试状态,并加载需要的测试脚本; 步骤D,判断是否需要打开目标测试仪器,是,则打开,并进入步骤E,否,则执行后续步骤; 步骤E,循环遍历测试用例集合,执行每一个测试用例,测试完成后关闭测试仪器; 步骤F,保存测试结果,更新测试状态; 步骤G,结束测试流程。
8.根据权利要求7所述的自动化测试方法,其特征在于,所述步骤E中每一个测试用例的执行包括步骤 启动当前测试用例; 按照测试用例名字和当前测试时间建立日志文件,并且更新测试状态; 执行当前测试用例; 更新测试结果和测试状态; 判断是否中止按钮被点击,是,则中止测试,否,则继续执行; 单个测试用例执行结束。
全文摘要
本发明公开了一种自动化测试系统,包括配置模块、测试日志模块、测试用例管理模块、测试结果统计模块、测试流程模块;配置模块,用于输入各个功能模块的配置参数和流程控制开关命令、显示各测试用例的测试状态;测试日志模块,用于按照各种日志级别,保存到对应级别日志文件;测试用例管理模块,用于选择测试用例形成当前测试任务;测试结果统计模块,用于对各测试用例的测试结果进行统计,并将测试结果通过所述配置模块显示;测试流程模块,用于读取所述配置模块的输入的配置参数,并更新、依次遍历各测试用例的执行、测试结果统计。本发明还提供一种自动化测试方法,基于所述系统。该系统和方法,有效地提升了测试效率。
文档编号G06F11/22GK102799508SQ20121023454
公开日2012年11月28日 申请日期2012年7月9日 优先权日2012年7月9日
发明者聂伟峰, 阳志明, 田显兰, 沈黎歌, 袁文, 蒋小燕 申请人:深圳市共进电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1