CN102253888B - 自动生成用例脚本的方法和装置 - Google Patents

自动生成用例脚本的方法和装置 Download PDF

Info

Publication number
CN102253888B
CN102253888B CN201110216606.5A CN201110216606A CN102253888B CN 102253888 B CN102253888 B CN 102253888B CN 201110216606 A CN201110216606 A CN 201110216606A CN 102253888 B CN102253888 B CN 102253888B
Authority
CN
China
Prior art keywords
end data
terminal
model
modeling
dynamic model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110216606.5A
Other languages
English (en)
Other versions
CN102253888A (zh
Inventor
郑章基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN201110216606.5A priority Critical patent/CN102253888B/zh
Publication of CN102253888A publication Critical patent/CN102253888A/zh
Priority to PCT/CN2012/079315 priority patent/WO2013017054A1/zh
Application granted granted Critical
Publication of CN102253888B publication Critical patent/CN102253888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种自动生成用例脚本的方法和装置,涉及终端测试领域,能够根据不同的后台数据生成与后台数据对应的用例脚本,适应了动态变化的UI操作,提高了自动生成用例脚本的技术的适用性。本发明的方法包括:根据终端的图形用户界面和终端的后台数据对终端进行建模,得到与后台数据对应的动态模型;根据动态模型生成用例脚本。本发明实施例主要用于自动生成终端测试用例的过程中。

Description

自动生成用例脚本的方法和装置
技术领域
本发明涉及终端测试领域,尤其涉及一种自动生成用例脚本的方法和装置。
背景技术
随着终端功能不断增强,定制版本增多,终端上的软件测试变得更加复杂,对终端测试的效率要求也更高了。较高级的终端软件测试用例数量繁多,规模庞大,所以通过测试用例脚本,实现终端软件测试的自动化已经成为亟需解决的问题。目前采用较多的生成用例的方法为手工编写用例,即开发人员根据手工测试用例,编写出对应的测试用例脚本,以便通过这些测试用例脚本进行自动化测试。然而,对照手工测试用例逐一编写测试用例脚本的方法,不仅效率低下,生成用例脚本的灵活性也受到限制,不能适应终端设备种类的增多和生产规模的扩大。
为了提高生成用例脚本的效率,现有技术中提出一种自动生成用例脚本的方法,该方法为根据用户界面(User Interface,UI)对终端进行建模,也就是通过建模语言对按键、菜单等进行描述,再根据模型自动生成用例脚本。对于不同的终端,只需要移植UI模型便可以根据UI模型自动生成用例脚本,不需要大量的人员和精力来进行人工编写用例脚本,提高了生成用例脚本的效率。但是,目前终端的用户界面会随着后台数据的变化而变化,例如,在邮箱应用中,当没有填写邮箱账号时选择“写邮件”,则会显示是否需要创建邮箱账号的用户界面;当已经填写账号时选择“写邮件”,则会进入邮件编辑的用户界面。
在实现上述自动生成用例脚本的过程中,发明人发现现有技术中至少存在如下问题:由于终端的UI操作会随着后台数据的变化而变化,仅仅通过描述UI菜单和按键得到的固定模型,不能随着后台数据的不同而动态生成对应的用例脚本,导致自动生成用例脚本的技术不能广泛适用。
发明内容
本发明的实施例提供一种自动生成用例脚本的方法和装置,能够根据不同的后台数据生成与后台数据对应的用例脚本,适应了动态变化的UI操作,提高了自动生成用例脚本的技术的适用性。
为达到上述目的,本发明的实施例采用如下技术方案:
一种自动生成用例脚本的方法,包括:
根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型;
根据所述动态模型生成用例脚本。
一种自动生成用例脚本的装置,包括:
建模单元,用于根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型;
用例生成单元,用于根据所述动态模型生成用例脚本。
本发明实施例提供的自动生成用例脚本的方法和装置,在根据UI建模的同时,还根据后台数据对UI模型进一步调整,得到随着后台数据的变化而变化的动态模型,再根据动态模型生成用例脚本,与现有技术中仅仅通过UI建模得到的固定模型,并根据固定模型生成用例脚本的方法相比,能够根据不同的后台数据生成与后台数据对应的用例脚本,适应了动态变化的UI操作,提高了自动生成用例脚本的技术的适用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中的方法流程图;
图2为本发明实施例2中的方法流程图;
图3为本发明实施例3中的一种装置组成示意图;
图4为本发明实施例3中的另一种装置组成示意图;
图5为本发明实施例3中的另一种装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例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操作,提高了自动生成用例脚本的技术的适用性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (7)

1.一种自动生成用例脚本的方法,其特征在于,包括:
根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型;
根据所述动态模型生成用例脚本;
其中,所述根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型包括:
用建模语言描述终端的图形用户界面所包含的菜单和/或按键,得到第一模型;
对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件;
用建模语言描述所述后台数据,抽象所述后台数据对所述控件的影响,得到所述后台数据的分析规则;
根据所述第一模型、所述后台数据以及所述后台数据的分析规则生成与所述后台数据对应的动态模型。
2.根据权利要求1所述的自动生成用例脚本的方法,其特征在于,还包括:
在对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件时,得到所述控件对应的用例生成规则;
所述根据所述动态模型生成用例脚本为:根据所述用例生成规则和所述动态模型生成用例脚本。
3.根据权利要求1或2所述的自动生成用例脚本的方法,其特征在于,所述建模语言包括可扩展标记语言和统一建模语言。
4.根据权利要求1所述的自动生成用例脚本的方法,其特征在于,根据所述第一模型、所述后台数据以及所述后台数据的分析规则生成与所述后台数据对应的动态模型具体为:根据所述后台数据以及所述后台数据的分析规则,对所述第一模型中的各个控件进行重新建模,得到随着后台数据的变化而变化的动态模型。
5.一种自动生成用例脚本的装置,其特征在于,包括:
建模单元,用于根据终端的图形用户界面和所述终端的后台数据对所述终端进行建模,得到与所述后台数据对应的动态模型;
用例生成单元,用于根据所述动态模型生成用例脚本;
其中,所述建模单元包括:
第一建模模块,用于用建模语言描述终端的图形用户界面所包含的菜单和/或按键,得到第一模型;
控件抽象模块,用于对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件;
数据抽象模块,用于用建模语言描述所述后台数据,抽象所述后台数据对所述控件的影响,得到所述后台数据的分析规则;
动态建模模块,用于根据所述第一模型、所述后台数据以及所述后台数据的分析规则生成与所述后台数据对应的动态模型。
6.根据权利要求5所述的自动生成用例脚本的装置,其特征在于,还包括:
规则获取单元,用于在对所述第一模型进行抽象,得到所述图形用户界面所包含的菜单和/或按键对应的控件时,得到所述控件对应的用例生成规则;
所述用例生成单元还用于:根据所述用例生成规则和所述动态模型生成用例脚本。
7.根据权利要求5或6所述的自动生成用例脚本的装置,其特征在于,所述建模语言包括可扩展标记语言和统一建模语言。
CN201110216606.5A 2011-07-29 2011-07-29 自动生成用例脚本的方法和装置 Active CN102253888B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110216606.5A CN102253888B (zh) 2011-07-29 2011-07-29 自动生成用例脚本的方法和装置
PCT/CN2012/079315 WO2013017054A1 (zh) 2011-07-29 2012-07-28 自动生成用例脚本的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110216606.5A CN102253888B (zh) 2011-07-29 2011-07-29 自动生成用例脚本的方法和装置

Publications (2)

Publication Number Publication Date
CN102253888A CN102253888A (zh) 2011-11-23
CN102253888B true CN102253888B (zh) 2014-06-25

Family

ID=44981164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110216606.5A Active CN102253888B (zh) 2011-07-29 2011-07-29 自动生成用例脚本的方法和装置

Country Status (2)

Country Link
CN (1) CN102253888B (zh)
WO (1) WO2013017054A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253888B (zh) * 2011-07-29 2014-06-25 华为终端有限公司 自动生成用例脚本的方法和装置
CN103729293A (zh) * 2013-12-30 2014-04-16 华东师范大学 一种基于uml活动图的gui测试方法
US9767009B2 (en) 2014-11-10 2017-09-19 International Business Machines Corporation Adaptation of automated test scripts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155514A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Method and System for Graphical User Interface Testing
CN101425012A (zh) * 2008-12-10 2009-05-06 深圳华为通信技术有限公司 基于模型自动化生成用例脚本的方法及装置
CN101464797A (zh) * 2008-12-09 2009-06-24 北京星网锐捷网络技术有限公司 基于统一建模语言活动图自动生成测试用例的方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2366344A1 (en) * 2001-12-27 2003-06-27 Ibm Canada Limited - Ibm Canada Limitee Organization of test cases
TW200710746A (en) * 2005-09-02 2007-03-16 Inventec Corp Test script generation system and method for production line
US20070168971A1 (en) * 2005-11-22 2007-07-19 Epiphany, Inc. Multi-tiered model-based application testing
KR101505438B1 (ko) * 2008-11-19 2015-03-25 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CA2713247C (en) * 2009-08-31 2015-06-16 Accenture Global Services Gmbh Integration environment generator
CN102253888B (zh) * 2011-07-29 2014-06-25 华为终端有限公司 自动生成用例脚本的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155514A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Method and System for Graphical User Interface Testing
CN101464797A (zh) * 2008-12-09 2009-06-24 北京星网锐捷网络技术有限公司 基于统一建模语言活动图自动生成测试用例的方法及系统
CN101425012A (zh) * 2008-12-10 2009-05-06 深圳华为通信技术有限公司 基于模型自动化生成用例脚本的方法及装置

Also Published As

Publication number Publication date
CN102253888A (zh) 2011-11-23
WO2013017054A1 (zh) 2013-02-07

Similar Documents

Publication Publication Date Title
CN106502725B (zh) 应用程序的升级方法、设备及电子设备
CN101504672B (zh) 一种动态配置实体数据表的方法和系统
CN102436498B (zh) 一种报表生成方法以及相关装置
CN103544106A (zh) 一种基于控件生成脚本的方法及装置
CN108829378A (zh) 一种应用软件的开发方法、装置及电子设备
CN104484171A (zh) 终端界面设计系统、方法及相关设备
CN102890632A (zh) 一种屏幕自适应方法、系统和终端设备
CN107220036A (zh) 一种组件和模板的可视化开发方法及系统
CN104298595A (zh) 自动化测试方法及测试系统
CN105653255B (zh) 一种在office框架中设置报告模板以自动生成报告文件的方法
CN110020356A (zh) 一种页面模块的代码生成方法、装置及系统
CN110389832A (zh) ZooKeeper容器集群部署方法、系统、设备及存储介质
CN103984626A (zh) 一种生成测试用例脚本的方法及装置
CN104111994A (zh) 一种基于混合数据源的标签数据筛选方法及装置
CN102253888B (zh) 自动生成用例脚本的方法和装置
CN104375934A (zh) 一种Android手机软件可靠性测试方法
CN104267962A (zh) 一种基于描述的界面ui控件配置方法
CN108959230B (zh) 一种生成报表模板的方法和装置
CN102624876B (zh) 一种数据配置方法和装置
CN106406952A (zh) 电子终端及应用程序管理装置与方法
CN109783782A (zh) 电子合同模板的生成方法、设备、存储介质及装置
CN101944017B (zh) 一种Widget的制作方法及其制作装置
CN104424239A (zh) 资源文件加载方法和装置
CN104503956A (zh) 粘贴数据的方法、装置及移动终端
CN104375814A (zh) 接口文档的生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171109

Address after: Metro Songshan Lake high tech Industrial Development Zone, Guangdong Province, Dongguan City Road 523808 No. 2 South Factory (1) project B2 -5 production workshop

Patentee after: HUAWEI terminal (Dongguan) Co., Ltd.

Address before: 518129 Longgang District, Guangdong, Bantian HUAWEI base B District, building 2, building No.

Patentee before: Huawei Device Co., Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: Huawei Device Co., Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: HUAWEI terminal (Dongguan) Co., Ltd.

CP01 Change in the name or title of a patent holder