发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种界面测试用例的生成方法,能够快速生成测试脚本,节省人力。
本发明还提出一种界面测试用例的生成***。
本发明还提出一种计算机可读存储介质。
第一方面,本发明的一个实施例提供了界面测试用例的生成方法,包括:
获取基本测试配置,并根据用户选中业务页面以确定待测试页面;
根据所述基本测试配置和预设测试步骤数据库确定测试步骤,所述预设测试步骤数据库包括:所述基本测试配置和所述测试步骤的映射信息;
将所述测试步骤转化为测试用例元数据;
将所述测试用例元数据和所述待测试页面匹配以生成测试脚本。
本发明实施例的界面测试用例的生成方法至少具有如下有益效果:通过解析基本配置信息,以根据基本配置信息确定测试步骤,再通过测试步骤生成测试用例元数据,再根据测试用例元数据自动生成可运行的测试脚本,使得测试脚本生成简易,节省人力。
根据本发明的另一些实施例的界面测试用例的生成方法,所述测试步骤包括:基本测试步骤、组合测试步骤以及其他测试步骤。
根据本发明的另一些实施例的界面测试用例的生成方法,还包括:
根据用户编辑步骤内容以确定自定义步骤;
根据所述自定义步骤和所述测试步骤更新所述测试用例元数据。
根据本发明的另一些实施例的界面测试用例的生成方法,还包括:
获取用户操作所述待测试页面的调试命令;
根据所述调试命令更新所述测试步骤。
根据本发明的另一些实施例的界面测试用例的生成方法,所述调试命令包括:删除命令、添加命令以及修改命令;
所述根据所述调试命令更新所述测试步骤,包括:
根据所述删除命令删掉所述删除命令对应的所述测试步骤;
根据所述添加命令增加所述测试步骤以得到新增步骤;
根据所述修改命令调整所述修改命令对应的所述测试步骤。
根据本发明的另一些实施例的界面测试用例的生成方法,还包括:
监测所述待测试页面的界面信息是否与所述测试脚本对应的测试用例一致;
若所述测试用例和所述界面信息不一致,输出并显示提示信息。
根据本发明的另一些实施例的界面测试用例的生成方法,还包括:
接收打开指令,并根据所述打开指令打开所述测试用例;
根据用户调节所述测试用例以获取手动调试命令;
根据所述手动调试命令调节所述测试用例以得微调测试用例,并监测所述微调测试用例和所述界面信息是否一致;
若所述微调测试用例与所述界面信息一致,消除所述提示信息。
根据本发明的另一些实施例的界面测试用例的生成方法,所述基本测试配置包括:界面元素信息、测试服务器配置。
第二方面,本发明的一个实施例提供了界面测试用例的生成***,包括:
获取模块,用于获取基本测试配置,还用于根据用户选中业务页面以获取待测试页面;
处理模块,用于根据所述基本测试配置和预设测试步骤数据库确定测试步骤,所述预设测试步骤数据库包括:所述基本测试配置和所述测试步骤的映射信息;
转换模块,用于将所述测试步骤转化为测试用例元数据;
生成模块,用于将所述测试用例元数据和所述待测试页面匹配以生成测试脚本。
本发明实施例的界面测试用例的生成***至少具有如下有益效果:通过解析基本配置信息,以根据基本配置信息确定测试步骤,再通过测试步骤生成测试用例元数据,再根据测试用例元数据自动生成可运行的测试脚本,使得测试脚本生成简易,节省人力。
第三方面,本发明的一个实施例提供了界面测试用例的生成***,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的界面测试用例的生成方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
具体实施方式
以下将结合实施例对本发明的构思及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。
在本发明实施例的描述中,如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“大于”、“小于”、“超过”,均应理解为不包括本数,如果涉及到“以上”、“以下”、“以内”,均应理解为包括本数。如果涉及到“第一”、“第二”,应当理解为用于区分技术特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
测试用例脚本自动化程生,主要通过记录用户操作来生成测试用例脚本,但是传统的录制测试用例脚本成本高,测试脚本难以维护,测试脚本执行效率低,技术要求门槛高。
基于此,本申请公开了界面测试用例的生成方法、***以及存储介质,通过界面测试用例的生成方法快速生成测试脚本,避免人工直接面对测试脚本进行维护,只需要通过本方法生成与维护测试用例,因此界面测试用例的生成方法要求的技术门槛低,能够提高用户体验感。
第一方面,参照图1,本发明实施例公开了一种界面测试用例的生成方法,包括:
S100、获取基本测试配置,并根据用户选中业务页面以获取待测试页面;
S200、根据基本测试配置和预设测试步骤数据库确定若干测试步骤,预设测试步骤数据库包括:基本测试配置和测试步骤的映射信息;
S300、将若干测试步骤转化为测试用例元数据;
S400、将测试用例元数据和待测试页面匹配以生成测试脚本。
通过基本测试配置与预设测试步骤数据库内的映射信息进行映射以确定若干测试步骤,且测试步骤定义为测试用例的最小单元,将若干测试步骤组成一个完整测试用例为指导思想,以得到整个测试步骤套件,然后将测试步骤套件生成界面的测试用例元数据,然后通过测试用例元数据生成可执行的测试脚本。整个过程基于基本配置信息和预设测试步骤数据库获取测试步骤,然后根据测试步骤自动生成测试用例元数据,无需用户对测试用例脚本进行维护,实现零脚本编码,降低了技术门槛,提升了测试用例的开发效率。
在一些实施例中,测试步骤包括:基本测试步骤、组合测试步骤以及其他测试步骤。
其中,基本测试步骤涵盖了业务***交互的绝大部分的原子级操作,且基本测试步骤包括:点击按钮、录入字段、下拉选择等等。组合步骤包括固定组合测试步骤和动态组合测试步骤,且固定组合测试步骤用来处理固定测试操作,动态组合测试步骤用来处理动态测试操作,以提高测试用例开发的效率。例如,登录操作为固定测试操作,登录操作一般都是先访问登录界面地址,然后输入用户名和密码,再点击登录按钮以完成登录操作,所以登录操作为固定测试操作。录入编辑表单字段属于动态测试操作,由于不同编辑界面的字段个数,字段类型是不同的,所以根据控件类型等信息来动态录入,因此录入编辑表单字段属于动态组合步骤。
由于预设测试步骤数据库包括基本测试配置和测试步骤的映射信息,且预设测试步骤数据库内包括的测试步骤由测试步骤套件细分得到,且测试步骤套件是最佳实践的测试步骤组合模板,而以最佳实践的测试步骤组合模板作为测试步骤套件提升测试脚本生成的准确性。例如“保存”测试步骤套件定义的测试步骤组合为:登录并进入应用->获取应用页焦点->进入列表界面->获取列表页焦点->选择外层框架Tab页签->点击列表链接->退出框架->获取编辑页焦点->录入字段->录入编辑表格数据->点击保存按钮->保存后校验->退出框架->关闭浏览器并杀进程。所以预设测试步骤数据库内包括的测试步骤由最佳事件的测试步骤组合模板细分得到,那根据基本测试配置得到若干测试步骤,在根据若干测试步骤组合成的测试步骤套件也是最佳的。
在一些实施例中,基本测试配置包括:界面元素信息、测试服务器配置。
当基本测试配置为界面元素信息,根据界面元素信息和预设测试步骤数据库内的映射信息进行映射以匹配到对应的若干测试步骤,然后将若干测试步骤组合成测试步骤套件,且确定了测试步骤套件后,自动配置测试步骤套件中各测试步骤参数,例如“点击保存按钮”这个测试步骤,需要从界面元数据中获取保存按钮这个元素的id。清楚了每个测试步骤参数后,根据测试步骤套件可快速生成测试用例元数据,然后通过测试用例元数据自动生成可执行的测试脚本,使得测试脚本生成快速且简易。
参照图2,在一些实施例中,界面测试用例的生成方法还包括:
S510、根据用户编辑步骤内容以确定自定义步骤;
S520、根据自定义步骤和测试步骤更新测试用例元数据。
根据基本测试配置和预设测试步骤数据库确定的测试步骤,若用户不满意测试步骤,或者预设测试步骤数据库内不存在基本测试配置对应的测试步骤,则用户可以自行添加测试步骤。通过用户编辑步骤内容以得到自定义步骤。其中,自定义步骤需要获取自定义步骤的编码信息、名称信息和图标信息,然后根据自定义步骤和测试步骤重新生成测试用例元数据,既能完善测试步骤,也能保证测试步骤是满足用户需求。
参照图3,在一些实施例中,界面测试用例的生成方法还包括:
S610、获取用户操作待测试页面的调试命令;
S620、根据调试命令更新测试步骤。
生成的若干测试步骤组合成测试步骤套件,若测试步骤套件对应的测试用例与用户预期有所差异,则可以根据用户操作打开测试用例设计界面,然后用户可以在测试用例设计界面中对测试用例进行微调,也即对测试步骤进行微调。根据用户在测试用例设计界面的操作形成调试命令,然后根据调试命令更新测试步骤,进而更新测试步骤套件,以更新测试用例,便于得到的测试用例满足用户要求。
参照图4,在一些实施例中,调试命令包括:删除命令、添加命令以及修改命令,步骤620包括:
S621、根据删除命令删掉删除命令对应的测试步骤;
S622、根据添加命令增加测试步骤以得到新增步骤;
S623、根据修改命令调整修改命令对应的测试步骤。
测试步骤套件内的测试步骤排序错误,或者测试步骤出现问题,则根据用户输入的删除命令可以删掉对应的测试步骤,也可以根据用户输入的修改命令调整对应的测试步骤,且调整测试步骤可以调整整个测试步骤套件中的某一个测试步骤,也可以调整测试步骤套件中任意一个测试步骤的顺序,以提高测试步骤的准确性。若用户需要添加测试步骤时,根据用户输入的添加命令将测试步骤添加到原有的测试步骤套件中,以重新生成测试步骤套件,在重新生成测试步骤套件对应的测试用例元数据。因此,通过根据对应的调试命令去调整测试步骤,以提高测试步骤的准确性。
参照图5,在一些实施例中,界面测试用例的生成方法还包括:
S710、监测待测试页面的界面信息是否与测试脚本对应的测试用例一致;
S720、若测试用例和界面信息不一致,输出并显示提示信息。
由于测试用例元数据和待测试页面相互匹配生成测试脚本,若界面信息发生变化后,测试用例元数据和待测试页面不匹配,也即界面信息和测试用例不一致,则输出并显示提示信息。在本实施例中,提示信息为黄色图标,黄色图标为感叹号黄色图标,便于用户通过提示信息清楚哪一个界面信息发生变化,需要重新生成脚本信息,以保证测试用例和界面信息是一致的。
参照图6,在一些实施例中,界面测试用例的生成方法还包括:
S810、接收打开指令,并根据打开指令打开测试用例;
S820、根据用户调节测试用例以获取手动调试命令;
S830、根据手动调试命令调节测试用例以得微调测试用例,并监测微调测试用例和界面信息是否一致;
S840、若微调测试用例与界面信息一致,消除提示信息。
用户根据提示信息打开提示信息对应的测试用例,则根据用户输入的打开指令,并根据打开指令打开测试用例,用户打开测试用例后可以在测试用例设计界面进行微调以获取手动调试命令。根据手动调试命令调节测试用例以得到调试后的微调测试用例,根据调试后的微调测试用例再去与界面信息比对。若微调测试用例与界面信息一致,则提示信息消失,若仍然不一致保留提示信息,用户可以重新调试微调测试用例,直到输出的微调测试用例与界面信息一致,使得提示信息消失,以得到准确的测试用例,以提供自动同步更新测试用例的能力,使得用例更新维护变得更加简单。
例如,以信息化的采购管理模块为例,测试脚本开发过程如下:
通过用户输入测试服务器配置,且测试服务器配置包括:测试服务器递至、测试服务器用户名、测试服务器密码。然后根据用户选中的测试用例对应的待测试页面,然后根据测试服务器配置与预设测试步骤数据库中映射信息确定若干测试步骤,且每个测试步骤对应待测试页面,一个待测试页面存在多个测试步骤。例如采购管理编辑页面存在保存测试步骤、上报测试步骤、撤回测试步骤、发送测试步骤等等。然后若干测试步骤形成测试步骤套件,再根据测试步骤套件转换成测试用例元数据,再将每个测试用例元数据与待测试步骤匹配,例如采购管理编辑页面的保存测试步骤对应保存测试用例元数据。然后根据每个测试用例元数据与待测试页面匹配生成对应的测试脚本,用户可以直接查看生成的测试脚本。因此整个过程是基于对测试服务配置的解析,使用测试步骤套件,自动生成测试用例元数据,无需用户对测试脚本进行维护,实现了零脚本编码,降低了使用本***的技术门槛,提升了测试用例的开发效率。
下面参考图1至图6以一个具体的实施例详细描述根据本发明实施例的界面测试用例的生成方法。值得理解的是,下述描述仅是示例性说明,而不是对发明的具体限制。
根据用户输入的基本测试配置,然后根据基本测试配置与预设测试步骤数据库中映射信息,且映射信息为测试步骤和基本测试配置的映射。若基本测试配置为界面元素信息,根据界面元素信息和测试步骤的映射能够得到符合界面元素信息的若干测试步骤,且一个待测试页面存在多个测试步骤,将若干测试步骤组合成测试步骤套件后,将测试步骤套件自动配置测试步骤套件中各测试步骤参数,然后根据测试步骤套件和测试步骤参数快速生成完整的测试用例元数据,最后根据测试用例元数据和待测试页面相互匹配以自动生成可执行的测试用例脚本。因此,提炼待测试页面的原子级操作,形成各类操作的测试步骤,以测试步骤为最小单元,再组合成完整的测试用例元数据,将测试用例元数据一键生成测试用例脚本。整个过程是基于对基本测试配置的解析,使用测试步骤套件,自动生成测试用例元数据,无需用户对测试脚本进行维护,实现了零脚本编码,降低了使用本***的技术门槛,提升了测试脚本的开发效率。
第二方面,参照图7,本发明实施例还公开了一种界面测试用例的生成***,包括:获取模块100、处理模块200、转换模块300和生成模块400,获取模块100用于获取基本测试配置,还用于根据用户选中业务页面以获取待测试页面;处理模块200用于根据基本测试配置和预设测试步骤数据库确定测试步骤,预设测试步骤数据库包括:基本测试配置和测试步骤的映射信息;转换模块300用于将测试步骤转化为测试用例元数据;生成模块400用于将测试用例元数据和待测试页面匹配以生成测试脚本。
提炼待测试页面的原子级操作,形成各类操作的测试步骤,以测试步骤为最小单元,再组合成完整的测试用例元数据,将测试用例元数据一键生成测试用例脚本。整个过程是基于对基本测试配置的解析,使用测试步骤套件,自动生成测试用例元数据,无需用户对测试脚本进行维护,实现了零脚本编码,降低了使用本***的技术门槛,提升了测试脚本的开发效率。
第三方面,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如第一方面的界面测试用例的生成方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。