基于手绘识别的图形界面测试用例生成方法

文档序号:10724809阅读:380来源:国知局
基于手绘识别的图形界面测试用例生成方法
【专利摘要】本发明提出了一种基于手绘识别的图形界面测试用例生成方法,该方法针对目前图形界面的测试用例生成存在手工测试成本过高,脚本测试难度过大等问题,通过利用手绘草图识别技术来辅助测试用例的生成过程,使得移动设备软件和个人计算机软件的图形界面交互测试变得更为简便、高效。
【专利说明】
基于手绘识别的图形界面测试用例生成方法
技术领域
[0001]本发明属于计算机图形处理与软件测试领域,涉及利用手绘草图识别技术来针对软件的图形界面进行测试的技术。主要为移动设备软件以及个人计算机软件图形界面的测试提供一种简便、高效的测试用例自动生成方法,以便有效地进行图形界面相关的软件测试。
【背景技术】
[0002]图形用户界面(GUI)是计算机软件与用户进行交互的主要方式。图形用户界面软件测试是指针对图形用户界面软件进行的与图形界面相关操作与功能相关的软件测试,其测试内容包括界面跳转的正确性测试,异常输入的压力测试,多层界面的协作测试等等。目前,针对软件系统图形用户界面的测试可分为手工测试和自动化测试。
[0003]手工测试要求用户在真实的软件环境中,将软件图形界面中每一个需要测试的功能步骤一一尝试,并检验软件的测试结果信息。手工测试具有一定的局限性,其主要缺点在于:(I)测试成本非常高,需要消耗大量的人工遍历软件界面中各组件的组合功能;(2)测试的完全性难以保障,由于很多大型软件的图形用户界面非常复杂,用户容易遗漏测试组合与测试动作;(3)手工测试会导致测试结果的不准确,例如针对某些非确定性程序,检验手工的软件输出并不能保证测试通过;(4)对于复杂的系统或者安全性要求比较高的系统,使用手工测试是不能满足需求的。
[0004]自动化测试主要包括基于脚本编写的自动化测试,即测试者编写针对软件界面的模拟操作脚本,并由自动执行脚本来生成测试数据。该测试方法虽然大大减少了测试的人力成本,但仍然存在非常明显的局限性,具体体现在:(I)测试脚本的编写需要很强的专业技术,编写难度较大;(2)编写测试脚本缺少直观性,对于复杂界面和界面跳转往往不能很好地识别;(3)单一测试脚本地编写很难做到高覆盖率,因而很难满足用户的测试需求,既会带来冗余测试,又会使得一些界面动作未能得到完全测试;(4)目前已有的测试脚本支持系统一般效率低下,只能测试用户单一的动作序列,不能很好的支持含有循环的界面测试。
[0005]针对传统自动化测试中所存在的问题,目前已存在的技术提供了几种可能地改进方案。主要包括:(I)建立被测系统的状态机转换模型,并根据该转换模型自动生成测试脚本;(2)建立被测系统输入输出的状态转换序列,并经过对该序列的分析,自动确定各测试节点的协同关系。但是,前一方案仅存在理论上的可行性,对大型复杂系统建立状态机转换模型基本上是不可行的,存在状态空间爆炸的问题。后一方案很难生成完整的状态转换序列,且对于测试用例评审来说会造成可读性缺失的问题。由于输入输出本身就应当是测试用例的一部分,根据输入输出获得状态转换序列会使测试变得不完整,从而在测试上出现遗漏。

【发明内容】

