本发明专利技术公开了对自动测试方法和系统,所述的自动测试方法包括以下步骤:输入消息结构体定义信息;编译消息接口定义;编辑具体消息实例;编写测试用例脚本文件;运行前台代理,驱动被测试模块和/或进程,把后台送去的驱动消息转发给相应的模块和/或进程,同时截取被测对象的输出,送到后台;运行测试脚本文件;接收前台反馈信息;输出测试结果。采用本发明专利技术的技术方案,能够实现对协议层语义/业务层语义测试,能够实现对独立模块的单元测试和多个模块的集成测试,同时该系统还能提供模块消息序列图,极大地方便系统调试和错误定位。另外,该系统提供脚本执行测试用例的方法,实现了自动测试功能。同时该系统还具备测试代码容错性的能力。
【技术实现步骤摘要】
本专利技术涉及到计算机通讯领域中的测试方法和系统,尤其涉及使用脚本执行测试用例、用消息驱动被测试对象的自动测试方法和系统。
技术介绍
在计算机通讯领域中,软件测试目的和重点在于测试业务流程是否正确、协议处理流程是否正确和系统容错性等。而采用通用的测试工具,由于通用性要求较高,主要关注源代码层的语义,通过分析、跟踪源代码的执行,测试源代码覆盖率、内存泄露等问题。而且,通讯软件测试中,往往需要在业务层语义上构造测试用例,故现有通用测试工具无法满足该需求,所以通用测试工具并不适合计算机通讯系统中软件测试。对于通讯领域中的协议软件,虽然可以选择协议分析仪,但也存在问题首先协议分析仪针对特定的协议族进行测试,但对于一些新协议或扩展功能则无能为力了,而往往在许多新产品开发的时候,可选用的协议分析仪不多;其次,协议分析仪价格昂贵;最后,协议分析仪只能作最后的系统测试,而无法对单独的模块进行单元测试或对几个模块做集成测试,而在通讯处理程序中,对单独模块进行单元测试是确保整个系统正确性的一个有效途径。在计算机通讯系统中,通常采用模块化设计,模块之间耦合度较小,模块之间采用消息通信。在系统的设计开发阶段,系统调试和故障定位往往需要参考模块之间的消息序列图。此时,通用测试工具和协议分析仪都无法满足要求。在通用的测试工具中,测试自动执行的能力差,虽然有些工具采用机器人的方法,但灵活性较差,主要针对一些界面操作等。在计算机通讯系统的测试中,前台通讯系统和后台测试系统工作独立,通过通讯电缆连接,为了测试前台通讯系统的正常情况和超负荷下的工作能力,往往需要后台测试程序对前台系统放送大量消息、测试程序能够长时间自动执行。显然,通用的测试工具无法满足此需求。另外,现有的测试工具中,还很难完成对计算机通讯系统中容错能力的测试,如在电讯软件中,30%的代码处理正常流程,而70%的代码处理异常流程,通用的测试工具注重对正确流程的测试,对异常处理能力的测试非常不充分。
技术实现思路
本专利技术所要解决的技术问题是为了克服现有通用测试工具和协议分析器在计算机通讯系统测试中存在的如下技术问题不能够实现对独立模块的单元测试和多个模块的集成测试;不能够提供模块消息序列图,不利于系统调试和错误定位;不能够实现自动测试功能。实现本专利技术所要解决的技术问题而采取的技术方案概括如下一方面,提供一种自动测试系统,包括主控模块、用户界面交互模块、消息接口编译模块、消息编辑模块、测试用例脚本编辑模块、脚本执行模块、前后台通信模块、前台代理模块、测试用例数据库及接口模块和测试报告生成模块,其中主控模块用于接收和响应用户所有的操作指令,协调控制其它多个模块的运行;用户界面交互模块实现主控模块与用户的操作的交互;消息接口编译模块用于编译消息结构定义信息,生成并保存消息接口描述信息;消息编辑模块读入所述保存的消息接口描述信息生成消息声明,再从消息声明产生并保存消息实例,编辑消息实例中的域值;测试用例脚本编辑模块用于测试用例脚本的文本编辑;脚本执行模块用于执行用户编写的测试用例脚本;前后台通信模块用于实现测试系统的前台,和后台之间的信息交互;前台代理模块用于驱动被测试模块和/或进程,把后台送去的驱动消息转发给相应的模块和/或进程,同时把被测对象反馈的信息送入到后台测试用例数据库及接口模块用于集中存储消息和脚本,并能够根据主控模块的查询、读取、写入命令输出相应的消息和脚本;测试报告生成模块用于处理测试结果,生成一定格式的测试报告。另一方面,提供一种自动测试的方法,包括以下步骤1)输入消息结构体定义信息;2)编译消息接口定义;3)编辑具体消息实例;4)编写测试用例脚本文件;5)运行前台代理,驱动被测试模块和/或进程,把后台送去的驱动消息转发给相应的模块和/或进程,同时截取被测对象的输出,送到后台;6)运行测试脚本文件; 7)接收前台反馈信息;8)输出测试结果。采用本专利技术技术方案,能够克服通用测试工具和协议分析仪在计算机通讯系统测试中存在的技术问题并能完成以下的功能能够实现对协议层语义/业务层语义测试,能够实现对独立模块的单元测试和多个模块的集成测试,同时该系统还能提供模块消息序列图,极大地方便系统调试和错误定位。另外,该系统提供脚本执行测试用例的方法,实现了自动测试功能。同时该系统还具备测试代码容错性的能力。附图说明图1示出了本专利技术提供的自动测试系统的系统结构示意图;图2示出了本专利技术提供的消息接口编译模块的接口示意图;图3示出了本专利技术提供的消息编辑模块工作流程图;图4示出了本专利技术提供的前后台通信模块通信示意图;图5示出了本专利技术提供的前台代理模块的结构示意图;图6示出了本专利技术提供的测试报告生成模块接口示意图。具体实施例方式下面将结合附图,举例说明本专利技术的具体实施方式。图1示出了本专利技术提供的自动测试系统的系统结构示意图。在本专利技术中,被测试对象的运行位置称为前台,测试人员操作的模块称为后台,图1中的各个模块在前后台的分布如下◆前台前台代理模块、前台通信模块;◆后台消息接口编译模块、消息编辑模块、测试用例脚本编辑模块、脚本执行模块、用户界面交互模块、后台通信模块、测试用例管理数据库及接口模块、测试报告生成模块、主控模块。根据本专利技术提供的自动测试系统,完整的测试方法包括以下步骤1)输入消息结构体定义信息;2)编译消息接口定义;3)编辑具体消息实例;4)编写测试用例脚本文件;5)运行前台代理,驱动被测试模块和/或进程,把后台送去的驱动消息转发给相应的模块和/或进程,同时截取被测对象的输出,送到后台; 6)运行测试脚本文件;7)接收前台反馈信息;8)输出测试结果。上述自动测试系统中各个功能模块的功能和工作流程具体说明如下一、消息接口编译模块图2示出了本专利技术提供的消息接口编译模块的接口示意图,如图2所示,消息接口编译模块模块完成的功能是编译消息结构定义信息,生成消息结构体描述消息,即消息接口描述信息,该接口描述信息可以被保存在消息接口文档中。被保存的消息接口描述信息可以重新读入,并输入到消息编辑模块重复使用。消息接口编译模块的生成结果“消息接口描述信息”现有的类似测试系统工具中所不具备的,该消息接口描述信息可以保存,重复使用。再次使用中,不用编译消息结构信息,直接读入保存的消息接口描述信息即可。消息接口编译模块的输入是消息结构体定义信息,输出为消息接口描述信息。消息结构体定义信息通常是采用各种编程语言定义的消息结构体信息。由于被测对象所采用的设计方法不同,被测试对象所使用的消息结构定义也不同,消息接口编译模块主要是完成编译各个不同类型的消息结构体定义,生成统一的接口消息,即消息接口描述信息,该信息是本系统所定义的一种特定格式信息,方便消息编辑处理。二、消息编辑模块图3示出了本专利技术提供的消息编辑模块工作流程图。如图3所示,消息编辑模块实现的功能是从消息接口编译模块保存的消息接口描述信息生成消息声明,再从消息声明产生消息实例,并编辑消息实例中的域值。其中,消息声明是指只包括消息中各个域之间的关系的对象。消息实例是指包括消息中各个域之间关系,也包括各个域值的对象。消息编辑模块的输入为消息接口描述消息,输出为消息实例。消息编辑模块是在满足被测对象的需求的基础上,提供一套方便易用的消息编辑方法。本文档来自技高网...
【技术保护点】
一种自动测试系统,其特征在于包括主控模块、用户界面交互模块、消息接口编译模块、消息编辑模块、测试用例脚本编辑模块、脚本执行模块、前后台通信模块、前台代理模块、测试用例数据库及接口模块和测试报告生成模块,其中:主控模块用于接收和响应用 户所有的操作指令,协调控制其它多个模块的运行;用户界面交互模块实现主控模块与用户的操作的交互;消息接口编译模块用于编译消息结构定义信息,生成并保存消息接口描述信息;消息编辑模块读入所述保存的消息接口描述信息生成消息声 明,再从消息声明产生并保存消息实例,编辑消息实例中的域值;测试用例脚本编辑模块用于测试用例脚本的文本编辑;脚本执行模块用于执行用户编写的测试用例脚本;前后台通信模块用于实现测试系统的前台,和后台之间的信息交互; 前台代理模块用于驱动被测试模块和/或进程,把后台送去的驱动消息转发给相应的模块和/或进程,同时把被测对象反馈的信息送入到后台测试用例数据库及接口模块用于集中存储消息和脚本,并能够根据主控模块的查询、读取、写入命令输出相应的消息和脚 本;测试报告生成模块用于处理测试结果,生成一定格式的测试报告。...
【技术特征摘要】
【专利技术属性】
技术研发人员:傅启洪,缪敬,杨新,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。