本发明涉及语义识别,尤其涉及一种基于语义识别的移动端ui自动化测试方法及装置。
背景技术:
1、随着软件系统的复杂性和规模的增长,测试需要越来越多的时间和人力,而软件自动化测试快速发展,但为了提高移动端ui自动化测试的准确性,需要对自动化测试的测试用例的语义更为准确的识别,以进行移动端ui自动化测试。
2、现有的移动端ui自动化测试多为移动端的埋点测试,例如,在移动端上操作触发埋点上报,通过移动端抓包获取埋点数据,再依据埋点文档对每个字段进行人工校验。实际应用中,通过埋点测试可能会对测试用例的语义理解有偏差,可能导致对自动化测试过于片面,从而对进行移动端ui自动化测试时的准确度较低。
技术实现思路
1、本发明提供一种基于语义识别的移动端ui自动化测试方法及装置,其主要目的在于解决进行移动端ui自动化测试时的准确度较低的问题。
2、为实现上述目的,本发明提供的一种基于语义识别的移动端ui自动化测试方法,包括:
3、s1、获取用户需求,根据所述用户需求确定移动端ui业务逻辑,根据所述移动端ui业务逻辑及预设的移动端页面属性生成移动端ui关键词;
4、s2、利用预设的动态组合算法根据所述用户需求对所述移动端ui关键词进行动态组合,得到组合关键词,根据所述移动端ui业务逻辑对所述组合关键词进行封装,得到关键词驱动,其中所述根据所述移动端ui业务逻辑对所述组合关键词进行封装,得到关键词驱动,包括:
5、s21、根据所述移动端ui业务逻辑确定页面跳转顺序;
6、s22、利用预设的权重算法逐一计算所述组合关键词的组合权重,其中所述权重算法为:
7、
8、其中,为第个组合关键词的组合权重,为组合关键词的组合数量,为第个组合关键词中第个关键词的权重,为关键词数量;
9、s23、根据所述组合权重对所述组合关键词进行分类,得到分类组合;
10、s24、按照所述页面跳转顺序对所述分类组合进行排序,得到排序组合,对所述排序组合进行封装,得到关键词驱动;
11、s3、利用预设的语义识别算法对所述关键词驱动进行语义解析,得到核心关键词语义,根据所述核心关键词语义生成移动端ui自动化测试用例;
12、s4、将所述移动端ui自动化测试用例转换为移动端ui自动化测试命令,通过预设的自动化测试遍历算法根据所述移动端ui自动化测试命令进行自动化测试,得到测试报告,利用预设的用例通过率算法计算所述测试报告的用例通过率;
13、s5、根据所述用例通过率对所述移动端ui自动化测试用例进行优化,得到优化自动化测试用例,通过预设的自动化测试算法根据所述优化自动化测试用例对移动端ui进行自动化测试。
14、可选地,所述根据所述移动端ui业务逻辑及预设的移动端页面属性生成移动端ui关键词,包括:
15、提取所述移动端ui业务逻辑的业务逻辑关键词;
16、提取所述移动端页面属性中的动作属性;
17、将所述业务逻辑关键词及所述动作属性进行封装,得到移动端ui关键词。
18、可选地,所述利用预设的动态组合算法根据所述用户需求对所述移动端ui关键词进行动态组合,得到组合关键词,包括:
19、根据所述用户需求对所述移动端ui关键词进行筛选,得到需求关键词;
20、对所述需求关键词进行序号标记,得到需求关键词序号;
21、利用所述动态组合算法对所述需求关键词序号进行动态组合,得到组合关键词,其中所述动态组合算法为:
22、
23、其中,为从个需求关键词序号中任取个需求关键词序号的组合关键词,为所述需求关键词序号的关键词数量,为选取需求关键词序号的关键词数量,为阶乘符号。
24、可选地,所述利用预设的语义识别算法对所述关键词驱动进行语义解析,得到核心关键词语义,包括:
25、利用所述语义识别算法中bert模型提取所述关键词驱动的字符级特征;
26、利用所述语义识别算法中lstm模型提取所述关键词驱动的词汇级特征;
27、将所述字符级特征及所述词汇级特征进行特征融合,得到融合特征;
28、通过预设的判别随机场对所述融合特征进行语义标注,得到所述核心关键词语义。
29、可选地,所述根据所述核心关键词语义生成移动端ui自动化测试用例,包括:
30、根据所述核心关键词语义确定移动端ui的测试用例字段;
31、根据所述测试用例字段及预设的测试用例参数生成移动端ui自动化测试用例。
32、可选地,所述通过预设的自动化测试遍历算法根据所述移动端ui自动化测试命令进行自动化测试,得到测试报告,包括:
33、根据所述移动端ui自动化测试命令生成自动化测试树;
34、利用如下的代价值计算公式逐一计算所述自动化测试树中每条测试边的测试代价值:
35、
36、其中,为测试命令与测试命令之间的边代价值,为测试命令与测试命令为顶点构成的边,为实数,为测试命令与测试命令之间的边长度,为测试命令与测试总命令之间的归一化系数,为测试命令与测试命令之间的归一化系数,为测试命令与测试总命令之间的权重系数,为测试命令与测试总命令之间的权重系数,为圆周率;
37、根据所述测试代价值对所述自动化测试树进行优化,得到优化自动化测试树;
38、利用所述自动化测试遍历算法对所述优化自动化测试树进行自动化测试,得到测试报告。
39、可选地,所述利用预设的用例通过率算法计算所述测试报告的用例通过率,包括:
40、获取所述测试报告中的用例通过数及用例失败数;
41、利用如下所述用例通过率算法根据所述用例通过数、所述用例失败数及预设的用例修正因子计算所述测试报告的用例通过率:
42、
43、其中,为所述用例通过率,为所述用例修正因子,为所述用例通过数,为所述用例失败数。
44、可选地,所述根据所述用例通过率对所述移动端ui自动化测试用例进行优化,得到优化自动化测试用例,包括:
45、当所述用例通过率小于预设的用例通过阈值时,根据所述核心关键词语义对所述移动端ui自动化测试用例进行更新,得到更新自动化测试用例,直至所述用例通过率大于或等于预设的用例通过阈值;
46、当所述用例通过率大于或等于预设的用例通过阈值时,将所述更新自动化测试用例作为所述优化自动化测试用例。
47、可选地,所述通过预设的自动化测试算法根据所述优化自动化测试用例对移动端ui进行自动化测试,包括:
48、根据所述优化自动化测试用例生成自动化测试脚本;
49、通过所述自动化测试算法根据所述自动化测试脚本对移动端ui进行自动化测试。
50、为了解决上述问题,本发明还提供一种基于语义识别的移动端ui自动化测试装置,所述装置包括:
51、关键词生成模块,用于获取用户需求,根据所述用户需求确定移动端ui业务逻辑,根据所述移动端ui业务逻辑及预设的移动端页面属性生成移动端ui关键词;
52、关键词驱动封装模块,用于利用预设的动态组合算法根据所述用户需求对所述移动端ui关键词进行动态组合,得到组合关键词,根据所述移动端ui业务逻辑对所述组合关键词进行封装,得到关键词驱动;
53、测试用例生成模块,用于利用预设的语义识别算法对所述关键词驱动进行语义解析,得到核心关键词语义,根据所述核心关键词语义生成移动端ui自动化测试用例;
54、用例通过率计算模块,用于将所述移动端ui自动化测试用例转换为移动端ui自动化测试命令,通过预设的自动化测试遍历算法根据所述移动端ui自动化测试命令进行自动化测试,得到测试报告,利用预设的用例通过率算法计算所述测试报告的用例通过率;
55、自动化测试模块,用于根据所述用例通过率对所述移动端ui自动化测试用例进行优化,得到优化自动化测试用例,通过预设的自动化测试算法根据所述优化自动化测试用例对移动端ui进行自动化测试。
56、本发明实施例通过用户需求确定移动端ui业务逻辑,进而根据业务逻辑及页面属性生成移动端ui关键词,将关键词进行动态组合,实现移动端ui自动化测试的全面性;将组合关键词进行封装,得到关键词驱动,有利于提高测试用例的拓展性;对关键词驱动进行语义解析,进而根据语义解析后的关键词语义生成自动化测试用例,有利于更为准确且全面的设计测试用例,保证自动化测试的准确性;对自动化测试用例进行自动化测试,进而根据通过率对测试用例进行优化,实现更为全面的测试用例,以提高移动端自动化测试的准确性。因此本发明提出的基于语义识别的移动端ui自动化测试方法及装置,可以解决进行移动端ui自动化测试时的准确度较低的问题。