[0006]技术问题:本发明针对目前图形界面的测试用例生成存在手工测试成本过高,脚本测试难度过大等问题,提出了一种基于手绘识别的图形界面测试用例生成方法。
[0007]技术方案:基于手绘识别的图形界面测试用例生成方法具体包括以下步骤:
[0008]步骤1:用户打开测试软件,进行测试条件的选择,并且通过测试软件打开待测软件。测试软件开启后进入后台,用户进入待测试软件。确保移动设备的进程中同时存在待测软件和测试软件,并且系统预留有足够的空间进行软件测试前的数据收集和测试工作所需要的内存。应用需要拥有后台保持的执行的权限。进入待测软件之后,用户准备开始截屏阶段。
[0009]步骤2:用户进入待测软件后,以正常的方式对软件进行操作。用户需要确保对于所有需要测试的界面都至少打开过一次或多次。在实际操作过程中可能会有一定的延时卡顿。用户确认每一个待测界面都被截图后,关闭待测软件,返回测试软件。
[0010]步骤3:用户在前台与待测软件进行交互的同时,测试软件在后台进行截图操作。当测试软件检测到当前界面与上一个界面有较大差别时,启动截图,测试软件检测截图是否已经被先前的截图操作保存,如果没有保存则将截图进行编号,并且保存在测试软件中。截图的编号在每一次待测软件运行时保证唯一性。
[0011]步骤4:用户执行手绘过程。系统按照截屏顺序展示用户截屏的界面,用户可以根据自己的需求调整截屏顺序,但不能调整截屏的编号。用户根据需要测试的行为,在界面上进行简单手绘。手绘分为三个阶段。第一阶段用户确定需要进行的操作动作。绝大多数移动端的动作行为,如单击,双击,拖拽,长按,键盘输入等行为都在测试软件中保存有行为映射,手绘规则由系统提供,用户根据测试软件规定的手势,在截屏的界面上进行模拟操作,测试软件根据用户手绘的图形进行识别,记录下用户手绘的图形、图形关键位置的坐标和手绘所在的截屏图片编号,存储为一个动作序列。第二阶段为可选阶段,确定动作的行为的约束范围。如对下拉菜单中每个子选项进行点击或者对于指定区域任意位置进行点击等操作行为,测试软件额外定义了 “for-all”,“任意”,“存在”等范围符号供用户选择。第三阶段为确定动作目标。对于有界面跳转的动作,用户可以额外指定动作的目标界面的截屏编号。目标还可以是对于屏幕变化的一个预期,如屏幕上某一个区域出现一个文字,屏幕上某一块出现一个颜色变化,或者屏幕软件没有崩溃等等。用户可以在软件上选择目标。
[0012]步骤5:系统将一次手绘的三个阶段的笔画分开,识别这三种笔画,将他们标准化为系统可理解的内容后,分别生成动作符号,范围约束符号,目标符号,以及符号的附属信息。如果系统无法识别用户的手绘,则会对手绘图形进行猜测,让用户判断是否为该手势,用户可以保存猜测手势或者抛弃重新手绘。然后系统将这些符号合成为一个符号集合,提供给有限状态机进行模型构建。
[0013]步骤6:系统生成有限状态机。系统首先选取软件打开后的初始界面为有限状态机的起始点。以起始点为源界面选取起始点上的符号集合,如果符号集合中不包含约束范围,则以源界面为起点,动作为边,目标为终点扩展有限状态机。如果符号集合中含有约束范围,则根据约束范围的种类生成η条边和η个终点。然后判断终点的类型,如果终点为一个界面,则以终点为源界面继续这个操作,直到这个有限状态机不含有还未添加的符号集合。如果终点为一个屏幕变化预期,则将个界面作为一个叶节点,结束这个有限状态机。
[0014]步骤7:生成测试用例脚本。系统从简化好的有限状态机中进行抽取,以状态机的起点为开始位置,任意叶节点为终点,抽取一条包含任意数量动作的序列,这条序列可以映射为现实中在被测软件的不同界面之间跳转的操作序列。系统保存这个序列的序号,并且重复抽取并且编号的这个过程,保证将所有动作都至少抽取一次后停止。将所有抽取的序列依照Lua脚本语言的语法规则,根据目标界面、原界面和动作的实际情况生成测试脚本,每个脚本将包含有抽取序列的所有动作。系统将生成的所有的Lua脚本进行整合,自动生成Junit测试代码,等待执行测试过程。
[0015]步骤8:生成测试目标。系统将编号的测试脚本的目标单独收集,将测试脚本和测试目标一一对应,生成测试脚本的目标预期,并将它们一并打包,生成测试总目标。
[0016]步骤9:用户保持测试软件在后的进程不关闭,选择打开测试软件,系统将自动执行保存的测试脚本,用户等待系统自动执行脚本。在测试执行过程中用户仅需要在系统提示回到初始界面时重新加载软件即可。在提示测试完成后,系统将自动跳回测试软件,等待生成测试输出结果。
[0017]步骤10:系统根据测试执行过程中的情况,将每一个动作的测试结果分成五类:
[0018](I)测试通过:如果执行到测试动作,并且没有出现卡死,闪退,重启等崩溃情况,并且如果存在界面跳转的预定义,则跳转界面被系统识别,切和预先保存的预计结果界面吻合。当未定义界面跳转时,只考虑是否崩溃的情况。
[0019](2)失败:如果执行到测试动作,但在执行该条测试动作时发生累计三次或以上卡死,闪退,重启等崩溃情况,则认为这条测试结果失败。
[0020](3)警告:如果执行到测试动作,但测试该条动作时发生一到两次崩溃状况,则将这条测试结果定义为警告,加粗记录动作类型和坐标,让用户判断是bug还是设计失误。[0021 ] (4)错误:如果执行到测试动作,测试执行过程没有发生崩溃状况,但目标界面无法识别或者目标界面与预计界面不相符合,则定义这个动作的测试结果为失误。
[0022](5)未定义:如果由于之前测试动作的失败、警告或错误,导致某一条原界面不可到达,或者由于一些意外原因使得某条测试无法被执行,则定义这条动作的测试结果为未定义。
[0023]系统将所有测试结果汇总,生成测试结果报告,同时保存非成功的测试的原界面、动作类型和坐标、目标界面。
[0024]步骤11:系统在测试软件中展示测试报告文档,用户可以额外查看每一个测试动作的测试结果,失败或错误或成功的执行日志。对于不同的测试结果,用户可以根据报告文档回溯到具体界面和在该界面进行的动作,以及目标界面,以确定软件的错误并及时修正。
[0025]有益效果:本发明提出的图形用户界面测试方法相比于传统的用户手工测试的优势在于:
[0026](I)用户只需要集中做一次手绘操作,即可完成对所有界面的动作进行测试;不需要用户在测试过程中分散式进行界面操作。
[0027](2)对于特定界面的多跳转情况,例如下拉菜单中有多个类似选项的重复测试的情况,本发明开发了 “for-all”等循环判断,可以让用户只进行简单手绘,自动生成复杂测试脚本测试下拉菜单中全部子菜单;解决用户测试时需要对一个界面反复执行“测试-返回-测试”的麻烦;
[0028](3)当界面复杂时用户容易遗漏部分测试动作,使用本发明可以减少由于用户失误带来的测试动作遗漏而导致的覆盖率的损失。
[0029](4)本发明可以极大地提高测试的效率,将大量的手工测试转化为自动化完成的脚本测试,可以节省人力和时间。
[0030](5)本测试可以自动生成测试报告,相比较于手工测试时的手动记录,本发明可以对测试结果进行规范化处理,节约时间而且清晰明朗。
[0031](6)本方法相对于传统的测试方法拥有更高的代码覆盖率和分支覆盖率,在业内界拥有较高的测试效率。
[0032]本发明提出的图形用户界面测试方法相比于传统的脚本编写测试的优势在于:
[0033](I)手绘识别具有比较良好的直观性,用户只需要在待测软件的界面进行手绘即可;传统编写脚本往往需要测试人员有较高的想象能力和对图形,图案,颜色的掌握能力。
[0034](2)手绘识别后根据有限状态机可以自动生成测试代码,对于测试用户人员的专业技术要求比较低。测试人员对于测试用例脚本编程的要求有明显下降,测试人员可以只对代码进行简单调试即可。
[0035](3)本发明使得测试人员有较高的工作效率:测试人员可以直观地对图形进行操作,相比较手工编写代码,可以大大提高测试人员的工作积极性和工作效率。
[0036](4)模块划分更加明确:传统手工编写测试脚本的工作中,往往把测试部分和测试结果分析混杂,使得整个测试过程存在较高的耦合性,对于复用和修改非常不利。
[0037](5)节省时间:相比较于传统的脚本开发容易错误,调试困难等问题,本发明自动生成脚本,时间成本主要体现在截屏和绘制动作,可以大幅度节省时间。
[0038](6)相比较脚本编写,手绘的修改十分方便,仅仅需要将绘制有问题的截屏单独重复绘制即可,不用修改复杂代码,没有任何耦合性问题。
【附图说明】
[0039]图1是基于手绘识别的图形界面测试用例生成方法的基本流程,
[0040]图2是手绘符号识别的基本流程,
[0041]图3是有限状态机生成的基本流程,
[0042]图4是手绘标准符号的集合,
[0043]图5是标准范围手势符号集合。
【具体实施方式】
[0044]下面举例说明本发明的具体实施方案,并对本发明中较为复杂的步骤5和步骤6,以及手绘中所定义的笔画图标,作更为详细的描述。
[0045]测试步骤举例:
[0046]步骤1:用户打开测试软件,选择开始测试,打开待测软件A。
[0047]步骤2:用户以正常方式操作,在A的起始界面选择进入软件,打开菜单列表,选择新建项目,在界面输入“hello world”,点击ctrl+s,点击退出,结束操作。
[0048]步骤3:系统截取初始界面为001,浏览菜单界面为002(假设菜单一共有5项),新建项目界面为003
[0049]步骤4:用户重新浏览每一张截图,指定001在按钮位置选择单击,目标界面是002;在002界面选择for-all范围符号,动作为点击,指定目标界面为003;在003界面选择打开文本编辑器,输入“hel1 ,world”,在位置按钮选择单击,测试目标选择“退出软件”。
[0050]步骤5:系统提取初始界面001的手绘符号,生成符号集合:动作符号为单击操作,目标为界面002 ο系统提取002的手绘符号,生成符号集合:动作为单击操作,范围为菜单列表循环,目标界面为003 ο系统提取003手绘符号,生成符号集合:动作为输入文本,点击退出,目标为“软件退出”。
[0051 ]步骤6:系统生成有限状态机,起点为001界面,001通过点击按钮的边连接到002;002中每一个菜单项生成一条边,边为点击菜单项,终点为003。003生成一个边为输入文字再点击退出,终点为软件退出的状态。
[0052]步骤7:系统抽取每一条有限状态机的通路(一共10条),将10条测试通路生成10个Lua语言的脚本的测试用例,并通过junit进行汇合。
[0053]步骤8:系统保存10个测试用例的的结果集,并保存为预期测试结果。
[0054]步骤9:用户等待软件跳转至A软件自动执行测试。
[0055]步骤10:系统生成测试结果。
[0056]步骤11:用户审阅测试结果。
[0057]本发明在步骤5手绘符号识别的具体实施方案为(如图2所示):
[0058]步骤5.1:系统提取用户手绘符号中中的动作类符号,确定动作符号的位置和类型,如果用户的手绘符号难以识别,则系统进行猜测,用户可以选择接受系统的猜测或者抛弃重新手绘。确定动作符号后,系统将手绘转化为可以理解的动作符号保存。同时系统将保存动作符号的坐标信息。
[0059]步骤5.2:系统提取用户手绘符号中的约束范围类符号,确定约束类型和约束范围。对于任意约束,系统将生成在范围内随机数量的点的坐标;对于列表任意约束,系统将解析范围内的列表,对于列表中每一个列表项,生成一个点的坐标;对于存在约束,系统在范围内任意位置生成一个坐标。对于系统无法识别的范围符号,则直接抛弃,让用户重新绘制。确定约束类符号后,系统保存约束点的范围和约束的类型。
[0060]步骤5.3:系统提取用户手绘符号中的目标符号,确定目标种类。如果目标为界面跳转,则记录下目标界面的编号;如果目标为一个界面变化预期,则根据预期生成软件可以理解的语言,保存为有限状态机的预期目标;如果用户不指定目标,则认为只要不崩溃即为通过。对于系统无法识别的目标手势,系统直接抛弃,让用户重新绘制。确定目标符号后,系统保存目标符号和目标逻辑类型。
[0061 ]步骤5.4:系统根据动作符号,动作符号坐标,约束范围,约束类型,目标符号,目标逻辑符号,再加上源界面的信息生成一个符号集,符号集可以表示在源界面上进行的一次完整的有预期的动作操作。
[0062]本发明在步骤6有限状态机的生成过程的具体实施方案为(如图3所示):
[0063]步骤6.1:首先,系统生成一个空的有限状态机。根据手绘识别得到的符号集,选取软件测试进入的界面为起点,保存起点界面的符号信息,以这个界面为内容生成一个节点,作为有限状态机的起始节点,并把这个界面作为源界面。
[0064]步骤6.2:根据源界面选取在这个界面上的符号集合,如果这个介面上含有不止一个符号集合,则需要逐一选取这些符号集合,分别作有限状态机的的边的生成。
[0065]步骤6.3:判断这个符号集合是不是含有约束。将这个符号集合进行拆分,如果这个符号集合不含有约束范围符号,则执行步骤6.4;如果这个符号集合含有约束范围符号,则执行步骤6.5
[0066]步骤6.4:如果这个符号集合不含有约束范围符号,则根据这个符号集合的目标,生成一个节点,用符号集合中的动作符号表示为这两个点之间的边,扩展有限状态机。
[0067]步骤6.5:如果这个符号集合含有约束范围符号,则根据约束范围符号生成的点的数量,生成η个目标和η条边,这些边表示为达成每一个目标的动作,这些目标可以有相同的情况。以当前的有限状态机为输入,拓展有限状态机,系统保存扩展后的有限状态机。
[0068]步骤6.6:判断这个符号集合的目标是否为终结目标。将符号集合的目标进行分类讨论,如果目标是一个界面跳转,则执行步骤6.7;如果目标是一个屏幕变化预期,或者只要求界面不崩溃,则执行步骤6.8。
[0069]步骤6.7:如果目标为一个界面跳转,则将跳转的界面设置为源界面,继续执行6.2,直到这个界面上所有的符号集合都被处理过为止。
[0070]步骤6.8:如果目标为一个屏幕与其或者只要求界面不崩溃,则将这个节点设置为叶节点,如果之前的节点还有符号集合没有处理,则去处理那些符号集合,如果所有节点的符号集合都已经处理,则结束这个有限状态机,并且保存这个有限状态机。
[0071]本发明在用户手绘过程中,定义了如图4所示的标准手绘图标:
[0072](a)单击:画点标注的位置为测试点击的位置,测试软件保存用户手绘的表示的点的坐标和所在的截屏编号。在测试中则在保存的坐标位置执行单击操作。
[0073](b)双击:画点标注的位置为测试双击的位置,测试软件保存用户手绘的表示的点的坐标和所在的截屏编号。在测试中则在保存的坐标位置执行单击操作。
[0074](C)拖拽:画点标注的位置为测试拖拽的起始位置,蓝箭头的位置为拖拽终点的位置,测试软件保存用户手绘表示的起点和终点的坐标和所在截屏编号。在实际测试中则单击起始位置,并且将起始位置的内容拖拽到终点位置,不考虑语法是否可拖拽。
[0075](d)滑动:画点标注的位置为测试拖拽的起始位置,箭头的位置拖拽终点的位置,测试软件保存用户手绘表示的起点和终点的坐标和所在截屏编号。在实际测试中则单击起始位置,并且将起始位置的内容拖拽到终点位置,不考虑语法是否会可以滑动。
[0076]本发明对于有一定重复特征的动作,提供了如图5所示的约束范围手势,主要包括:
[0077](a)任意:需要一个闭合图形确定范围,表示在这个范围内任意一点均可作为测试生成的点,实际操作中系统会随机在范围内生成一定数量的点,保证所选的点零星散布,系统保存这些点的坐标,提供给动作符号进行操作。
[0078](b)列表任意:该符号会自动识别符号所在的列表,并对列表进行解析,将列表分解为η行,对每一行,系统生成一个点,确保这个点可以选中列表的一个项。系统保存这些点,提供给符号动作进行操作。
[0079](C)存在:需要一个闭合图形确定范围,表示在这个范围内任意一点均可作为测试生成的点,实际操作中系统会随机在范围内生成一个点,使每一次执行到这个动作时动作的坐标都可能不一样,系统保存这个点的坐标,提供给动作符号进行操作。
【主权项】
1.一种基于手绘识别的图形界面测试用例生成方法,其特征在于该生成方法利用手绘草图识别技术来针对软件的图形界面进行测试,主要为移动设备软件以及个人计算机软件图形界面的测试提供一种简便、高效的测试用例自动生成方法,具体步骤为: 步骤1:用户打开测试软件,进行测试条件的选择,并且通过测试软件打开待测软件,测试软件开启后进入后台,用户进入待测试软件,确保移动设备的进程中同时存在待测软件和测试软件,并且系统预留有足够的空间进行软件测试前的数据收集和测试工作所需要的内存,应用需要拥有后台保持的执行的权限,进入待测软件之后,用户准备开始截屏阶段;步骤2:用户进入待测软件后,以正常的方式对软件进行操作,用户需要确保对于所有需要测试的界面都至少打开过一次;在实际操作过程中可能会有一定的延时卡顿,用户确认每一个待测界面都被截图后,关闭待测软件,返回测试软件; 步骤3:用户在前台与待测软件进行交互的同时,测试软件在后台进行截图操作,当测试软件检测到当前界面与上一个界面有较大差别时,启动截图,测试软件检测截图是否已经被先前的截图操作保存,如果没有保存则将截图进行编号,并且保存在测试软件中,截图的编号在每一次待测软件运行时保证唯一性; 步骤4:用户执行手绘过程,系统按照截屏顺序展示用户截屏的界面,用户可以根据自己的需求调整截屏顺序,但不能调整截屏的编号,用户根据需要测试的行为,在界面上进行简单手绘,手绘分为三个阶段; 步骤5:系统将一次手绘的三个阶段的笔画分开,识别这三种笔画,将他们标准化为系统可理解的内容后,分别生成动作符号,范围约束符号,目标符号,以及符号的附属信息;如果系统无法识别用户的手绘,则会对手绘图形进行猜测,让用户判断是否为该手势,用户可以保存猜测手势或者抛弃重新手绘,然后系统将这些符号合成为一个符号集合,提供给有限状态机进行模型构建; 步骤6:系统生成有限状态机,系统首先选取软件打开后的初始界面为有限状态机的起始点,以起始点为源界面选取起始点上的符号集合,如果符号集合中不包含约束范围,则以源界面为起点,动作为边,目标为终点扩展有限状态机;如果符号集合中含有约束范围,则根据约束范围的种类生成η条边和η个终点,然后判断终点的类型,如果终点为一个界面,则以终点为源界面继续这个操作,直到这个有限状态机不含有还未添加的符号集合;如果终点为一个屏幕变化预期,则将这个界面作为一个叶节点,结束这个有限状态机; 步骤7:生成测试用例脚本,系统从简化好的有限状态机中进行抽取,以状态机的起点为开始位置,任意叶节点为终点,抽取一条包含任意数量动作的序列,这条序列可以映射为现实中在被测软件的不同界面之间跳转的操作序列;系统保存这个序列的序号,并且重复抽取并且编号的这个过程,保证将所有动作都至少抽取一次后停止;将所有抽取的序列依照Lua脚本语言的语法规则,根据目标界面、原界面和动作的实际情况生成测试脚本,每个脚本将包含有抽取序列的所有动作,系统将生成的所有的Lua脚本进行整合,自动生成Juni t测试代码,等待执行测试过程; 步骤8:生成测试目标,系统将编号的测试脚本的目标单独收集,将测试脚本和测试目标一一对应,生成测试脚本的目标预期,并将它们一并打包,生成测试总目标; 步骤9:用户保持测试软件在后的进程不关闭,选择打开测试软件,系统将自动执行保存的测试脚本,用户等待系统自动执行脚本;在测试执行过程中用户仅需要在系统提示回到初始界面时重新加载软件即可,在提示测试完成后,系统将自动跳回测试软件,等待生成测试输出结果; 步骤10:系统根据测试执行过程中的情况,将每一个动作的测试结果分成五类:测试通过、失败、警告、错误、未定义; 系统将所有测试结果汇总,生成测试结果报告,同时保存非成功的测试的原界面、动作类型和坐标、目标界面; 步骤11:系统在测试软件中展示测试报告文档,用户可以额外查看每一个测试动作的测试结果,失败或错误或成功的执行日志,对于不同的测试结果,用户可以根据报告文档回溯到具体界面和在该界面进行的动作,以及目标界面,以确定软件的错误并及时修正。2.根据权利要求1所述的一种基于手绘识别的图形界面测试用例生成方法,其特征在于所述的步骤4:用户执行手绘过程中,手绘分为三个阶段;第一阶段用户确定需要进行的操作动作,绝大多数移动端的动作行为,如单击,双击,拖拽,长按,键盘输入等行为都在测试软件中保存有行为映射,手绘规则由系统提供,用户根据测试软件规定的手势,在截屏的界面上进行模拟操作,测试软件根据用户手绘的图形进行识别,记录下用户手绘的图形、图形关键位置的坐标和手绘所在的截屏图片编号,存储为一个动作序列;第二阶段为可选阶段,确定动作的行为的约束范围,对下拉菜单中每个子选项进行点击或者对于指定区域任意位置进行点击等操作行为,测试软件额外定义了 “for-all”,“任意”,“存在”范围符号供用户选择;第三阶段为确定动作目标,对于有界面跳转的动作,用户可以额外指定动作的目标界面的截屏编号,目标还可以是对于屏幕变化的一个预期;若屏幕上某一个区域出现一个文字、屏幕上某一块出现一个颜色变化或者屏幕软件没有崩溃,用户可以在软件上选择目标。3.根据权利要求1所述的一种基于手绘识别的图形界面测试用例生成方法,其特征在于所述的步骤10:系统根据测试执行过程中的情况,将每一个动作的测试结果分成五类,具体为: 1).测试通过:如果执行到测试动作,并且没有出现卡死,闪退,重启等崩溃情况,并且如果存在界面跳转的预定义,则跳转界面被系统识别,切和预先保存的预计结果界面吻合,当未定义界面跳转时,只考虑是否崩溃的情况; 2).失败:如果执行到测试动作,但在执行该条测试动作时发生累计三次或以上卡死,闪退,重启等崩溃情况,则认为这条测试结果失败; 3).警告:如果执行到测试动作,但测试该条动作时发生一到两次崩溃状况,则将这条测试结果定义为警告,加粗记录动作类型和坐标,让用户判断是bug还是设计失误; 4).错误:如果执行到测试动作,测试执行过程没有发生崩溃状况,但目标界面无法识别或者目标界面与预计界面不相符合,则定义这个动作的测试结果为失误; 5).未定义:如果由于之前测试动作的失败、警告或错误,导致某一条原界面不可到达,或者由于一些意外原因使得某条测试无法被执行,则定义这条动作的测试结果为未定义。
【文档编号】G06F11/36GK106095679SQ201610408581
【公开日】2016年11月9日
【申请日】2016年6月12日
【发明人】汤恩义, 王伟成, 成浩亮, 张初成, 冯世宁, 潘敏学, 李宣东, 赵祖威, 杨开懋
【申请人】南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1