UI测试方法及装置制造方法及图纸

技术编号:15241264 阅读:43 留言:0更新日期:2017-05-01 01:29
本发明专利技术公开了一种UI测试方法,属于软件测试领域。所述方法包括:解析第一描述文件,得到测试用例的至少一条测试步骤和预期测试结果,解析第二描述文件,得到每个测试步骤中的测试操作所对应的类文件,对于每条测试步骤,根据类文件对被测试程序中的目标UI控件进行测试;根据应用程序的输出结果是否与预期测试结果相同,得到测试用例的测试结果;解决了相关技术中需要有一定的编程基础才能编写出测试脚本,且测试脚本不具有重复利用性的问题;达到了通过测试工程师只需要使用自然语言在第一描述文件中描述测试用例,然后就能够根据第二描述文件来自动完成测试,整个测试方法简单高效的效果,而且第二描述文件具有重复利用性。

UI testing method and device

The invention discloses a UI testing method, belonging to the field of software testing. The method includes: the analytical description file, at least one test steps and expected test results of test cases, second analytical description file, get the corresponding operation for each test step in the test class file for each test step, according to the class file to test the program in the UI control is tested according to the target; the output of the application results whether the test results and test results are the same as expected, test case; solve the need to have some basic programming to write test scripts in the relevant technology, and does not have the test script reuse problem; achieved by test engineers only need to use natural language to describe the test case in the first description file then, according to the automatic test second description file, the test method is simple and high effect , and the second description file is reusable.

【技术实现步骤摘要】

本专利技术实施例涉及软件测试领域,特别涉及一种UI测试方法及装置。
技术介绍
UI(UserInterface,用户界面)测试是一种对应用程序上的UI控件元素进行测试的技术。比如,点击用户界面上的每个UI控件元素,检测被测试的应用程序的输出结果是否符合预期测试结果。以对智能手机上的应用程序进行UI测试为例,现有技术中的一种测试方法为:测试工程师学习对自动化测试工具的使用,测试工程师为被测试的应用程序构建测试用例,根据测试用例和自动化测试工具编写测试脚本,然后在智能终端上运行该测试脚本和被测试程序来得到测试结果。比如,测试用例工程师编写一个测试用例为“点击被测试程序中第一个用户界面上的按钮A”,预期测试结果是“出现第二用户界面”,测试框架工程师根据该测试用例和自动化测试工具编写相应的测试脚本,然后在智能终端上运行该测试脚本和被测试程序,并对得到的测试结果是否为“出现第二用户界面”进行判断。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:测试工程师需要学习对自动化测试工具的使用,需要有一定的编程基础才能够编写出测试脚本,而且测试脚本通常为针对测试用例的专用程序,不具有重复利用性。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种UI测试方法。所述技术方案如下:第一方面,提供了一种UI测试方法,该方法包括:解析第一描述文件,得到测试用例的至少一条测试步骤和每个测试步骤的预期测试结果;第一描述文件包括采用自然语言描述的测试用例,每条测试步骤包括:测试操作和目标UI控件;解析第二描述文件,得到每个测试步骤中的测试操作所对应的类文件,第二描述文件包括至少一种测试操作与类文件之间的对应关系;对于每条测试步骤,根据类文件对被测试的应用程序中的目标UI控件进行测试,得到应用程序的输出结果;根据应用程序的输出结果是否与预期测试结果相同,得到测试用例的测试结果。根据本公开实施例的第二方面,提供一种UI测试装置,该装置包括:第一解析模块,用于解析第一描述文件,得到测试用例的至少一条测试步骤和每个测试步骤的预期测试结果;第一描述文件包括采用自然语言描述的测试用例,每条测试步骤包括:测试操作和目标UI控件;第二解析模块,用于解析第二描述文件,得到每个测试步骤中的测试操作所对应的类文件,第二描述文件包括至少一种测试操作与类文件之间的对应关系;测试模块,用于对于每条测试步骤,根据类文件对被测试的应用程序中的目标UI控件进行测试,得到应用程序的输出结果;结果模块,用于根据应用程序的输出结果是否与预期测试结果相同,得到测试用例的测试结果。本专利技术实施例提供的技术方案带来的有益效果是:通过解析第一描述文件得到测试用例的至少一条测试步骤和每个测试步骤的预期测试结果,解析第二描述文件得到每个测试步骤中的测试操作对应的类文件,根据每个测试步骤的类文件对被测试的应用程序中的目标UI控件进行测试,得到应用程序的输出结果,根据输出结果是否与预期测试结果相同得到测试用例的测试结果;解决了相关技术中测试工程师需要有一定的编程基础才能编写出测试脚本,且测试脚本为针对测试用例的专用程序,不具有重复利用性的问题;达到了通过测试工程师只需要使用自然语言在第一描述文件中描述测试用例,然后就能够根据第二描述文件来自动完成测试,整个测试方法简单高校的效果,而且第二描述文件具有重复利用性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A是根据一示例性实施例示出的一种实施环境的示意图;图1B是根据一示例性实施例示出的第一描述文件的结构示意图;图1C是根据一示例性实施例示出的第二描述文件的结构示意图;图2是根据一示例性实施例示出的一种UI测试方法的流程图;图3是根据另一示例性实施例示出的一种UI测试方法的流程图;图4是根据一示例性实施例示出的一种UI测试装置的框图;图5是根据另一示例性实施例示出的一种UI测试装置的框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本公开各个实施例提供的UI(UserInterface,用户界面)测试方法,可以由采用Android(安卓)操作系统的智能终端来实现,该智能终端可以是诸如智能手机、智能电视、平板电脑之类的电子设备。对于采用Android(安卓)操作系统的智能终端,美国的谷歌公司提供了一种自动化测试工具UIAutomator,其提供API(ApplicationProgrammingInterface,应用程序编程接口)用以自定义UI测试的库,本公开提供的UI测试方法中的测试框架是基于UIAutomator来实现的。图1A是根据一示例性实施例示出的一种实施环境的示意图。该实施环境包括:测试计算机120和智能终端140。测试计算机120通常是研发人员所使用的台式电脑或笔记本电脑。测试计算机120可以通过USB数据线与智能终端140相连。智能终端140可以是智能手机、电子书阅读器、智能手表之类的电子设备。可选地,智能终端140开启了USB调试模式,能够接受测试计算机120的控制。智能终端140中还包括有存储器142,该存储器142中存储有操作系统160、测试框架162、被测试应用程序164、第一描述文件166和第二描述文件168。可选地,操作系统160是Android操作系统。操作系统160还可以是其他操作系统,本专利技术实施例对此不加以限定。测试框架162是基于UIAutomator而开发得到的测试工具。测试框架162具有根据第一描述文件166和第二描述文件168进行自动化UI测试的能力。被测试应用程序164是处于开发阶段,需要进行测试的应用程序。第一描述文件166包括采用自然语言描述的测试用例。每个测试用例包括至少一个测试步骤和与每个测试步骤对应的预期测试结果。可选地,第一描述文件166是采用电子表格EXECL格式的文件。比如,如图1B所示,第一描述文件166包括若干行,每一行对应一个测试用例。假设被测试的应用程序是一种“手机管家”应用程序。图1B中的测试用例用于测试“手机管家”中的“一键清理”功能,则该测试用例包括三个测试步骤:1、进入手机管家;2、点击清理加速;3、点击垃圾清理。第1个步骤的预期测试结果是出现高级工具的用户界面;第2个步骤的预期测试结果是出现垃圾清理的用户界面;第3个步骤的预期测试结果是出现一键清理的用户界面。其中,每个测试步骤包括一个测试操作和一个目标UI控件。测试操作包括:进入、点击、双击、长按等操作,显然,测试用例的编写人员并不需要具备编程基础。另外,每一行中还可以包括其它的单元格,比如优先级单元格、测试结果单元格等等。第二描述文件168包括至少一种测试操作与类文件之间的对应关系,每种类文件对应一种测试操作的代码实现。比如,用于实现“进入”测试操作的代码实现;用于实现“点击”测试操作的代码实现;用于实现“长按”测试操作的代码实现,如图1C所示。可选地,第二描述文件168是采用电子表格EXECL格本文档来自技高网...

