1.一种软件测试需求挖掘方法,其特征在于,包括以下步骤:
获取不同类型软件的故障描述信息,基于所述故障描述信息采用基于均值漂移聚类的故障树分析法建立软件故障模式知识库,所述软件故障模式知识库包括软件类型、软件功能、故障模式和测试点;
根据待测软件的软件类型和软件功能,在软件故障模式知识库中查找与待测软件功能对应的故障模式和测试点,对于每个与待测软件功能对应的测试点,采用相似度匹配算法判断所述测试点是否存在于待测软件功能的测试需求文本中,若不存在,则将该测试点及对应的故障模式推送给测试人员;
对于每个与待测软件功能对应的测试点,采用相似度匹配算法判断所述测试点是否存在于待测软件功能的测试需求文本中,包括:
对待测软件功能的测试需求文本进行分词,计算每个分词对所述测试需求文本的TF‑IDF值;
对待测软件功能对应的所有测试点进行分词,计算每个分词对测试点的TF‑IDF值;
对待测软件功能对应的每个测试点,基于所述TF‑IDF值计算该测试点与所述测试需求文本中每条测试项的语义结构相似度和空间结构相似度;
基于所述语义结构相似度和空间结构相似度,计算综合文本相似度;若在所述测试需求文本中存在与所述测试点的综合文本相似度大于等于第一阈值的测试项,则判断所述测试点存在于所述待测软件功能的测试需求文本中,否则判断所述测试点不存在于所述待测软件功能的测试需求文本中;
对待测软件功能对应的每个测试点,基于所述TF‑IDF值计算该测试点与所述测试需求文本中每条测试项的语义结构相似度和空间结构相似度,包括:
根据公式 计算语义结构相似度,其中, 表示测试点与测试项的共
有分词的 对测试点的TF‑IDF值; 表示共有分词的 对测试需求文档的TF‑IDF值;m表示测试点与测试项的共有分词的数量;
根据测试项中每个分词对所述测试需求文本的TF‑IDF值构建所述测试项的向量表示 ;
根据测试点中每个分词对所述测试点的TF‑IDF值构建所述测试点的向量表示 ;
根据公式 计算空间结构相似度。
2.根据权利要求1所述的软件测试需求挖掘方法,其特征在于,基于所述故障描述信息采用基于均值漂移聚类的故障树分析法建立软件故障模式知识库,包括:
对每类软件的每个软件功能,将其对应的所有软件故障描述信息转换为向量表示;
采用均值漂移聚类算法对向量表示的故障描述信息进行聚类,得到软件故障类簇;
对所述软件故障类簇进行故障树分析,形成软件故障模式;根据所述软件故障模式对应的类簇,建立故障模式对应的测试点;
基于所述每类软件的每个软件功能对应的故障模式和测试点构建软件故障模式知识库。
3.根据权利要求2所述的软件测试需求挖掘方法,其特征在于,采用均值漂移聚类算法对向量表示的故障描述信息进行聚类,得到软件故障类簇,包括:
S121、在故障描述信息的向量空间中选取任一数据点为中心点;
S122、计算以所述中心点为球心、h为半径的高维球内的所有数据点的质心;
S123、若所述质心与所述中心点的距离小于第二阈值或达到最大迭代次数,则本次迭代结束,当前高维球范围内的所有数据点为一类簇,进入步骤S124;否则,将质心作为中心点,返回步骤S122;
S124、若所有数据点均已归类,则聚类结束;否则,随机选取未归类的任一数据点作为中心点,返回步骤S122。
4.根据权利要求1所述的软件测试需求挖掘方法,其特征在于,基于所述语义相似度和向量空间相似度,计算综合文本相似度,包括:
根据公式 计算综合文本相似度,其中 表示语义结构相
似度的权重,表示空间结构相似度的权重。
5.根据权利要求1所述的软件测试需求挖掘方法,其特征在于,所述第一阈值通过以下方式获得:
分别获取正样本和负样本,所述正样本为相似的两段文本,所述负样本为不相似的两段文本;
对所述正样本和负样本分别进行分词,计算每个分词的TF‑IDF值;
基于所述TF‑IDF值分别计算正样本和负样本的综合文本相似度;
根据正样本的综合文本相似度、负样本的综合文本相似度确定所述第一阈值。
6.根据权利要求1所述的软件测试需求挖掘方法,其特征在于,对于每个测试点,采用相似度匹配算法判断所述测试点是否存在于待测软件功能的测试需求文本中,包括:
采用词向量训练模型分别得到测试点和测试需求文本中每个分词的词向量;
基于所述词向量分别构建测试点和测试需求文本中每条测试项的矩阵;
将测试点和每条测试项输入预先训练好的神经网络模型中判断测试点和所述测试项是否相似;
若测试点与测试需求文本中的每条测试项均不相似,则判断所述测试点不存在于所述待测软件功能的测试需求文本中,否则判断所述测试点存在于所述待测软件功能的测试需求文本中。
7.根据权利要求6所述的软件测试需求挖掘方法,其特征在于,
所述预先训练好的神经网络模型为卷积神经网络模型;所述卷积神经网络模型包括:
输入层,用于输入测试点和测试项的矩阵;
卷积层,用于进行特征提取,包含1个大小为 的卷积核;
池化层,用于对卷积层提取的特征进行降维;
输出层,用于根据降维后的特征进行相似度判断。
8.一种软件测试需求挖掘系统,其特征在于,包括以下模块:
故障模式知识库构建模块,用于获取不同类型软件的故障描述信息,基于所述故障描述信息采用基于均值漂移聚类的故障树分析法建立软件故障模式知识库,所述软件故障模式知识库包括软件类型、软件功能、故障模式和测试点;
测试需求挖掘模块,用于根据待测软件的软件类型和软件功能,在软件故障模式知识库中查找与待测软件功能对应的故障模式和测试点,对于每个与待测软件功能对应的测试点,采用相似度匹配算法判断所述测试点是否存在于待测软件功能的测试需求文本中,若不存在,则将该测试点及对应的故障模式推送给测试人员;
对于每个与待测软件功能对应的测试点,采用相似度匹配算法判断所述测试点是否存在于待测软件功能的测试需求文本中,包括:
对待测软件功能的测试需求文本进行分词,计算每个分词对所述测试需求文本的TF‑IDF值;
对待测软件功能对应的所有测试点进行分词,计算每个分词对测试点的TF‑IDF值;
对待测软件功能对应的每个测试点,基于所述TF‑IDF值计算该测试点与所述测试需求文本中每条测试项的语义结构相似度和空间结构相似度;
基于所述语义结构相似度和空间结构相似度,计算综合文本相似度;若在所述测试需求文本中存在与所述测试点的综合文本相似度大于等于第一阈值的测试项,则判断所述测试点存在于所述待测软件功能的测试需求文本中,否则判断所述测试点不存在于所述待测软件功能的测试需求文本中;
对待测软件功能对应的每个测试点,基于所述TF‑IDF值计算该测试点与所述测试需求文本中每条测试项的语义结构相似度和空间结构相似度,包括:
根据公式 计算语义结构相似度,其中, 表示测试点与测试项的
共有分词的 对测试点的TF‑IDF值; 表示共有分词的 对测试需求文档的TF‑IDF值;m表示测试点与测试项的共有分词的数量;
根据测试项中每个分词对所述测试需求文本的TF‑IDF值构建所述测试项的向量表示 ;
根据测试点中每个分词对所述测试点的TF‑IDF值构建所述测试点的向量表示 ;
根据公式 计算空间结构相似度。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |