CN109117356A - 一种在人机交互脚本的测试结果的展现方法和装置 - Google Patents

一种在人机交互脚本的测试结果的展现方法和装置 Download PDF

Info

Publication number
CN109117356A
CN109117356A CN201710481399.3A CN201710481399A CN109117356A CN 109117356 A CN109117356 A CN 109117356A CN 201710481399 A CN201710481399 A CN 201710481399A CN 109117356 A CN109117356 A CN 109117356A
Authority
CN
China
Prior art keywords
object identifier
man
stack
primitive
script
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
CN201710481399.3A
Other languages
English (en)
Other versions
CN109117356B (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment 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 Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201710481399.3A priority Critical patent/CN109117356B/zh
Publication of CN109117356A publication Critical patent/CN109117356A/zh
Application granted granted Critical
Publication of CN109117356B publication Critical patent/CN109117356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本发明实施例提供了一种人机交互脚本的测试结果的展现方法和装置,所述方法包括:生成所述人机交互脚本对应的人机原语定义脚本;所述人机原语定义脚本中包括有效执行行,所述有效执行行中包括测试用例;所述测试用例具有对应的原语名称;为所述有效执行行分配第一对象标识符;采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;在人机交互界面中展示所述人机界面呈现数据,实现了人机交互脚本的测试结果展现,从而解决了人机交互自动化脚本开发人员与人机交互界面业务开发人员之间无法高效的进行信息交互的问题。

Description

一种在人机交互脚本的测试结果的展现方法和装置
技术领域
本发明涉及数据处理领域,特别是涉及一种人机交互脚本的测试结果的展现方法和一种人机交互脚本的测试结果的展现装置。
背景技术
随着计算机技术的飞速进步,如何找到更为高效的自动化测试与自动化持续集成方式,来应对基于复杂计算机架构中的人机交互研发工作,成为了技术人员在开发过程中必须要解决的问题。
目前,在传统的人机交互研发过程中,主要通过两种方式实现自动化测试与自动化持续集成,其中,第一种方式为,由开发工具的团队对自动化工具进行开发,再采用自动化工具完成测试业务,第二种方式为,由开发团队独立完成包括人机界面和测试业务两方面的需求。
然而,在第一种方式中,自动化工具往往会成为测试业务的附属产品,开发工具的团队不能独立于测试业务的团队,缺少专业性,同时,也会因为在不同的测试专业之间,还需要针对不同的专业领域来自行开发测试工具,从而致使开发效率非常低下;采用第二种方式,易造成被研发出来的产品偏离实际需求,从而得不到业务人员的认可。出现这样的局面是因为在人机交互过程中,人机交互自动化脚本开发人员与人机交互界面业务开发人员之间没有一个能用于了解彼此专业技术的方式,从而无法高效的将各自领域的测试数据有效的转换成对对方有用信息所造成的,这便导致了这两种方式都需要自动化工具开发团队与理解业务的自动化脚本开发人员之间相互合作才能实现,最终致使研发效率低下,难以适应大规模生产与协作的需要。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种人机交互脚本的测试结果的展现方法和相应的一种人机交互脚本的测试结果的展现装置。
为了解决上述问题,本发明实施例公开了一种人机交互脚本的测试结果的展现方法,所述方法包括:
生成所述人机交互脚本对应的人机原语定义脚本;所述人机原语定义脚本中包括有效执行行,所述有效执行行中包括测试用例;所述测试用例具有对应的原语名称;
为所述有效执行行分配第一对象标识符;
采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;
采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;
在人机交互界面中展示所述人机界面呈现数据。
优选地,所述第一对象标识符具有栈深,所述采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符的步骤包括:
获取与所述原语名称所对应的栈操作指令;其中,所述栈操作指令包括:压栈,弹栈,自增,无;
当所述栈操作指令为压栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符进栈一位生成第二对象标识符;
当所述栈操作指令为弹栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符退栈一位生成第二对象标识符;
当所述栈操作指令为无时,保持所述第一对象标识符的栈深不变,将所述第一对象标识符直接作为第二对象标识符;
当所述栈操作指令为自增时,保持所述第一对象标识符的栈深不变,在所述第一对象标识符栈顶数值加一生成第二对象标识符。
优选地,所述采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据的步骤包括:
获取与所述原语名称所对应的友好描述信息;
采用所述第二对象标识符生成所述人机界面呈现数据的展示行;其中,所述第二对象标识符与所述展示行一一对应;
在所述展示行中填入与所述原语名称相对应的友好描述信息,生成人机界面呈现数据。
优选地,所述在人机交互界面中展示所述人机界面呈现数据的步骤包括:
采用所述人机界面呈现数据生成可视化展示接口格式文件;
将所述可视化展示接口格式文件输出至人机交互界面进行展示。
优选地,所述测试用例的人机界面呈现数据包括所述测试用例的执行过程数据和执行结果数据。
为了解决上述问题,本发明实施例公开了一种人机交互脚本的测试结果的展现装置,所述装置包括:
人机原语定义脚本生成模块,用于生成所述人机交互脚本对应的人机原语定义脚本;所述人机原语定义脚本中包括有效执行行,所述有效执行行中包括测试用例;所述测试用例具有对应的原语名称;
第一对象标识符分配模块,用于为所述有效执行行分配第一对象标识符;
第二对象标识符计算模块,用于采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;
人机界面呈现数据生成模块,用于采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;
展示模块,用于在人机交互界面中展示所述人机界面呈现数据。
优选地,所述第一对象标识符具有栈深,所述第二对象标识符计算模块包括:
栈操作指令获取子模块,用于获取与所述原语名称所对应的栈操作指令;其中,所述栈操作指令包括:压栈,弹栈,自增,无;
第一第二对象标识符生成子模块,用于所述栈操作指令为压栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符进栈一位生成第二对象标识符;
第二第二对象标识符生成子模块,用于所述栈操作指令为弹栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符退栈一位生成第二对象标识符;
第三第二对象标识符生成子模块,用于所述栈操作指令为无时,保持所述第一对象标识符的栈深不变,将所述第一对象标识符直接作为第二对象标识符;
第四第二对象标识符生成子模块,用于所述栈操作指令为自增时,保持所述第一对象标识符的栈深不变,在所述第一对象标识符栈顶数值加一生成第二对象标识符。
优选地,所述人机界面呈现数据生成模块包括:
友好描述信息获取子模块,用于获取与所述原语名称所对应的友好描述信息;
展示行生成子模块,用于采用所述第二对象标识符生成所述人机界面呈现数据的展示行;其中,所述第二对象标识符与所述展示行一一对应;
人机界面呈现数据生成子模块,用于在所述展示行中填入与所述原语名称相对应的友好描述信息,生成人机界面呈现数据。
优选地,所述展示模块包括:
可视化展示接口格式文件生成子模块,用于采用所述人机界面呈现数据生成可视化展示接口格式文件;
输出子模块,用于将所述可视化展示接口格式文件输出至人机交互界面进行展示。
优选地,所述测试用例的人机界面呈现数据包括所述测试用例的执行过程数据和执行结果数据。
本发明实施例包括以下优点:
在具体实现中应用本发明实施例,即可在人机交互脚本的测试过程中,先对人机交互脚本利用原语进行包装生成人机原语定义脚本,进而使得在人机原语定义脚本中带有原语标记的执行行在测试过程中能够被原语解析器获取,并通过执行行中的原语名称自动生成被测的脚本中的执行行OID,根据被测脚本执行行中的执行行OID生成被测用例的被测用例OID,将与被测用例OID相对应的执行过程在人机界面中进行展示,使得在用脚本测试行过程中上报的OID在人机界面中一一匹配,从而实现既能避免开发人员手动操作OID,又确保了OID精确指定脚本行;另外,在实际应用中运用本发明实施例实现了1、业务人员可在不需要了解计算机语言的前提下,利用在人机界面中实时观察被测脚本测试用例的执行进程,从而能够脱离脚本开发人员根据实际需求独立开发人机交互界面,而开发脚本的专业人员,则可以通过可视化人机界面,检查脚本是否与设计相符合以及一致。2、当被测对象的业务发生改变时,脚本也需要调整的时候,在脚本被修改后,业务人员可以通过本发明确保被测脚本与被测业务同步展现。即,如果基于本专利所描述原语开发出可视化的脚本编辑工具,则业务人员可以在不需要掌握脚本语言的前提下,自行编写测试用例,工具将会根据本专利描述的原语,自动生成测试脚本,并且解析成为人机界面可以展示的数据结构。
附图说明
图1是本发明的一种人机交互脚本的测试结果的展现方法实施例的步骤流程图;
图2是一种应用本发明实施例的原语定义脚本列表示意图;
图3是一种应用本发明实施例的原语定义脚本示意图;
图4A是一种应用本发明实施例的人机界面示意图1;
图4B是一种应用本发明实施例的人机界面示意图2;
图5A是另一种应用本发明实施例的人机界面示意图1;
图5B是另一种应用本发明实施例的人机界面示意图2;
图6A是又一种应用本发明实施例的人机界面示意图1;
图6B是又一种应用本发明实施例的人机界面示意图2;
图7是一种应用本发明实施例的完整人机界面示意图;
图8是本发明的一种人机交互脚本的测试结果的展现装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种人机交互脚本的测试结果的展现方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,生成所述人机交互脚本对应的人机原语定义脚本;
在本发明实施例中,所述人机原语定义脚本中可以包括有效执行行,所述有效执行行中可以包括测试用例;所述测试用例可以具有对应的原语名称。
在实际应用中,本发明实施例可以将利用原语脚本对人机交互脚本进行包装生成原语定义脚本,被原语包装的原语定义脚本的有效执行行中会被原语封装类库MyAgent::StartLoop标记,在测试过程中,被标记的有效执行行将会被原语解析器检测出来。
在本发明实施例中,原语名称可以包括:脚本层原语:StartLoop原语,EndLoop原语,StepStart原语,NextStep原语,IfIs原语,EndIF原语,AgentCall原语,Check原语,SetCurOID原语;代理层的OID(Object Identifier,对象标识符)操作原语:OID操作原语:GetCurOid原语,PushOidStack原语,PopOidStack原语,SetCurOID原语;代理层的人机交互原语:SendFooStartMsgToUI原语,SendMsgToUI原语,SendProcessPercentsMsgToUI原语,SendSimpleMsgToUI原语。
在实际应用中,脚本层原语为编写脚本的开发人员进行操作的原语,代理层原语只出现于代理层,脚本编写开发人员在编写过程中不需要关注,在一般情况下,代理层原语不会出现在描述测试用例的脚本中,而是在实现业务脚本的脚本层原语自行调用,在类似开发人员在需要查看测试脚本进度信息的特殊情况下,也可以人为进行调动。
在本发明实施例中,所述原语名称可以具有对应的友好描述信息,以及,栈操作指令。
在具体实现中,本发明实施例的原语解析器中具有原语字典,所述原语字典用于自动查所述原语名称所对应的友好描述信息,以及,栈操作指令,所述友好描述信息用于将所述测试用例的计算机语言翻译成人类语言,所述栈操作指令用于修改第一对象标识符的栈的栈深。
参考图2所示的一种应用本发明实施例的原语定义脚本列表示意图,当原语解析器采用原语定义脚本完成以表联合描述的可视化展示的接口格式生成的uistep文件的编辑后,从的uistep文件中找到测试脚本的原语定义脚本列表,根据列表序号201针对所有原语进行比对,当完成比对后,可以获得与原语名称对应的友好描述信息和栈操作命令。
步骤102,为所述有效执行行分配第一对象标识符;
在具体实现中,解析器针对接收到的原语定义脚本的分析过程分为纵向(表方向)解析,以及,横向(树层级)解析,在纵向解析中,扫描每个执行行中是否存在原语,如果存在,则将原语的描述取出。
参考图3所示的一种应用本发明实施例的原语定义脚本示意图,在测试脚本302中检测到经过原语包装的函数301时,将被测脚本判定为原语定义脚本,并将被检测出来的原语定义脚本发送至原语解析器进行解析。
在实际应用中,本发明实施例可以通过栈的形式以运算受限的线性排列测试用例,而测试用例的OID则可以用作测试用例的排列标识,即根据OID确定测试用例在栈中的位置。
在本发明实施例中,可以对检测到的被原语标记过的有效执行行,自动依次进行标记,所标记的标记值即为执行行的OID。
步骤103,采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;
如上所述,解析器针对接收到的原语定义脚本的分析过程分为纵向(表方向)解析,以及,横向(树层级)解析,在横向解析中,根据当前行的原语,调整测试用例OID的栈深,以及计算当前测试用例OID。
在实际应用中,本发明实施例通过原语解析器对接收到的人机原语定义脚本进行解析,经过解析后自动生成以可视化展示接口格式展现的uistep测试结果文件,再从uistep测试结果文件中提取出针对测试结果生成的原语定义脚本列表,并自动计算出测试脚本的OID。
在本发明实施例中,还可以通过如下方式计算所述执行行的测试用例的第二对象标识符:获取与所述原语名称所对应的栈操作指令;其中,所述栈操作指令包括:压栈,弹栈,自增,无;
当所述栈操作指令为压栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符进栈一位生成第二对象标识符;当所述栈操作指令为弹栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符退栈一位生成第二对象标识符;当所述栈操作指令为无时,保持所述第一对象标识符的栈深不变,将所述第一对象标识符直接作为第二对象标识符;当所述栈操作指令为自增时,保持所述第一对象标识符的栈深不变,在所述第一对象标识符栈顶数值加一生成第二对象标识符。
例如,当原语解析器采用原语定义脚本完成对uistep文件的编辑后,从的uistep文件中到如下测试脚本的原语定义脚本列表:
在具体实现中,本发明实施例可以利用OID的层级结构,生成树状数据结构,并且展示到人机界面上,具体地,可以分为如下三种方式:
方式一,当OID的栈深不变情况下,在第一对象标识符栈顶数值加一生成第二对象标识符。
例如,操作前为:
1 参数完备性检查
1.1 信息改变和更新
在栈深不变情况下,增加一行,增加后为:
1 参数完备性检查
1.1 信息改变和更新
1.2 ftp环境和用户检查
参考图4A所示的一种应用本发明实施例的人机界面示意图,在栈深不变情况下,当原语解析器未对列表进行检测前,对应的人机界面展示如图4A所示,当检测完成后增加一行,对应的人机界面展示如图4B所示。
方式二,当OID的栈深增加1的情况下,在第一对象标识符进栈一位生成第二对象标识符。
例如,操作前为:
3 打包操作
3.1 StepStart
3.2 RRU包
增加一行,并且栈深加1后:
3 打包操作
3.1 StepStart
3.2 RRU包
3.2.1 比较每个小的RRU包的文件
参考参考图5A所示的另一种应用本发明实施例的人机界面示意图,在OID的栈深增加1情况下,当原语解析器未对列表进行检测前,对应的人机界面展示如图5A所示,当检测完成后增加一行,对应的人机界面展示如图5B所示。
方式三,当OID的栈深减1(或n)时,在第一对象标识符退栈一位生成第二对象标识符;
例如,操作前为:
1 参数完备性检查
1.1 信息改变和更新
1.2 ftp环境和用户检查
1.3 EndLoop
操作后:
1 参数完备性检查
1.1 信息改变和更新
1.2 ftp环境和用户检查
1.3 EndLoop
2 复制转换操作
参考图6A所示的又一种应用本发明实施例的人机界面示意图,在OID的栈深减1情况下,当原语解析器未对列表进行检测前,对应的人机界面展示如图6A所示,当检测完成后增加一行,对应的人机界面展示如图6B所示。
当然,上述方式仅作为示例,本领域技术人员还可以通过其他方式通过所述原语定义脚本生成所述执行行的树表联合描述数据,对此本发明不作限制。
步骤104,采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;
在本发明实施例中,还可以通过如下方式生成所述测试用例的人机界面呈现数据:获取与所述原语名称所对应的友好描述信息;采用所述第二对象标识符生成所述人机界面呈现数据的展示行;其中,所述第二对象标识符与所述展示行一一对应;在所述展示行中填入与所述原语名称相对应的友好描述信息,生成人机界面呈现数据。
在具体实现中,人机界面接收到的人机界面呈现数据,与在脚本执行过程中所上报的OID将在人机界面中一一匹配,所述测试用例具有友好描述信息,所述友好描述信息可以将测试用例所表达的计算机语言翻译成人类语言,将与所述原语名称一一对应。
步骤105,在人机交互界面中展示所述人机界面呈现数据。
在本发明实施例中,还可以通过如下方式在人机交互界面中展示所述人机界面呈现数据:采用所述人机界面呈现数据生成所述测试用例的执行过程;将所述测试用例的执行过程输出至人机交互界面进行展示。
在实际应用中,本发明实施例可以利用用于可视化展示的接口格式uistep,执行行所描述的行唯一标识OID与测试脚本的一一对应关系,人机界面根据执行脚本上报的消息,实时将人机界面与执行行执行过程关联显示。
在本发明的一个优选实施例中,所述测试用例的人机界面呈现数据包括所述测试用例的执行过程数据和执行结果数据。
在具体实现中,本发明实施例可以将测试用例执行过程动态的在人机交互界面中实时展现,也可以将测试完毕的测试结果以树形列表展现于人机界面中。
参考图7所示的一种应用本发明实施例的完整人机界面示意图,当完成对测试脚本的原语定义脚本列表的检测之后,将接收uistep文件后所得到的OID信息与测试脚本在执行过程中所上报的OID进行匹配,将匹配的测试脚本执行行描述过程输出至所述人机交互界面。
在具体实现中应用本发明实施例,即可在人机交互脚本的测试过程中,先对人机交互脚本利用原语进行包装生成人机原语定义脚本,进而使得在人机原语定义脚本中带有原语标记的执行行在测试过程中能够被原语解析器获取,并通过执行行中的原语名称自动生成被测的脚本中的执行行OID,根据被测脚本执行行中的执行行OID生成被测用例的被测用例OID,将与被测用例OID相对应的执行过程在人机界面中进行展示,通过上述方法,既能避免开发人员手动操作OID,又确保了OID精确指定脚本行,使得在用脚本测试行过程中上报的OID在人机界面中一一匹配,实现了人机交互脚本的测试结果展现,这便使得人机交互界面业务开发人员可以在脱离人机交互自动化脚本开发人员的基础上,根据实际需求独立开发人机交互界面,编写脚本的专业人员,可以通过可视化人机界面,检查脚本是否与设计相符合以及一致,进而提高了人机交互界面的研发效率,适应了大规模生产与协作的需要。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明的一种人机交互脚本的测试结果的展现装置实施例的结构框图,具体可以包括如下模块:
人机原语定义脚本生成模块801,用于生成所述人机交互脚本对应的人机原语定义脚本;所述人机原语定义脚本中包括有效执行行,所述有效执行行中包括测试用例;所述测试用例具有对应的原语名称;
第一对象标识符分配模块802,用于为所述有效执行行分配第一对象标识符;
第二对象标识符计算模块803,用于采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;
人机界面呈现数据生成模块804,用于采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;
展示模块805,用于在人机交互界面中展示所述人机界面呈现数据。
本发明实施例的一个优选实施例中,所述第二对象标识符计算模块803包括还可以包括如下子模块:
栈操作指令获取子模块,用于获取与所述原语名称所对应的栈操作指令;其中,所述栈操作指令包括:压栈,弹栈,自增,无;
第一第二对象标识符生成子模块,用于所述栈操作指令为压栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符进栈一位生成第二对象标识符;
第二第二对象标识符生成子模块,用于所述栈操作指令为弹栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符退栈一位生成第二对象标识符;
第三第二对象标识符生成子模块,用于所述栈操作指令为无时,保持所述第一对象标识符的栈深不变,将所述第一对象标识符直接作为第二对象标识符;
第四第二对象标识符生成子模块,用于所述栈操作指令为自增时,保持所述第一对象标识符的栈深不变,在所述第一对象标识符栈顶数值加一生成第二对象标识符。
本发明实施例的一个优选实施例中,所述人机界面呈现数据生成模块804还可以包括如下子模块:
友好描述信息获取子模块,用于获取与所述原语名称所对应的友好描述信息;
展示行生成子模块,用于采用所述第二对象标识符生成所述人机界面呈现数据的展示行;其中,所述第二对象标识符与所述展示行一一对应;
人机界面呈现数据生成子模块,用于在所述展示行中填入与所述原语名称相对应的友好描述信息,生成人机界面呈现数据。
本发明实施例的一个优选实施例中,所述展示模块805还可以包括如下子模块:
可视化展示接口格式文件生成子模块,用于采用所述人机界面呈现数据生成可视化展示接口格式文件;
输出子模块,用于将所述可视化展示接口格式文件输出至人机交互界面进行展示。
本发明实施例的一个优选实施例中,所述测试用例的人机界面呈现数据包括所述测试用例的执行过程数据和执行结果数据。
在具体实现中应用本发明实施例,即可在人机交互脚本的测试过程中,先对人机交互脚本利用原语进行包装生成人机原语定义脚本,进而使得在人机原语定义脚本中带有原语标记的执行行在测试过程中能够被原语解析器获取,并通过执行行中的原语名称自动生成被测的脚本中的执行行OID,根据被测脚本执行行中的执行行OID生成被测用例的被测用例OID,将与被测用例OID相对应的执行过程在人机界面中进行展示,通过上述方法,既能避免开发人员手动操作OID,又确保了OID精确指定脚本行,使得在用脚本测试行过程中上报的OID在人机界面中一一匹配,实现了人机交互脚本的测试结果展现,这便使得人机交互界面业务开发人员可以在脱离人机交互自动化脚本开发人员的基础上,根据实际需求独立开发人机交互界面,编写脚本的专业人员,可以通过可视化人机界面,检查脚本是否与设计相符合以及一致,进而提高了人机交互界面的研发效率,适应了大规模生产与协作的需要。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种人机交互脚本的测试结果的展现方法和一种人机交互脚本的测试结果的展现装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种人机交互脚本的测试结果的展现方法,其特征在于,所述方法包括:
生成所述人机交互脚本对应的人机原语定义脚本;所述人机原语定义脚本中包括有效执行行,所述有效执行行中包括测试用例;所述测试用例具有对应的原语名称;
为所述有效执行行分配第一对象标识符;
采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;
采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;
在人机交互界面中展示所述人机界面呈现数据。
2.根据权利要求1所述的方法,其特征在于,所述第一对象标识符具有栈深,所述采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符的步骤包括:
获取与所述原语名称所对应的栈操作指令;其中,所述栈操作指令包括:压栈,弹栈,自增,无;
当所述栈操作指令为压栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符进栈一位生成第二对象标识符;
当所述栈操作指令为弹栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符退栈一位生成第二对象标识符;
当所述栈操作指令为无时,保持所述第一对象标识符的栈深不变,将所述第一对象标识符直接作为第二对象标识符;
当所述栈操作指令为自增时,保持所述第一对象标识符的栈深不变,在所述第一对象标识符栈顶数值加一生成第二对象标识符。
3.根据权利要求1所述的方法,其特征在于,所述采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据的步骤包括:
获取与所述原语名称所对应的友好描述信息;
采用所述第二对象标识符生成所述人机界面呈现数据的展示行;其中,所述第二对象标识符与所述展示行一一对应;
在所述展示行中填入与所述原语名称相对应的友好描述信息,生成人机界面呈现数据。
4.根据权利要求1所述的方法,其特征在于,所述在人机交互界面中展示所述人机界面呈现数据的步骤包括:
采用所述人机界面呈现数据生成可视化展示接口格式文件;
将所述可视化展示接口格式文件输出至人机交互界面进行展示。
5.根据权利要求1或3或4所述的方法,其特征在于,所述测试用例的人机界面呈现数据包括所述测试用例的执行过程数据和执行结果数据。
6.一种人机交互脚本的测试结果的展现装置,其特征在于,所述装置包括:
人机原语定义脚本生成模块,用于生成所述人机交互脚本对应的人机原语定义脚本;所述人机原语定义脚本中包括有效执行行,所述有效执行行中包括测试用例;所述测试用例具有对应的原语名称;
第一对象标识符分配模块,用于为所述有效执行行分配第一对象标识符;
第二对象标识符计算模块,用于采用所述第一对象标识符和原语名称,计算所述测试用例的第二对象标识符;
人机界面呈现数据生成模块,用于采用所述原语名称和第二对象标识符,生成所述测试用例的人机界面呈现数据;
展示模块,用于在人机交互界面中展示所述人机界面呈现数据。
7.根据权利要求6所述的装置,其特征在于,所述第一对象标识符具有栈深,所述第二对象标识符计算模块包括:
栈操作指令获取子模块,用于获取与所述原语名称所对应的栈操作指令;其中,所述栈操作指令包括:压栈,弹栈,自增,无;
第一第二对象标识符生成子模块,用于所述栈操作指令为压栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符进栈一位生成第二对象标识符;
第二第二对象标识符生成子模块,用于所述栈操作指令为弹栈时,修改所述第一对象标识符的栈深,在所述第一对象标识符退栈一位生成第二对象标识符;
第三第二对象标识符生成子模块,用于所述栈操作指令为无时,保持所述第一对象标识符的栈深不变,将所述第一对象标识符直接作为第二对象标识符;
第四第二对象标识符生成子模块,用于所述栈操作指令为自增时,保持所述第一对象标识符的栈深不变,在所述第一对象标识符栈顶数值加一生成第二对象标识符。
8.根据权利要求6所述的装置,其特征在于,所述人机界面呈现数据生成模块包括:
友好描述信息获取子模块,用于获取与所述原语名称所对应的友好描述信息;
展示行生成子模块,用于采用所述第二对象标识符生成所述人机界面呈现数据的展示行;其中,所述第二对象标识符与所述展示行一一对应;
人机界面呈现数据生成子模块,用于在所述展示行中填入与所述原语名称相对应的友好描述信息,生成人机界面呈现数据。
9.根据权利要求6所述的装置,其特征在于,所述展示模块包括:
可视化展示接口格式文件生成子模块,用于采用所述人机界面呈现数据生成可视化展示接口格式文件;
输出子模块,用于将所述可视化展示接口格式文件输出至人机交互界面进行展示。
10.根据权利要求6或8或9所述的装置,其特征在于,所述测试用例的人机界面呈现数据包括所述测试用例的执行过程数据和执行结果数据。
CN201710481399.3A 2017-06-22 2017-06-22 一种在人机交互脚本的测试结果的展现方法和装置 Active CN109117356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710481399.3A CN109117356B (zh) 2017-06-22 2017-06-22 一种在人机交互脚本的测试结果的展现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710481399.3A CN109117356B (zh) 2017-06-22 2017-06-22 一种在人机交互脚本的测试结果的展现方法和装置

Publications (2)

Publication Number Publication Date
CN109117356A true CN109117356A (zh) 2019-01-01
CN109117356B CN109117356B (zh) 2020-11-13

Family

ID=64732677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710481399.3A Active CN109117356B (zh) 2017-06-22 2017-06-22 一种在人机交互脚本的测试结果的展现方法和装置

Country Status (1)

Country Link
CN (1) CN109117356B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0930568A2 (en) * 1997-12-18 1999-07-21 Nortel Networks Corporation Apparatus and method for generating model reference tests
CN101188844A (zh) * 2007-12-04 2008-05-28 中兴通讯股份有限公司 一种业务自动化的测试系统及其测试方法
CN101867501A (zh) * 2010-05-25 2010-10-20 北京宜富泰网络测试实验室有限公司 Snmp接口信息模型一致性自动化测试方法及系统
CN102331967A (zh) * 2011-06-15 2012-01-25 烽火通信科技股份有限公司 芯片验证测试用例的管理方法
CN103457996A (zh) * 2013-06-19 2013-12-18 重庆邮电大学 一种协议一致性测试系统内部数据存储方法及系统
CN103577168A (zh) * 2012-07-27 2014-02-12 鸿富锦精密工业(深圳)有限公司 测试用例创建系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0930568A2 (en) * 1997-12-18 1999-07-21 Nortel Networks Corporation Apparatus and method for generating model reference tests
CN101188844A (zh) * 2007-12-04 2008-05-28 中兴通讯股份有限公司 一种业务自动化的测试系统及其测试方法
CN101867501A (zh) * 2010-05-25 2010-10-20 北京宜富泰网络测试实验室有限公司 Snmp接口信息模型一致性自动化测试方法及系统
CN102331967A (zh) * 2011-06-15 2012-01-25 烽火通信科技股份有限公司 芯片验证测试用例的管理方法
CN103577168A (zh) * 2012-07-27 2014-02-12 鸿富锦精密工业(深圳)有限公司 测试用例创建系统及方法
CN103457996A (zh) * 2013-06-19 2013-12-18 重庆邮电大学 一种协议一致性测试系统内部数据存储方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
兰孝文: "软件自动化测试用例表达及用例生成的研究", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN109117356B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN105068815B (zh) 页面编辑器交互装置和方法
Uchitel et al. Synthesis of behavioral models from scenarios
CN103902456B (zh) 测试脚本处理装置、系统及方法
CN108897724B (zh) 功能完成进度确定方法及装置
JP5734902B2 (ja) 建設工程管理システムおよびその管理方法
CN106547681B (zh) 数据自动加载并复用模拟服务测试的方法和装置
US20130007711A1 (en) Unified model for visual component testing
CN109522228B (zh) 接口自动化测试数据构造方法、装置、平台及存储介质
CN105743736B (zh) 自动化测试方法及系统
CN105335412A (zh) 用于数据转换、数据迁移的方法和装置
JP2007323573A (ja) 機能テスト・スクリプト生成装置
CN106126157B (zh) 基于医院信息系统的语音输入方法及装置
JP2017533491A (ja) 情報処理方法、装置及びコンピュータ記憶媒体
US20140214396A1 (en) Specification properties creation for a visual model of a system
CN103605556A (zh) 虚拟试验对象一体化构建系统及方法
CN103793226B (zh) 一种普适应用代码框架快速生成方法及原型系统
KR20160073750A (ko) 텍스트 기반 공연 사전 시각화 장치 및 방법
CN103164545A (zh) 虚拟电子元器件的可视化编辑方法
CN113703751A (zh) 工业指标组件的图形化生成方法、装置和电子设备
CN111143228B (zh) 基于决策表法的测试代码生成方法及装置
CN106355301A (zh) 用于确定工作流模板的方法及设备
CN109117356A (zh) 一种在人机交互脚本的测试结果的展现方法和装置
Sharma et al. Generation of automated test cases using UML modeling
CN113672509A (zh) 自动化测试方法、装置、测试平台及存储介质
Archer et al. Specifying and proving properties of timed I/O automata using Tempo

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant