本公开涉及软件测试领域,具体地,涉及一种测试案例生成方法、装置、存储介质及电子设备。
背景技术:
1、测试案例是测试执行过程的重要依据,体现具体的测试方法和步骤。在测试设计阶段,通常采用人工编写测试案例的方式,此种编写方式的效率较低,且写出的测试案例质量在很大程度上取决于测试设计人员的技术水平,导致最后生成的测试案例质量参差不齐。
2、为解决上述技术问题,相关技术中提出了根据需求自动生成测试案例的方法,但是在具体实现过程中,要么需要对需求文档进行预处理,要么需要预先构建测试案例库,不仅增加了测试案例生成过程中的工作量,还影响了测试案例的生成效率。
技术实现思路
1、本公开的目的是提供一种测试案例生成方法、装置、存储介质及电子设备,以解决测试案例生成过程中工作量大以及效率低下的技术问题。
2、为了实现上述目的,本公开第一方面提供了一种测试案例生成方法,所述方法包括:
3、获取测试需求文档;
4、将所述测试需求文档输入测试案例生成模型中,得到所述测试需求文档对应的测试案例,其中所述测试案例生成模型用于通过如下操作得到所述测试需求文档对应的测试案例:
5、识别所述测试需求文档中的文字部分,并根据所述文字部分的文字特征对所述测试需求文档进行拆分,得到所述测试需求文档对应的需求条目;
6、对所述需求条目进行语义分析,得到所述需求条目中的测试点;
7、根据所述测试点进行文字续写,得到所述测试需求文档对应的测试案例。
8、可选地,所述根据所述测试点进行文字续写,得到所述测试需求文档对应的测试案例,包括:
9、对所述测试点进行分类,确定所述测试点对应的测试案例类型;
10、将所述测试点作为关键词,根据所述测试点对应的测试案例类型进行文字续写,得到所述测试需求文档在所述测试案例类型下的测试案例。
11、可选地,所述将所述测试点作为关键词,根据所述测试点对应的测试案例类型进行文字续写,得到所述测试需求文档在所述测试案例类型下的测试案例,包括:
12、当所述测试点对应的测试案例类型为等价类划分类型时,根据所述测试点进行文字续写,生成有效等价类测试案例和/或无效等价类测试案例;
13、当所述测试点对应的测试案例类型为边界值类型时,根据所述测试点进行文字续写,生成边界值上点测试案例、边界值离点测试案例和边界值内点测试案例中的至少一种测试案例;
14、当所述测试点对应的测试案例类型包括等价类划分类型和边界值类型时,根据所述测试点进行文字续写,生成有效等价类边界值上点测试案例、有效等价类边界值离点测试案例、有效等价类边界值内点测试案例和无效等价类测试案例中的至少一种测试案例;
15、当所述测试点对应的测试案例类型为场景法类型时,根据所述测试点进行文字续写,生成场景测试案例。
16、可选地,所述测试案例生成模型包括文档拆分子模型、语义分析子模型和案例生成子模型,所述测试案例生成模型用于通过如下操作得到所述测试需求文档对应的测试案例:
17、通过所述文档拆分子模型识别所述测试需求文档中的文字部分,并根据所述文字部分中的文字特征对所述测试需求文档进行拆分,得到所述测试需求文档对应的需求条目,并将所述需求条目输入所述语义分析子模型;
18、通过所述语义分析子模型对所述需求条目进行语义分析,得到所述需求条目中的测试点,并将所述测试点输入所述案例生成子模型;
19、通过所述案例生成子模型根据所述测试点进行文字续写,得到所述测试需求文档对应的测试案例。
20、可选地,所述测试案例生成模型还包括案例分类子模型,所述测试案例生成模型还用于执行如下操作:
21、将所述测试点输入所述案例分类子模型,并通过所述案例分类子模型确定所述测试点对应的测试案例类型,将所述测试案例类型输入所述案例生成子模型;
22、所述通过所述案例生成子模型根据所述测试点进行文字续写,得到所述测试需求文档对应的测试案例,包括:
23、通过所述案例生成子模型将所述测试点作为关键词,根据所述测试点对应的测试案例类型进行文字续写,得到所述测试需求文档在所述测试案例类型下的测试案例。
24、可选地,所述文档拆分子模型的训练过程包括:
25、获取标注有第一标签的多个样本测试需求文档,所述第一标签用于指示将对应的所述样本测试需求文档拆分而成的标准需求条目;
26、将所述样本测试需求文档输入所述文档拆分子模型,得到所述样本测试需求文档对应的预测需求条目,并根据所述预测需求条目和所述第一标签指示的所述标准需求条目,确定第一损失函数值;
27、根据所述第一损失函数值更新所述文档拆分子模型的参数。
28、可选地,所述语义分析子模型的训练过程包括:
29、获取标注有第二标签的多个样本需求条目,所述第二标签用于指示将对应的所述需求条目拆分而成的标准测试点;
30、将所述样本需求条目输入所述语义分析子模型,得到所述样本需求条目对应的预测测试点,并根据所述预测测试点和所述第二标签指示的所述标准测试点,确定第二损失函数值;
31、根据所述第二损失函数值更新所述语义分析子模型的参数。
32、可选地,所述案例分类子模型的训练过程包括:
33、获取标注有第三标签的多个样本测试点,所述第三标签用于指示对应的所述测试点的标准测试案例类型;
34、将所述样本测试点输入所述案例分类子模型,得到所述样本测试点对应的预测测试案例类型,并根据所述预测测试案例类型和所述第三标签指示的所述标准测试案例类型,确定第三损失函数值;
35、根据所述第三损失函数值更新所述案例分类子模型的参数。
36、可选地,所述案例生成子模型的训练过程包括:
37、获取标注有第四标签的多个样本测试点及其对应的样本测试案例类型,所述第四标签用于指示所述测试点根据对应的所述测试案例类型生成的标准测试案例;
38、将所述样本测试点及其对应的所述样本测试案例类型输入所述案例生成子模型,得到所述样本测试点对应的预测测试案例,并根据所述预测测试案例和所述第四标签指示的所述标准测试案例,确定第四损失函数值;
39、根据所述第四损失函数值更新所述案例生成子模型。
40、本公开第二方面提供了一种测试案例生成装置,包括:
41、获取模块,用于获取测试需求文档;
42、处理模块,用于将所述测试需求文档输入测试案例生成模型中,得到所述测试需求文档对应的测试案例,其中,所述测试案例生成模型用于通过如下单元得到所述测试需求文档对应的测试案例:
43、需求条目获取单元,用于识别所述测试需求文档中的文字部分,并根据所述文字部分的文字特征对所述测试需求文档进行拆分,得到所述测试需求文档对应的需求条目;
44、测试点获取单元,用于对所述需求条目进行语义分析,得到所述需求条目中的测试点;
45、测试案例输出单元,用于根据所述测试点进行文字续写,得到所述测试需求文档对应的测试案例。
46、本公开第三方面提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一所述方法的步骤。
47、本公开第四方面提供了一种电子设备,包括:
48、存储器,其上存储有计算机程序;
49、处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面任一所述方法的步骤。
50、通过上述技术方案,直接从测试需求文档中识别出测试点,并根据测试点生成相应的测试案例。此过程既不需要额外对测试需求文档进行预处理,也不需要预先配置测试案例库,便可直接根据测试需求文档生成测试案例,不仅简化了测试案例的生成流程,同时还提高了测试案例的生成效率。除此之外,由于本公开是基于自然语言处理技术来实现的(即:根据文字特征对需求测试需求文档进行智能化拆分得到需求条目、根据对需求条目进行语义分析得到测试点以及根据测试点进行文字续写得到测试案例),因此,在根据测试需求文档生成测试案例的过程中,简化了对测试需求文档的处理过程,同时由于自然语言处理技术对需求的语义的识别和理解效果更好,使得输出的测试案例可读性和准确性更高。
51、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。