脚本测试案例和手动测试案例的自动生成的制作方法_2

文档序号:9635153阅读:来源:国知局
成应用诸如测试应用104的测试案例。
[0043] 在301中,测试装置可接收测试应用。在示例中,测试应用可由呈本机模式或呈仿 真模式的测试装置执行。在另一个示例中,测试装置可通过通信链路诸如介于测试装置与 执行测试应用的第二装置之间的网络连接件来仅接收指示测试应用的功能和行为的数据。
[0044] 在302中,测试装置可确定测试应用是否包括表单。例如,测试应用可包括用户可 编辑表单诸如图2的表单204。该表单可包括用户可编辑字段、用户控件或其他用户界面特 征。
[0045] 在304中,测试装置可检查确定测试应用中的所有表单是否均已进行测试。在306 中,如果测试应用中的所有表单均已进行了测试,那么该方法可终止。在308中,如果测试 应用中的一个或多个表单尚未进行测试,那么该测试应用可试图检测当前表单中的可编辑 字段。可编辑字段可包括多种用户界面机制中的任一种,其中用户可通过选择一个或多个 选项诸如单选按钮、滑块、复选框、搜索框、下拉菜单或其他界面元素来在对话框区域中提 供数据诸如文本、值或其他信息。
[0046] 在310中,测试装置可检查确定测试应用中的所有字段是否具有对应的测试案 例。在312中,如果表单中的任何字段并不具有对应的测试案例,那么生成用于所述字段 的测试案例。按照这种顺序进行的检查和生成用于表单中的所有字段的测试案例可重复进 行,直到用于所有字段的测试案例被提供。
[0047] 在314中,测试装置可迭代至测试应用中的下一个表单。可以此方式检查测试应 用内的所有表单的字段,并且每个表单中的每个字段均可在无需用户交互的情况下具有生 成的对应的测试案例。
[0048] 虽然在图3的示例中串行排列,但其他示例可使用组织为两个或更多个虚拟机或 子处理器的多个处理器或单个处理器来对操作重新排序、省略一个或多个操作和/或并行 执行两个或更多个操作。此外,其他示例可将这些操作实现为一个或多个特定的互连硬件 或集成电路模块,这些集成电路模块具有相关的控件和数据信号在模块之间进行传输并且 通过模块进行传输。因此,任何过程流均可适用于软件、固件、硬件和混合实现方式。
[0049] 图4是图示了根据一些实施方案的用于生成测试案例的示例方法400的流程图。 在示例中,方法400可在图3的操作312中由计算装置诸如图3的测试装置204执行。
[0050] 在402中,测试装置可检测对应于表单中的字段的元数据。该字段可能是具体表 单独有的,或可能是多个表单上所存在的公共字段。所述元数据可提供指定了字段的一种 或多种性质的信息,诸如字段是否是用户可编辑的、可被输入到字段中的数据的有效格式 或值范围或可指示可进行测试的字段的特征或功能的其他信息。
[0051] 在404中,测试装置可确定字段是否是用户可修改的。例如,用户可修改字段可包 括用户可在其中编辑内容或在一个或多个选项之间作出预定选择的字段。字段(其并不是 用户可修改的)可包括只读字段。例如,向用户呈现信息(例如,计算结果或其他数据)的 字段。
[0052] 在406中,如果测试装置确定字段是用户可修改的;那么测试装置可基于对应于 该字段的元数据来生成用户可修改字段的测试数据和自动化测试函数。在示例中,自动化 测试函数可包括用于将字段用元数据中所包括的数据值填充的脚本函数。
[0053] 在408中,测试装置可生成自然语言测试案例。在示例中,该自然语言测试案例可 以是基于在406中所生成的自动化测试函数。在另一个示例中,自然语言测试案例可以基 于对应于字段的元数据独立生成。
[0054] 在410中,如果测试装置确定字段并不是用户可修改的,那么测试装置可生成用 于检索和测试字段内容的测试验证函数。例如,测试函数可读取由字段呈现的值并将所述 值与元数据中所包括的数据,或与源自一个或多个其他测试变量的所计算值进行比较。
[0055] 在412中,测试装置可生成自然语言验证程序。在示例中,该自然语言验证程序可 以是基于在410中所生成的测试验证函数。在另一个示例中,测试验证函数可以基于对应 于字段的元数据独立生成。
[0056] 在414中,测试装置可输出自动化语言测试和自然语言测试。在示例中,测试装置 可以向第一文件输出自动化测试函数和测试验证函数,并且向第二文件输出自然语言测试 案例和自然语言验证程序。自动化脚本和自然语言测试包二者均可由自动化系统以此方式 开发。
[0057] 虽然在图4的示例中串行排列,但其他示例可使用组织为两个或更多个虚拟机或 子处理器的多个处理器或单个处理器来对操作重新排序、省略一个或多个操作和/或并行 执行两个或更多个操作。此外,其他示例可将这些操作实现为一个或多个特定的互连硬件 或集成电路模块,这些集成电路模块具有相关的控件和数据信号在模块之间进行传输并且 通过模块进行传输。因此,任何过程流均可适用于软件、固件、硬件和混合实现方式。
[0058] 图5是图示了可对其执行本文所论述技术(例如,方法)中的任一种或多种的示 例机器500的框图。在替代实施方案中,机器500可作为独立式装置操作或可连接(例如, 联网)至其他机器。在联网部署中,机器500可作为服务器机器、客户端机器或二者在服务 器-客户端网络环境中操作。在示例中,机器500可充当对等(P2P)(或其他分布式)网络 环境中的对等机器。机器500可以是个人计算机(PC)、平板PC、个人数字助理(PDA)、移动 电话、web设备或者能够执行指定由该机器所采取的动作的指令(顺序地或其他方式)的任 何机器。另外,尽管仅图示了单个机器,但术语"机器"也应当被理解为包括任何如下机器 的集合,机器单独地或联合地执行用以实现本文所论述方法中的任一种或多种的一个(或 多个)指令集,诸如云计算、软件即服务(SaaS)、其他计算机集群配置。
[0059] 示例(如本文所述)可包括逻辑或多个组件、模块或机制,或可对它们进行操作。 模块是能够执行指定操作的有形实体并且可以某种方式配置或布置。在示例中,可将电路 作为模块以指定方式布置(例如,布置在内部或相对于外部实体诸如其他电路布置)。在示 例中,一个或多个计算机系统(例如,独立式客户端或服务器计算机系统)或一个或多个硬 件处理器的全部或一部分可通过固件或软件(例如,指令、应用部分或应用)配置为操作来 执行指定操作的模块。在示例中,软件可存在于(1)非暂时性机器可读介质上或(2)传输 信号中。在示例中,软件在由模块的底层硬件执行时,导致硬件执行指定操作。
[0060] 因此,应当理解,术语"模块"涵盖有形实体,该有形实体是物理上构造而成的实 体、专门配置而成的实体(例如,硬连线实体)或临时配置而成的实体(例如,暂时性实 体),所述实体(例如,经编程)用于以指定方式操作或用于执行本文所述的任何操作的一 部分或全部。考虑其中模块临时配置而成的示例,这些模块中的每一个均不需要在任何一 个时刻实例化。例如,在这些模块包括使用软件配置而成的通用硬件处理器的情况下,可将 通用硬件处理器在不同的时间配置为相应不同的模块。例如,软件可相应地配置硬件处理 器以在一个时刻构成具体模块并且在不同的时刻构成不同的模块。
[0061] 机器(例如,计算机系统)500可包括硬件处理器502 (例如,处理单元、图形处理 单元(GPU)、硬件处理器核心或它们的任意组合)、主存储器504和静态存储器506,其中的 一些或全部可通过互联链路508 (例如,总线、链路、互连件等)彼此通信。机器500可进一 步包括显示器装置510、输入装置512 (例如,键盘)和用户界面(UI)导航装置514 (例如, 鼠标)。在示例中,显示器装置510、输入装置512和UI导航装置514可为触摸屏显示器。 此外,机器500可包括大容量存储设备(例如,驱动单元)516、信号生成装置518 (例如,扬 声器)、网络接口装置520以及一个或多个传感器521诸如全球定位系统(GPS)传感器、相 机、录像机、罗盘、加速度计或其他传感器。机器500可包括输出控制器528诸如串行(例 如,通用串行总线(USB)、并行或者其他有线或无线(例如,红外线(IR))连接件,以进行通 信或控制一个或多个外围装置(例如,打印机、读卡器
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1