CN103365643A - 一种自动生成图形用户界面的测试脚本的方法及装置 - Google Patents

一种自动生成图形用户界面的测试脚本的方法及装置 Download PDF

Info

Publication number
CN103365643A
CN103365643A CN2012101022314A CN201210102231A CN103365643A CN 103365643 A CN103365643 A CN 103365643A CN 2012101022314 A CN2012101022314 A CN 2012101022314A CN 201210102231 A CN201210102231 A CN 201210102231A CN 103365643 A CN103365643 A CN 103365643A
Authority
CN
China
Prior art keywords
file
user interface
test
combined value
graphic user
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.)
Granted
Application number
CN2012101022314A
Other languages
English (en)
Other versions
CN103365643B (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.)
GE Medical Systems Global Technology Co LLC
Original Assignee
GE Medical Systems Global Technology Co LLC
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 GE Medical Systems Global Technology Co LLC filed Critical GE Medical Systems Global Technology Co LLC
Priority to CN201210102231.4A priority Critical patent/CN103365643B/zh
Priority to US13/851,783 priority patent/US9141521B2/en
Priority to NL2010546A priority patent/NL2010546C2/en
Publication of CN103365643A publication Critical patent/CN103365643A/zh
Application granted granted Critical
Publication of CN103365643B publication Critical patent/CN103365643B/zh
Expired - Fee Related 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及软件测试技术领域中的图形用户界面的自动化测试技术领域。本发明提供的一种自动生成图形用户界面的测试脚本的方法,包括定义被测图形用户界面中的每个构件的信息、撰写测试用例文件、生成构件组合值文件、对每个组合值文件中的每一个构件值添加操作类型、确定每个组合值文件中的各个操作之间的先后顺序和生成测试脚本等步骤。该方法减少了测试人员手动编写测试脚本的工作量,且便于测试脚本的维护。

Description

一种自动生成图形用户界面的测试脚本的方法及装置
技术领域
本发明涉及软件测试技术领域,特别涉及自动生成图形用户界面的测试脚本的技术领域。
背景技术
现有的自动化测试工具,在对图形用户界面(GUI)进行自动化测试时,都需要测试人员根据测试用例的要求,手工的编写相应的测试脚本,而自动化测试工具本身只能够自动的运行这些已经编写好的测试脚本,比如,基于Windows的自动化测试工具Winrunner和基于Linux的自动化测试工具Xrunner都属于这种情况。这样的自动化测试工具存在如下问题:
1、人工撰写测试脚本有一定困难。不同的自动化测试工具有各自不同的编程风格和语法,测试人员需要熟悉如何编写合格的测试脚本,此外,不同的测试用例需要包含不同的测试脚本;
2、测试脚本的维护有一定困难。一旦被测的图形用户界面改变,所有的测试脚本需要手动修改。
发明内容
本发明所要解决的技术问题是提供一种自动生成图形用户界面的测试脚本的方法及装置,以解决现有技术中测试人员需要手工撰写测试脚本,脚本维护困难的问题。
为了解决这个问题,本发明的第一方面在于提供一种自动生成图形用户界面的测试脚本的方法,包括如下步骤:
1)定义被测图形用户界面中的每个构件的信息:定义每个构件的属性和该构件与其他构件的相互约束关系;
2)撰写测试用例文件:将拟向被测图形用户界面中的每个构件写入的值和测试检查点信息存于该文件;
3)生成构件组合值文件:对测试用例文件中的所有构件的值进行组合,得到若干个组合值文件,每个文件包含一种可能的组合;
4)对每个组合值文件中的每一个构件添加操作类型:根据构件的属性,确定组合值文件中的每一个构件值的操作类型;
5)确定每个组合值文件中的各个操作之间的先后顺序:根据构件的相互约束关系,重新排列组合值文件中的每一个操作的先后顺序。
6)生成测试脚本:将测试检查点信息加入每个组合值文件的最后,得到测试脚本文件。
为解决这个问题,与上述第一方面相结合,本发明的第二方面在于提供一种自动生成图形用户界面的测试脚本的方法,所述的每个构件的属性的取值范围是一个集合,包括对该构件所有可能的操作类型。
为了解决这个问题,与上述第一方面相结合,本发明的第三方面在于提供一种自动生成图形用户界面的测试脚本的方法,所述的每个构件的相互约束关系的取值范围是一个集合,包括该构件与其他构件之间的所有输入和输出关系。
为解决这个问题,与上述第一方面相结合,本发明的第四方面在于提供一种自动生成图形用户界面的测试脚本的方法,所述的每个构件的信息还包括构件的编号、类型、名称。
为解决这个问题,本发明还提供一种自动生成图形用户界面的测试脚本的装置,包括用于定义被测图形用户界面中的每个构件的信息的模块,其定义每个构件的属性和该构件与其他构件的相互约束关系;用于撰写测试用例文件的模块,其将拟向被测图形用户界面中的每个构件写入的值和测试检查点信息存于该文件;用于生成构件值组合文件的模块,其对测试用例文件中的所有构件的值进行组合,得到若干个组合值文件,每个文件包含一种可能的组合;用于对每个组合值文件中的每一个构件值添加操作类型的模块,其根据构件的属性,确定组合值文件中的每一个构件值的操作类型;用于确定每个组合值文件中的各个操作之间的先后顺序的模块,其根据构件的相互约束关系,重新排列组合值文件中的每一个操作的先后顺序;用于生成测试脚本的模块,其将测试检查点信息加入每个组合值文件的最后,得到测试脚本文件。
与现有技术相比,本发明提供的一种自动生成图形用户界面的测试脚本的方法及装置,其有益的技术效果是:
1、减少了测试人员手动编写测试脚本的工作量。由于能够根据测试用例文件自动的生成测试脚本文件,因此,不再需要测试者掌握测试脚本编程的语法;
2、便于测试脚本的维护:一旦被测图形用户界面发生变动,只需要修改测试用例文件,就能自动重新生成新的测试脚本文件。
附图说明
图1是本发明提出的一种自动生成图形用户界面的测试脚本的方法的总体流程图;
图2是本发明提出的一种自动生成图形用户界面的测试脚本的装置的示意性框图;
图3是本发明具体实施方式中的被测图形用户界面的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
在本实施例中,我们对附图3所示的一个图形用户界面进行测试。
第一步:定义被测图形用户界面中的每个构件的信息,按照如下格式定义每一个构件的信息:
W={id,type,name,attribute,constraint}
其中,id是该构件的编号;type是该构件的类型,如:文本框、按钮、下拉框等;name是该构件的名称;attibute是该构件的属性,其取值范围是一个集合,用于描述对于该构件所有可能的操作类型,比如:***、删除、点击、选择等;constraint是该构件与其他构件之间的约束关系,比如:用于描述该构件是另一个构件的输入等。
具体到附图3可以看出,该图形用户界面一共包括四个构件,分别是:“Amount”、“Rate”、“Term”和“Calculate”。对于每一个构件,按照上述格式定义其信息如下:
W1={id1,文本框,Amount,***/删除,w1->w4}
W2={id2,文本框,Rate,***/删除,w2->w4}
W3={id3,下拉框,Term,选择,w3->w4}
W4={id4,按钮,Calculate,点击,w4->Window2}
其中,w1->w4、w2->w4、w3->w4表示w1、w2和w3是w4的输入,w4->Window2表示w4的输出是另一个窗口Window2以及在Window2中显示的内容。
第二步:撰写测试用例文件,包含如下信息:
W1:21,0,-999
W2:1.0,6.48
W3:1,2,3
W4:单击、双击
检查Window2
该测试用例文件中,以每一个构件值为一行,包括了测试过程中拟向被测图形用户界面中的每个构件写入的值,最后一行还注明了该测试用例的检查点信息。
第三步:生成构件组合值文件。对第二步的测试用例文件中的构件值进行组合,每一种可能的组合就是一个构件值组合文件,下面是其中的几种组合的示例:
组合值文件1:
w121
w21.0
w31
w4单击
组合值文件2:
w10
w21.0
w31
w4单击
组合值文件3:
w1-999
w21.0
w31
w4单击
组合值文件4:
w1-999
w26.48
w33
w4双击
第四步:确定每个组合值文件中的每一个构件值的操作类型。根据第一步定义的构件的属性attribute,确定组合值文件中的每一个构件值的操作类型,并将该操作类型添加到组合值文件中。添加操作类型后的组合值文件如下所示:
组合值文件1:
***w121
***w21.0
选择w31
点击w4单击
组合值文件2:
***w10
***w21.0
选择w31
点击w4单击
组合值文件3:
***w1-999
***w21.0
选择w31
点击w4单击
组合值文件4:
***w1-999
***w26.48
选择w33
点击w4双击
第五步:确定每个组合值文件中的各个操作之间的先后顺序。根据第一步定义的构件的相互约束关系constraint可知,w1、w2和w3的输出都是w4所必需的输入,因此,应该先对w1、w2和w3进行相应的操作以后,再操作w4,所以,对第四步得到的组合之文件的每一个操作进行重新排序时,就按照这个准则进行。本实施例中,重新排序以前,组合之文件中的操作顺序刚好满足这个准则的要求,因此重新排序以后,顺序保持不变。
第六步:生成测试脚本。将第二步撰写的测试用例文件中的测试检查点信息加入第五步得到的每个组合值文件的最后,得到测试脚本文件如下:
测试脚本文件1:
***w121
***w21.0
选择w31
点击w4单击
检查Window2
测试脚本文件2:
***w10
***w21.0
选择w31
点击w4单击
检查Window2
测试脚本文件3:
***w1-999
***w21.0
选择w31
点击w4单击
检查Window2
测试脚本文件4:
***w1-999
***w26.48
选择w33
点击w4双击
检查Window2
从以上描述可以看出,第一步所定义的信息是图形用户界面的开发设计者提供的,只有第二步需要图形用户界面的测试人员手动撰写,而这步所涉及的工作量并不大,需要较大工作量的后面几步,都可以由计算机自动生成。并且,如果对被测的图形用户界面做出了修改,需要重新测试时,只需修改测试用例文件,然后让计算机自动执行后面四个步骤,就可以快速的生成所需要的新测试脚本。

Claims (5)

1.一种自动生成图形用户界面的测试脚本的方法,包括如下步骤:
1)定义被测图形用户界面中的每个构件的信息:定义每个构件的属性和该构件与其他构件的相互约束关系;
2)撰写测试用例文件:将拟向被测图形用户界面中的每个构件写入的值和测试检查点信息存于该文件;
3)生成构件组合值文件:对测试用例文件中的所有构件的值进行组合,得到若干个组合值文件,每个文件包含一种可能的组合;
4)对每个组合值文件中的每一个构件值添加操作类型:根据构件的属性,确定组合值文件中的每一个构件值的操作类型;
5)确定每个组合值文件中的各个操作之间的先后顺序:根据构件的相互约束关系,重新排列组合值文件中的每一个操作的先后顺序。
6)生成测试脚本:将测试检查点信息加入每个组合值文件的最后,得到测试脚本文件。
2.根据权利要求1所述的一种自动生成图形用户界面的测试脚本的方法,其特征是:所述的每个构件的属性的取值范围是一个集合,包括对该构件所有可能的操作类型。
3.根据权利要求1所述的一种自动生成图形用户界面的测试脚本的方法,其特征是:所述的每个构件的相互约束关系的取值范围是一个集合,包括该构件与其他构件之间的所有输入和输出关系。
4.根据权利要求1所述的一种自动生成图形用户界面的测试脚本的方法,其特征是:所述的每个构件的信息还包括构件的编号、类型、名称。
5.一种自动生成图形用户界面的测试脚本的装置,包括用于定义被测图形用户界面中的每个构件的信息的模块,其定义每个构件的属性和该构件与其他构件的相互约束关系;用于撰写测试用例文件的模块,其将拟向被测图形用户界面中的每个构件写入的值和测试检查点信息存于该文件;用于生成构件组合值文件的模块,其对测试用例文件中的所有构件的值进行组合,得到若干个组合值文件,每个文件包含一种可能的组合;用于对每个组合值文件中的每一个构件值添加操作类型的模块,其根据构件的属性,确定组合值文件中的每一个构件值的操作类型;用于确定每个组合值文件中的各个操作之间的先后顺序的模块,其根据构件的相互约束关系,重新排列组合值文件中的每一个操作的先后顺序;用于生成测试脚本的模块,其将测试检查点信息加入每个组合值文件的最后,得到测试脚本文件。
CN201210102231.4A 2012-03-27 2012-03-30 一种自动生成图形用户界面的测试脚本的方法及装置 Expired - Fee Related CN103365643B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210102231.4A CN103365643B (zh) 2012-03-30 2012-03-30 一种自动生成图形用户界面的测试脚本的方法及装置
US13/851,783 US9141521B2 (en) 2012-03-27 2013-03-27 Method and apparatus for automatically generating a test script for a graphical user interface
NL2010546A NL2010546C2 (en) 2012-03-30 2013-03-29 Method and apparatus for automatically generating a test script for a graphical user interface.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210102231.4A CN103365643B (zh) 2012-03-30 2012-03-30 一种自动生成图形用户界面的测试脚本的方法及装置