【技术保护点】
一种UI测试方法,其特征在于,所述方法包括:解析第一描述文件,得到测试用例的至少一条测试步骤和每个所述测试步骤的预期测试结果;所述第一描述文件包括采用自然语言描述的所述测试用例,每条所述测试步骤包括:测试操作和目标用户界面UI控件;解析第二描述文件,得到每个所述测试步骤中的所述测试操作所对应的类文件,所述第二描述文件包括至少一种测试操作与类文件之间的对应关系;对于每条所述测试步骤,根据所述类文件对被测试的应用程序中的所述目标UI控件进行测试,得到所述应用程序的输出结果;根据所述应用程序的输出结果是否与所述预期测试结果相同,得到所述测试用例的测试结果。

【技术特征摘要】
1.一种UI测试方法,其特征在于,所述方法包括:解析第一描述文件,得到测试用例的至少一条测试步骤和每个所述测试步骤的预期测试结果;所述第一描述文件包括采用自然语言描述的所述测试用例,每条所述测试步骤包括:测试操作和目标用户界面UI控件;解析第二描述文件,得到每个所述测试步骤中的所述测试操作所对应的类文件,所述第二描述文件包括至少一种测试操作与类文件之间的对应关系;对于每条所述测试步骤,根据所述类文件对被测试的应用程序中的所述目标UI控件进行测试,得到所述应用程序的输出结果;根据所述应用程序的输出结果是否与所述预期测试结果相同,得到所述测试用例的测试结果。2.根据权利要求1所述的方法,其特征在于,所述第一描述文件是电子表格EXECL文件;所述解析第一描述文件,得到测试用例的至少一条测试步骤和每个所述测试步骤的预期测试结果,包括:读取所述第一描述文件中预定单元格中的测试步骤和所述测试步骤的预期测试结果,所述测试步骤采用预定的撰写格式撰写;根据所述预定的撰写格式解析得到所述测试步骤中的所述测试操作和所述目标UI控件。3.根据权利要求1所述的方法,其特征在于,所述第二描述文件是电子表格EXECL文件;所述解析第二描述文件,得到每条所述测试步骤中的所述测试操作所对应的类文件,包括:对于每个所述测试步骤的所述测试操作,在所述第二描述文件中查询与所述测试操作对应的第一单元格;在与所述第一单元格对应的第二单元格中,解析得到与所述测试操作对应的所述类文件。4.根据权利要求1所述的方法,其特征在于,所述对于每条所述测试步骤,根据所述类文件对被测试的应用程序中的所述目标UI控件进行测试,得到所述应用程序的输出结果,包括:对于每条所述测试步骤,将所述目标UI控件作为调用参数,调用所述类文件,以便所述类文件对应的执行代码自动识别和触发所述目标UI控件,得到所述应用程序的输出结果。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述测试用例的测试结果写入到所述第一描述文件的测试结果单元格中。6.根据权利要求1至5任一所述的方法,其特征在于,所述被测试的应用程序是运行于Android操作系统的应用程序;所述类文件是基于自动化测试函数库UIAutomator封装得到的类文...

【专利技术属性】
技术研发人员:陈豪赞付良高安东
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1