具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种自动生成用例脚本的方法,如图1所示,该方法包括:
101、根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型。
其中,根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,包括分别对终端的UI和后台数据进行建模,即用建模语言描述终端UI包含的菜单和/或按键,并用建模语言描述终端的后台数据。所述后台数据是指对终端UI有影响的终端上的存储数据,在描述后台数据时,可以包含后台数据的类、对象以及对象属性等。所述建模语言可以是可扩展标记语言(eXtensibleMarkup Language,XML)或者统一建模语言(Unified Modeling Language,UML)。
其中,建立所述动态模型的方法可以为:用建模语言描述终端的图形用户界面所包含的菜单和/或按键,得到第一模型;对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件;用建模语言描述所述后台数据,抽象所述后台数据对所述控件的影响,得到所述后台数据的分析规则;根据所述第一模型、所述后台数据以及所述后台数据的分析规则生成与所述后台数据对应的动态模型。
需要说明的是,所述终端可以为任何具备UI显示的装置,例如手机、刷卡机、操控台、计算机等等。
102、根据所述动态模型生成用例脚本。
其中,在建立动态模型的步骤101中,可以在对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件时,得到所述控件对应的用例生成规则。生成用例脚本的方法为:根据所述用例生成规则和所述动态模型生成用例脚本。
本发明实施例提供的自动生成用例脚本的方法,在根据UI建模的同时,还根据后台数据对UI模型进一步调整,得到随着后台数据的变化而变化的动态模型,再根据动态模型生成用例脚本,与现有技术中仅仅通过UI建模得到的固定模型,并根据固定模型生成用例脚本的方法相比,能够根据不同的后台数据生成与后台数据对应的用例脚本,适应了动态变化的UI操作,提高了自动生成用例脚本的技术的适用性。
实施例2
本发明实施例提供一种自动生成用例脚本的方法,如图2所示,该方法包括:
201、用建模语言描述终端的图形用户界面所包含的菜单和/或按键,得到第一模型。
其中,建模语言可以是可扩展标记语言(eXtensible Markup Language,XML)或者统一建模语言(Unified Modeling Language,UML)。在根据UI建模,得到第一模型时,采用建模语言节点描述,形成菜单数,并且为每个菜单定义激活需要的按键,以便在生成的用例脚本通过模拟按键操作实现对终端的测试,所以菜单及按键描述是建模的核心。
其中,所述终端可以任何具备UI显示的设备,例如手机、刷卡机、操控台、计算机等等。
202、对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件,同时得到所述控件对应的用例生成规则。
其中,将第一模型中的菜单和/或按键抽象为不同种类的控件或应用,便可以将对终端系统和软件的测试转换成对各个控件或应用的测试。在完成控件的抽象后,可以获取各个控件对应的用例生成规则,根据不同控件生成对应的模拟UI操作。例如,可以将邮箱UI中的“收音机”抽象为一个控件,该控件的用例生成规则为选择每一个子项并进行设置,并检查是否成功。
203、用建模语言描述所述后台数据,抽象所述后台数据对所述控件的影响,得到所述后台数据的分析规则。
其中,由于各个控件的UI并不是一成不变的,而是会根据后台数据的变化而变化的,所以需要根据后台数据对控件的影响,进一步调整控件的UI模型,以便在准确的UI模型上生成用例脚本。其中,在XML文件中包含对后台数据的描述,这些描述中包含数据的类、对象以及对象的属性等,而后台数据的分析规则则包含了根据对象的属性、对象的数量或者对象所属的类,对控件UI进行调整。例如,邮箱账户对应的控件中的后台数据“mailbox00.isDefalt:yes”表示“邮箱00是默认邮箱”,此时数据的分析规则为:选择该账户对应的UI模型包含“编辑”和“删除”两个子选项。而后台数据“mailbox189.isDefalt:no”对应的子选项中则还包含“设为默认邮箱”的子选项。
204、根据所述第一模型、所述后台数据以及所述后台数据的分析规则生成与所述后台数据对应的动态模型。
其中,根据后台数据以及后台数据的分析规则,对第一模型中的各个控件进行重新建模,得到随着后台数据的变化而变化的动态模型。
205、根据所述用例生成规则和所述动态模型生成用例脚本。
其中,根据步骤202中得到的各个控件用例生成规则,以及步骤204中得到的动态模型,生成对应的用例脚本。由各个控件的动态UI模型以及控件对应的用例生成规则,生成各个控件对应的测试用例,进而得到整个终端系统和软件的测试用例。
本发明实施例提供的自动生成用例脚本的方法,在根据UI建模的同时,还根据后台数据对UI模型进一步调整,得到随着后台数据的变化而变化的动态模型,再根据动态模型生成用例脚本,与现有技术中仅仅通过UI建模得到的固定模型,并根据固定模型生成用例脚本的方法相比,能够根据不同的后台数据生成与后台数据对应的用例脚本,适应了动态变化的UI操作,提高了自动生成用例脚本的技术的适用性。
实施例3
本发明实施例提供一种自动生成用例脚本的装置,如图3所示,包括:建模单元31、用例生成单元32。
建模单元31,用于根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型。
用例生成单元32,用于根据所述动态模型生成用例脚本。
进一步的,如图4所示,所述建模单元31包括:第一建模模块311、控件抽象模块312、数据抽象模块313、动态建模模块314。
第一建模模块311,用于用建模语言描述终端的图形用户界面所包含的菜单和/或按键,得到第一模型。
控件抽象模块312,用于对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件。
数据抽象模块313,用于用建模语言描述所述后台数据,抽象所述后台数据对所述控件的影响,得到所述后台数据的分析规则。
动态建模模块314,用于根据所述第一模型、所述后台数据以及所述后台数据的分析规则生成与所述后台数据对应的动态模型。
进一步的,如图5所示,该自动生成用例脚本的装置,还包括:规则获取模块33。
规则获取单元33,用于在对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件时,得到所述控件对应的用例生成规则。
所述用例生成单元32还用于:根据所述用例生成规则和所述动态模型生成用例脚本。
本发明实施例提供的自动生成用例脚本的装置,在根据UI建模的同时,还根据后台数据对UI模型进一步调整,得到随着后台数据的变化而变化的动态模型,再根据动态模型生成用例脚本,与现有技术中仅仅通过UI建模得到的固定模型,并根据固定模型生成用例脚本的方法相比,能够根据不同的后台数据生成与后台数据对应的用例脚本,适应了动态变化的UI操作,提高了自动生成用例脚本的技术的适用性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。