Publications (2)

Publication Number Publication Date
CN103365643A true CN103365643A (zh) 2013-10-23
CN103365643B CN103365643B (zh) 2017-07-21

Family

ID=48539358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210102231.4A Expired - Fee Related CN103365643B (zh) 2012-03-27 2012-03-30 一种自动生成图形用户界面的测试脚本的方法及装置

Country Status (3)

Country Link
US (1) US9141521B2 (zh)
CN (1) CN103365643B (zh)
NL (1) NL2010546C2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984626A (zh) * 2014-05-13 2014-08-13 华为技术有限公司 一种生成测试用例脚本的方法及装置
CN104572961A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种交易数据的获取方法和装置
CN107391378A (zh) * 2017-07-27 2017-11-24 郑州云海信息技术有限公司 一种测试脚本的生成方法及装置
CN110502420A (zh) * 2018-05-17 2019-11-26 北京京东尚科信息技术有限公司 一种实现测试脚本自修复的方法和装置
CN117234946A (zh) * 2023-11-10 2023-12-15 深圳市金政软件技术有限公司 项目库***的自动化测试方法及相关设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417994B2 (en) 2014-04-08 2016-08-16 Turnkey Solutions, Corp. Software test automation system and method
CN104008050B (zh) * 2014-05-16 2016-08-31 北京交通大学 一种自动生成接口型式试验测试序列的***及方法
US10229038B2 (en) * 2016-03-15 2019-03-12 International Business Machines Corporation Generating reusable testing procedures
CN107239392B (zh) * 2016-03-29 2021-02-12 腾讯科技(深圳)有限公司 一种测试方法、装置、终端及存储介质
CN106021102B (zh) * 2016-05-16 2019-05-28 北京奇虎科技有限公司 自动化测试文件的生成方法及装置
CN106526506A (zh) * 2016-11-03 2017-03-22 武汉通畅汽车电子照明有限公司 Led汽车前照灯测试用例自动生成方法
JP6684233B2 (ja) * 2017-01-12 2020-04-22 株式会社日立製作所 テスト入力情報検索装置及び方法
CN109582560A (zh) * 2018-10-09 2019-04-05 中国平安人寿保险股份有限公司 测试文件编辑方法、装置、设备及计算机可读存储介质
CN109582411A (zh) * 2018-10-17 2019-04-05 深圳壹账通智能科技有限公司 图形用户界面生成方法、装置、计算机设备及存储介质
US11086963B2 (en) * 2018-12-05 2021-08-10 Ebay Inc. Adaptive data platforms
US11307972B2 (en) * 2019-01-18 2022-04-19 Walmart Apollo, Llc System and method for scalable automated user interface testing
CN109857668A (zh) * 2019-02-03 2019-06-07 苏州市龙测智能科技有限公司 Ui自动化功能测试方法、测试装置、测试设备及存储介质
US11074162B2 (en) * 2019-04-15 2021-07-27 Cognizant Technology Solutions India Pvt. Ltd. System and a method for automated script generation for application testing
CN110286894B (zh) * 2019-05-09 2023-07-04 华自科技股份有限公司 脚本生成方法、装置、计算机设备和存储介质
CN110262962A (zh) * 2019-05-21 2019-09-20 钛马信息网络技术有限公司 生成测试脚本的方法及装置
CN111352844B (zh) * 2020-03-04 2021-08-17 腾讯科技(深圳)有限公司 一种测试方法和相关装置
CN112101000A (zh) * 2020-09-17 2020-12-18 浪潮电子信息产业股份有限公司 信息一致性测试方法、装置、设备及计算机可读存储介质
CN113127354B (zh) * 2021-04-21 2023-08-11 武汉思普崚技术有限公司 基于Web UI的自动化测试方法、装置、设备及存储介质
CN113742250B (zh) * 2021-11-05 2022-03-29 广州易方信息科技股份有限公司 接口自动测试方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339534A (zh) * 2008-06-17 2009-01-07 金蝶软件(中国)有限公司 一种软件测试的方法及装置
CN101526916A (zh) * 2008-03-03 2009-09-09 阿里巴巴集团控股有限公司 基于页面对象流验证在回归测试中的应用方法及***
US20100037210A1 (en) * 2006-06-05 2010-02-11 International Business Machines Corporation Generating functional test scripts

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0869433A3 (en) 1997-03-31 1999-10-06 Siemens Corporate Research, Inc. A test development system and method for software with a graphical user interface
US6061643A (en) 1998-07-07 2000-05-09 Tenfold Corporation Method for defining durable data for regression testing
US7165240B2 (en) * 2002-06-20 2007-01-16 International Business Machines Corporation Topological best match naming convention apparatus and method for use in testing graphical user interfaces
US7454660B1 (en) * 2003-10-13 2008-11-18 Sap Ag System and method for testing applications at the business layer
US7856619B2 (en) * 2006-03-31 2010-12-21 Sap Ag Method and system for automated testing of a graphic-based programming tool
EP2245551B1 (en) * 2008-02-29 2018-05-30 Entit Software LLC Identification of elements of currently-executing component script
US20100281467A1 (en) * 2009-04-29 2010-11-04 Hexaware Technologies, Inc. Method and apparatus for automatic software testing
US8918760B2 (en) * 2012-12-07 2014-12-23 Sugarcrm Inc. Test script generation for application image validation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100037210A1 (en) * 2006-06-05 2010-02-11 International Business Machines Corporation Generating functional test scripts
CN101526916A (zh) * 2008-03-03 2009-09-09 阿里巴巴集团控股有限公司 基于页面对象流验证在回归测试中的应用方法及***
CN101339534A (zh) * 2008-06-17 2009-01-07 金蝶软件(中国)有限公司 一种软件测试的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
THOMAS OSTRAND等: ""A visual test development environment for GUI systems"", 《ACM SIGSOFT SOFTWARE ENGINEERING NOTES》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984626A (zh) * 2014-05-13 2014-08-13 华为技术有限公司 一种生成测试用例脚本的方法及装置
CN104572961A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种交易数据的获取方法和装置
CN107391378A (zh) * 2017-07-27 2017-11-24 郑州云海信息技术有限公司 一种测试脚本的生成方法及装置
CN110502420A (zh) * 2018-05-17 2019-11-26 北京京东尚科信息技术有限公司 一种实现测试脚本自修复的方法和装置
CN117234946A (zh) * 2023-11-10 2023-12-15 深圳市金政软件技术有限公司 项目库***的自动化测试方法及相关设备
CN117234946B (zh) * 2023-11-10 2024-02-02 深圳市金政软件技术有限公司 项目库***的自动化测试方法及相关设备

