温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
结合
文本
相似
缺陷
报告
评分
机制
朱敏
第 39 卷 第 2 期 福 建 电 脑 Vol.39 No.2 2023 年 2 月 Journal of Fujian Computer Feb.2023 本文得到2021年南通职业大学自然科学研究项目(No.21ZK08)、2021年南通职业大学中国特色职业教育的思想体系、话语体系、政策体系和实践体系研究课题(一般)“高职工科专业大学生工匠精神的培养模式创新及实证研究”(No.GJS2021006)资助。朱敏(通信作者),男,1993年生,主要研究领域为自然语言处理、大数据技术与应用。E-mail:。侯文静,女,2002年生,主要研究领域为大数据技术与应用。E-mail:。顾理琴,女,1981年生,主要研究领域为计算机应用。E-mail:。结合文本相似度的缺陷报告评分机制 朱敏 侯文静 顾理琴(南通职业大学 江苏 南通 226000)摘 要 随着近年来软件行业的快速发展,社会对软件测试人才的需求也越来越大。因此,越来越多的高校在相关专业开设了“软件测试技术”课程。发现缺陷是软件测试技术培训的一项基本技能。有些缺陷很难发现,有些缺陷很容易发现。如何根据学生提交的缺陷报告中缺陷的难易程度和数量给予合理的评价,往往需要教师花费大量的时间和精力。本文提出了一种结合 TF-IDF 和余弦相似度的缺陷重复检测方法,并提出了一种基于学生发现缺陷的难度和数量的缺陷报告评分机制。与教师手工对缺陷报告打分相比,该打分机制合理有效,大大提高了教师的工作效率。关键词 软件测试;软件缺陷;余弦相似度;评分机制 中图法分类号 TP391.7 DOI:10.16707/ki.fjpc.2023.02.008 Scoring Mechanism of Defect Report Based on Text Similarity ZHU Min,HOU Wenjing,GU Liqin (Nantong Vocational University Jiangsu,Nantong,China,226000)Abstract With the rapid development of the software industry in recent years,the demand for software testing talents in the society is also growing.Therefore,more and more colleges and universities set up software testing technology courses in related majors.Finding defects is a basic skill of software testing technology training.Some defects are difficult to find and some defects are easy to find.How to give reasonable evaluation according to the difficulty and quantity of defects in the defect report submitted by students often requires much of teachers time and effort.This paper proposes a defect repetitive detection method based on the combination of TF-IDF and cosine similarity and proposes a defect report scoring mechanism based on the difficulty level and number of defects found by students.Comparing the manually scores of the defect reports by the teachers,the scoring mechanism is reasonable and effective,and greatly improves the work efficiency of the teachers.Keywords Software Testing;Software Defect;Cosine Similarity;Scoring Mechanism 1 引言 由于信息技术的快速发展,为了提高课堂效率,出现了一系列的网上作业提交系统。这些系统具有职位发布、在线纠错、成绩统计等功能,给教师的教学工作提供了很大的帮助。对于软件测试技术课程,学生通常需要测试软件并提交一份软件缺陷报告。如何科学地评价学生提交的缺陷报告,给出合理的分数,是一项比较复杂的工作。学生们测试同样的软件,发现缺陷的数量和缺陷的难度是不同的。有些缺陷比较容易发现,所以分数应该比较低;一些难以发现的缺陷通常是软件的致命缺陷,发现分数应该较高。因此,教师在批改作业时通常会承受很大的压力。如何使系统自动、合理、科学地进行评分是一项具有挑战性的工作。因此,本文提出了一种基于重复检测的软件缺陷报告评分机制。该机制利用文本挖掘算法36 朱敏等:结合文本相似度的缺陷报告评分机制 第 2 期 对学生提交的缺陷报告进行重复检测。根据缺陷报告的重复程度,可以判断缺陷是容易发现还是不易发现。被许多人发现的缺陷被认为是相对容易发现的,反之亦然。2 相关工作介绍 2.1 文本处理的研究现状 自然语言处理对象,即文本的表示,目前普遍用于 Salton 提出的向量空间模型中1。在该模型中,不需要考虑文本中语义单元的顺序,而是将文本简化为一个词袋(bag-of-word,BoW),并将其表示为特征权重向量。向量空间模型(Vector Space Model,VSM)主要以单词为特征,根据词频矩阵计算权重。通常,特征提取方法包括文档频率、信息增益、交互信息、卡方检验、期望交叉熵和 Term Frequency-Inverse Document Frequency(TF-IDF)。在向量空间模型中,实现词权值计算最有效的方法是 TF-IDF2。TF-IDF 方法是由 Salton 在 1988年提出的,被广泛用于判断两份文件的相似性。例如,在论坛帖子进行相似度检测,通过 TF-IDF 算法计算文本词汇的词频3-4,并根据词频排序选择特征项,然后使用余弦相似度计算文本之间的相似度。实验结果表明,将 TF-IDF 与余弦相似度相结合进行论坛帖子相似度检测效果更好。同时,也有研究者使用 TF-IDF 提取病理报告特征,通过从报告中提取 TF-IDF 特征5,并使用机器学习技术对病理报告进行分类。2.2 基础理论导论 2.2.1 缺陷报告 图 1 中文缺陷报告样本 缺陷报告是一个格式化的文本,测试人员测试软件来记录并以固定的格式提交缺陷。在缺陷报告中,特定软件术语在特定缺陷中出现的频率通常很高。例如,经常出现在登录界面上的术语有注册、登录、输入等,但不一定出现在整个缺陷报告库中。TF-IDF 的特点是能够将整个报告库中词频较高、分数较低的词作为特征词保留下来。因此,TF-IDF可以用于在缺陷报告中提取特征。单词被用作特征向量。缺陷报告通常由以下部分组成:缺陷编号、模块名称、版本号、测试人员、缺陷类型、严重级别、缺陷状态、测试平台、浏览器、简要描述、操作步骤、实际结果、预期结果等等。图 1 显示了一个中文缺陷报告样本。2.2.2 TF-IDF TF-IDF 是信息检索和数据挖掘中常用的加权技术。其中,TF(词频)是给定单词在文件中出现的次数,由式(1)计算。其中,f(w)是一个文档中 w 的次数,d 是文档中所有单词的次数。dwfTFW)(=(1)IDF 的主要思想是,如果包含术语 w 的文档越少,IDF 越大,类识别能力越好。一个特定单词的IDF 可以通过文件总数除以包含该单词的文件数得到,然后获得商的对数。如公式(2)所示,T 是语料库中的文档的总数,N 是包含 w 的文档的数量。NTIDFlg=(2)某一特定文件的高词频和该词在整个文件集合中的低词频可以产生高权重的 TF-IDF。因此,可以过滤掉常用词,保留重要用词。计算方法如式(3)所示。IDFTFIDFTF=(3)2.2.3 余弦相似度 余弦相似度是通过向量空间中两个向量夹角的余弦值来评价。设 1 为相同,0 为完全不同,则相似度值在 0 到 1 之间。通过将文本 a 和文本 b 映射为向量来计算两个文档的相似度,再计算剩余的字符串相似度。余弦相似度计算如式(4)所示:|cosbaba=(4)3 缺陷报告评分机制 3.1 TF-IDF 结合余弦相似度 3.1.1 TF-IDF 获取文本特征向量 TF-IDF 用于评估一个词对一个文件的重要性。因此,算法应该首先分割缺陷报告的描述,使用Python 中的一个分词工具 jieba。jieba 支持三种分词模式:精确分词模式、全分词模式和搜索引擎分2023 年 福 建 电 脑 37 词模式。由于精确模式力求最准确地分离句子,可以解决歧义问题,适合于语篇分析。因此,该方法采用精确模式对文本进行分割,以便后续的工作分析处理。另外,停止词对分类的准确性也会有较大的影响。为了提高准确性,停词的步骤是必不可少的。分词结束后,使用 TF-IDF 算法计算分词包中所有单词的 TF-IDF 值作为文本特征向量。例如:缺陷 1=(真实姓名居然可以随意填)缺陷 2=(用户修改真实姓名,非法字符予以通过)分词:缺陷 1=(真实 实姓 姓名 居然 可以 随意 填)缺陷2=(用户 修改 真实 实姓 姓名 非法 字符 予以 通过)使用 TF-IDF 算法得到文本特征向量:TFIDF(缺陷 1)=(0.07121,0.06103,0.04069,0.03052,0.02034,0.05086,0.02713)TFIDF(缺陷 2)=(0.01277,0.02555,0.0712,0.06103,0.04069,0.03106,0.02103,0.03105,0.04306)3.1.2 缺陷重复性计算 采用余弦相似度法计算文本相似度。文档被分割后,通过 TF-IDF 算法对其进行加权,作为其文本映射的向量,然后根据余弦相似度算法计算两个文档的相似度。这里的阈值一般根据经验来设置,设置小,容错提高,造成误判,设置大,错过了判断。经过多次实验,这里的阈值被设置为 0.75。即当余弦相似度计算值大于 0.75 时,认为这两个缺陷是重复的。利用余弦相似度计算两个缺陷的相似度,计算结果为 sim(BUG1,BUG2)=0.85。3.2 缺陷重复性检测方法 由于可以发现的缺陷的数量和发现的缺陷的质量是一个开放的问题,通常没有为缺陷报告设置标准答案,因此教师需要花费大量的时间和精力来审查作业,并给出一个合理的分数。一般来说,学生的成绩与缺陷的难度和数量成正比,即发现缺陷的可能性越小,发现缺陷的学生就应该获得较高的分数。根据缺陷报告的重复程度描述了缺陷发现的难度,提出一种合理、科学的评分机制。3.2.1 缺陷的分类 在提交缺陷报告之后,首先收集以形成一个缺陷报告库,并使用缺陷报告可重复性测试方法将所有重复的报告放在一起,并将它们分类到一个类别中。如图 2 所示,缺陷的可重复性越高,缺陷的难度越低,缺陷的得分越低,反之亦然。图 2 缺陷报告的分类 3.2.2 缺陷分类方法 缺陷报告数据库中的所有缺陷被进行了反复测试和分类,分类过程如图 3 所示。首先,从缺陷报告库中获取一个报告,并重复测试当前队列的缺陷报告。如果决策重复,则将其放入当前队列,否则将其放入新队列。因此,所有的缺陷报告都被检测到,并且所有的缺陷都被划分为多个类别。图 3 缺陷分类流程图 3.2.3 重复性检测方法 将文本相似度计算方法与 TF-IDF 和余弦相似度