Also Published As

Publication number Publication date
US20130262934A1 (en) 2013-10-03
NL2010546A (en) 2013-10-01
NL2010546C2 (en) 2013-12-24
US9141521B2 (en) 2015-09-22
CN103365643B (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
CN103365643A (zh) 一种自动生成图形用户界面的测试脚本的方法及装置
US9501596B2 (en) Graphical design verification environment generator
USRE46849E1 (en) Lifecycle management of automated testing
US8196113B2 (en) Realtime creation of datasets in model based testing
US7367017B2 (en) Method and apparatus for analyzing machine control sequences
CN100401265C (zh) 关键字驱动的自动化测试***及方法
CN110249300B (zh) 内置于数据集成工作流编辑器中的测试用例生成器
US10067859B2 (en) Constructing test-centric model of application
CN104679519A (zh) 图形用户界面软件功能获取方法及装置
CN104375934B (zh) 一种Android手机软件可靠性测试方法
KR20130059267A (ko) 시험 모듈 생성 장치, 시험 순서 생성 장치, 생성 방법, 프로그램, 및 시험 장치
RU2678717C1 (ru) Способ построения программного комплекса автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств
CN113919158A (zh) 一种用于飞行控制面板的仿真方法、装置及存储介质
Swearngin et al. Easing the generation of predictive human performance models from legacy systems
Jakšić et al. Evaluating the usability of a visual feature modeling notation
US8769506B2 (en) Using a command interpreter at design time
CN104820638A (zh) 一种嵌入式的整机自动测试方法
JPWO2015122118A1 (ja) 業務支援システム、業務支援システムを実行するプログラム及びそれを記録した媒体
CN104375936B (zh) 一种自动测试方法及装置
Ornelas et al. USS: User support system
Lin et al. Usage modeling through sequence enumeration for automated statistical testing of a GUI application
Rodríguez Silva et al. White-Box Testing Framework for Object-Oriented Programming based on Message Sequence Specification
CN118295925A (zh) 基于图形化界面工具的测试案例自动生成方法及***
Alexander et al. First-Class Tools
Loer et al. Integrating model checking with the industrial design of interactive systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170721

Termination date: 20210330

CF01 Termination of patent right due to non-payment of annual fee