应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

基于分词搜索的测试用例复用研究论文

  摘要随着软件行业快速发展,软件功能的复杂程度随之提高,软件质量逐渐受到重视。在软件的整个生命周期中,软件测试是一个非常重要的环节。软件质量在很大程度上由软件测试的完整程度所决定。然而,随着软件复杂度的提高,软件测试的工作成本在不断增加。为了减少测试中的冗余现象,提高软件测试的效率,测试用例复用技术被应用于各个软件测试环节。本文建立了一套测试用例管理系统,通过统一存储并管理测试用例,提出将分词技术应用于测试用例复用查询,提高测试用例查询结果的有效性和可复用性。
  关键词软件测试,测试用例,复用,分词
  0引言
  软件测试是在规定的条件下对程序进行操作,以发现程序错误,由此来衡量软件质量,并对其是否能满足设计要求进行评估的过程。作为软件生命周期中的重要环节,其成败直接决定着软件的最终质量。软件测试工作不仅保证了软件质量,而且降低了日后维护成本。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也逐渐受到软件企业的关注,正逐步成为一个新兴的产业。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于测试某个程序路径或核实是否满足某个特定需求。
  随着软件规模越来越庞大,软件测试的工作量也与日俱增。软件测试过程中,测试用例的设计是软件测试过程的核心,直接影响了软件测试的效率。测试设计的好快直接决定着测试结果及其成效,测试用例是最有可能发现软件错误的测试数据和流程的集合。测试用例复用是将已执行过的测试用例重复使用或改进使用于不同的软件或软件测试阶段中,以此来降低测试用例设计环节的工作成本。为了提高软件测试的效率,测试用例复用技术被广泛地应用于各类软件测试的设计和回归测试阶段,用于减少测试设计阶段的成本,以缩短测试周期,提高测试效率。本文通过对可复用测试用例的收集以及分析,提出了一种以行业领域和基于分词搜索策略的测试用例复用思路,以提高测试用例的复用率。但是当测试用例管理系统中的测试用例数量过于庞大时,则不利于测试用例的筛选,因此有必要设计了推荐算法来按照一定规则对可能被复用的测试用例进行排序推荐。
  1测试用例复用研究
  1。1测试用例复用的概念
  测试用例复用是指测试工程师在执行一项新的测试工作时,通过直接调用或修改现有的、合适的测试用例,并将其应用在测试执行中的过程。如果搜索后得到的测试用例与需求完全一致,则直接复用现有测试用例,但是一般情况下,直接复用测试用例的情况很少;如果搜索到的测试用例与需求近似,则对其进行修改,得到新的测试用例之后再复用。在一定程度上,测试用例复用可以节省重新设计测试用例的时间,减少测试工程师的工作量,提高软件测试的效率。
  然而,并非所有的测试用例都适合复用,有些测试用例定制化程度较高,只适合某些特定的测试场景,这样的测试用例可复用程度不高。由此可知,测试用例要能进行复用,须具备一定的可复用特性。
  1。2可复用测试用例特性
  经过对大量可复用测试用例的收集以及分析,本文认为可复用测试用例需满足以下5个特性:标准化、通用性、有效性、独立性、小粒度1〕。
  1)标准化。测试用例通常用自然语言进行描述,但由于自然语言的非结构化特性,无统一结构的测试用例不利于测试用例复用。因此,测试用例的设计必须使用统一的格式或结构,以消除由于自然语言的表述的差异带来的问题。标准化不仅强调测试用例的可复用能力,更偏向于测试用例管理。采用明确无歧义的语言描述测试用例并用统一结构进行存储,如表1测试用例描述案例所示2〕。其中,加粗字体表示测试用例的字段,中括号〕里的内容表示测试用例的具体内容或相关属性。
  2)有效性:测试用例的目标是发现软件中的问题或者验证功能是否正确,因此测试用例必须是针对它的测试目的而设计,并且经审核后必须是正确、完整、适用于被测对象并且是可执行的。
  3)通用性:测试用例不局限于具体的应用,不过分依赖于被测软件的需求、设计、环境、其他功能以及其他业务流程,可复用测试用例可多次适用于不同版本的软件测试或广泛应用于某同类软件或类似功能模块的测试。
  4)独立性:测试用例不过分受制于测试环境、相关业务流程以及前置测试用例。理论上,测试用例与其他因素的耦合度越小,则独立性也就越高,其测试用例的可复用程度相对较高。
  5)小粒度:通常指一个被测模块的末梢功能,测试用例的粒度设计追求功能的不可分割性。粒度越小并且相对独立的功能,针对其功能设计的用例,可复用性也就越高。
  以登录功能举例,该功能相对于整个应用系统来说粒度最小,并且与其他功能相对独立,同时,针对登录功能设计的测试用例具有较强的通用性,所以通常情况下,登录功能的测试用例具有较高的可复用性。
  1。3测试用例复用场景
  然而,并非所有的软件测试过程都适合进行测试用例复用。测试用例复用是为了避免测试用例的重复设计,提供现有的测试用例给测试工程师直接使用。因此,只有在需要重复执行的测试用例时,测试用例的复用才能真正发挥作用。通常情况下,测试用例复用主要由三类测试场景3〕:
  1)软件升级:包括版本升级、缺陷修复等升级行为。例如:一家公司的业务管理系统的升级,或某个功能的改进。通常不会引起非常大的业务流程变动或界面改动,因此前一个版本的测试用例可被大量复用。
  2)产品测试:此类场景多存在于软件研发公司,多从事于某个领域的软件研发工作,通常此类公司有着自己的测试用例库。比如:从事ERP(企业资源计划)软件开发的公司。虽然不同行业的业务流程都不完全一致,但也有存类似的可复用业务流程,例如员工管理模块等。
  3)第三方测评4〕:第三方测评机构适用于此类测试用例复用场景。由于第三方测试机构会对大量的软件进行测评,其中不乏相同领域的软件产品。如果对每个测试软件重新设计测试用例,必然增加工作成本。因此,对于第三方测评机构测试用例复用是十分有必要的。测试用例复用在不同领域和场景中有着广泛应用,对于大量测试用例的复用需要建立在大量测试用例基础上,需要将以往设计的测试用例加以存储和管理,因此设计一套测试用例管理系统是测试用例复用成为可能的先决必要条件。
  2测试用例复用库模型设计与实现
  测试用例复用就是对已经执行的测试用例进行重复使用或修改使用。要实现测试用例复用,则需要对以往设计的测试用例进行有效的存储以及分类管理以供后续使用。对测试用例的管理就需要创建一个测试用例复用库来存储测试用例,在测试用例复用库中使用统一的规范数据格式对测试用例进行管理。当测试工程师要设计测试用例时,可先在测试用例库中进行搜索,查找合适的测试用例进行复用。但是,随着时间的增长以及测试项目的增加,测试用例库也随之扩充,测试用例数目与日俱增,这就增加了搜索的工作量。为了提高搜索的效率,根据测试用例适用的行业领域,对测试用例进行划分存储,并打上行业领域的标记。其原因在于,相同行业领域的软件其测试用例的通用性更高,可复用性也更高。
  为了提高在测试用例库中的搜索效率和准确度,将分词技术应用于测试用例搜索功能中,对用户的搜索输入进行分词、筛选,得出有效的搜索关键字,根据关键字在测试用例复用库中进行搜索,减少了非关键字的干扰,提高了查询速度,并且搜索结果更准确。
  通常情况下,测试用例复用分为直接使用以及修改使用,但无论何种情况,都需要对新测试用例进行审核,确定其有效性和唯一性方能进入测试用例复用库,测试用例复用模型如图1所示。
  3测试用例复用搜索设计与实现
  3。1分词词库
  测试工程师进行测试用例复用时,需要对查询输入进行处理,常用方法是使用分词技术提取其中的关键字进行查询。分词技术中,英文单词之间以空格作为自然分界符,而中文是以字为基本的书写单位,词与词之间没有明显的区分标记,因此,对中文信息处理相对比较复杂。语义分析是中文信息处理的基础与关键,常见的分词算法有两种:
  算法1:建立词库,对待分析字符串逐词匹配,分离关键字;
  算法2:建立词库,对目标串构造全文索引,然后将结果集与词库进行笛卡尔积匹配,获取匹配结果。
  以上算法如果用于较大规模词库时,存在如下效率问题:
  1)当词库较大时,逐词匹配耗时较长;
  2)采用全文索引方式消耗多余内容,同时不适用于测试用例复用查询功能,因为用户输入的查询信息较短,而全文索引多适用于长文本字符串搜索功能。
  在测试用例复用查询功能中,用户查询输入相对简单,但需要进行精确分词,因此针对此类特点,本文对文献5〕中提出的索引方法加以改进,采用二级索引对中文词条进行分词(这里只讨论中文分词,英文分词可使用Lucene工具进行分词),以确保能快速并精确地进行分词。由于长度为2的中文词条占整个汉字词条约705〕以上,同时假设汉字词长度2、3、4的词条个数比例为7:2:1,因此,大约90的情况下,执行两次检索便能定位一个汉字词条,以保证较高的分词效率。同时为减少磁盘IO,在系统启动时,将词库载入至内存,使所有计算可在内存中进行,进一步提高分词效率。根据《中国大百科全书》目前收录约6000万个词条为例,整个中文词库大约适用300MB400MB内存,因此,常见的主机可满足其硬件需求。
  3。2搜索算法
  随着软件测试项目的日益增加,测试用例复用库不断扩充,这势必会影响到搜索的效率。本文中,当接收到用户的查询输入,程序首先将其与分词词库进行匹配,对查询输入进行分词,然后根据被测软件的行业领域,查询对应领域的测试用例数据,并且根据排序算法对查询结果进行排序。由于该分词算法仅用于测试用例查询,因此对于中文分词算法中歧义词的处理可以忽略不计,其伪代码如下所示:
  由于词库在初建之时,未必能覆盖所有中文词条,并且随着各个行业的高速发展,每天都可能会有新词条出现,因此必然存在无法匹配的词条。当出现新词时,分词算法将自动定位到下一个可匹配词条,然后继续进行拆分,而新词则被单独作为一个分词加载至分词结果中。同时存储该用户输入,待管理员进行审核,人工加入到词库中。采用人工添加新词而非程序自动添加新词的原因在于,程序还不够智能,也无意义做到足够智能,同时对于新词的理解或判断的正确率远低于人判断的正确率。
  3。3结果排序
  针对测试工程师进行测试用例的复用查询,其查询结果可能是几条,也可能是几十条,甚至是几万条数据,然而并非所有查询到的测试用例都是查询者所需要的,当查询结果数量庞大时,逐条查看筛选所消耗的时间可能早已超过了重新设计一个测试用例所需的时间,必然导致时间成本上的浪费,这与测试用例复用的初衷相违背。由此可见,根据查询到的测试用例与用户所需测试用例的相关性,为用户推荐一个好的测试用例是十分必要的。
  可复用测试用例的查询结果的排序可以为用户提供选择测试用例的依据,针对查询主要针对教育期刊网
  关键词的搜索,因此对查询结果中的测试用例按照一个三元组方式排序,其中K表示搜索的教育期刊网
  关键词集合,ki是该教育期刊网
  关键词集合中的某个教育期刊网
  关键词,则排序三元组表示如下:
  C(ki)表示当前查询结果中是否有与ki匹配的教育期刊网
  关键词,如有,则C(ki)记为1,如没有,则C(ki)记为0。
  C(ki)是K中每个教育期刊网
  关键词在本次查询中是否匹配的计数之和,始终大于0,因为查询结果中显示的是至少有一个查询关键字匹配的搜索结果。S(ki)表示当前查询结果中教育期刊网
  关键词ki出现的频次。S(ki)是K中每个教育期刊网
  关键词在本次查询中出现频次之和。Creuse则表示查询结果中该条测试用例被复用的次数。
  通过上述三元组对测试用例的查询结果进行排序。首先按照C(ki)列进行降序排序,若该列数值相同,则按S(ki)列进行降序排序,若此列数值相同,则按Creuse列进行降序排列。由此可以发现,查询关键字匹配越完全,其满足查询需求的程度就越高,同时,复用次数越多的测试用例,越具有通用性。
  4总结
  测试用例复用的核心思想是将以往的测试用例加以收集积累,通过建立测试用例管理系统来统一管理测试用例库。本文提出了将分词技术和软件行业领域应用于测试用例复用来提高测试用例复用程度。按领域划分测试用例可使得查询结果更具有可复用性,同时设计了一套采用二级索引结构的中文分词词库使分词效率更高效。因此,系统为测试用例设计人员推荐更好的可复用测试用例,对查询结果顺序稍加改进便于筛选,便能极大的减少测试用例设计阶段的工作量。

技师论文格式要求毕业季就要到来了,大学毕业可不轻松,毕业论文可是一大难题啊,从初稿到定稿,有时候还要重复修改。以下是技师论文格式要求,欢迎阅读。一、论文撰写(一)论文选题论文……科普下古典概型和几何概型的特点与区别是什么关于到现在古典概型和几何概型的特点与区别是什么这个话题相信很多小伙伴都是非常有兴趣了解的吧因为这个话题也是近期非常火热的那么既然现在大家都想要知道古典概型和几何概型的特点与区别……科普下科举制选官标准是什么关于到现在科举制选官标准是什么这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科举制选官标准是什么,小编也是到网上收集……科普下魏晋南北朝时期的政治制度关于到现在魏晋南北朝时期的政治制度这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道魏晋南北朝时期的政治制度,小编也是到……科普下科举制度正式确立的标志是什么及科举制度的影响有哪些关于到现在科举制度正式确立的标志是什么及科举制度的影响有哪些这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科举制度正……楼宇智能化工程技术专业发展现状分析的论文摘要:采用的楼宇智能化高新技术蓬勃发展的建筑行业及相关企业,迫切需要掌握专业技术、综合素质高的楼宇智能化专业技术人才,这些人才只有通过高职院校来培养,而2004年教育部批准的楼……科普下元朝行省制度确立的历史背景行省制度的影响关于到现在元朝行省制度确立的历史背景行省制度的影响这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道元朝行省制度确立的历……科普下我国的根本政治制度关于到现在我国的根本政治制度这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道我国的根本政治制度,小编也是到网上收集了一……科普下我国的根本政治制度关于到现在我国的根本政治制度这个话题相信很多小伙伴都是非常有兴趣了解的吧因为这个话题也是近期非常火热的那么既然现在大家都想要知道我国的根本政治制度小编也是到网上收集了一些与我国……优秀博士毕业论文的致谢词光阴似箭、时光流逝,转眼之间三年博士研究生生活即将结束。回首过去,思绪万千。二十年的寒窗苦读,有过成功的喜悦,亦有过失败的沮丧,有太多的人和事值得记忆。首先,衷心感谢我的恩师许……芈月是谁(芈月是怎样的一个人)芈月是谁(芈月是怎样的一个人)大秦宣太后,芈姓,出生于楚国丹阳(今湖北省境内),又称芈八子、秦宣太后。她是战国时期秦国王太后,秦惠文王之妾,秦昭襄王之母。秦昭襄王即位之初……企业中的人本管理问题浅析及对策建议论文《工业文明的人类问题》是喬治梅奥在1933年出版的一本巨著,乔治梅奥是人际关系学说的创始人,在1927年至1936年间断断续续地进行了时长达9年的实验研究,也就是我们所熟知的霍……
科普下细胞识别与糖链有关吗及细胞识别的意义是什么关于到现在细胞识别与糖链有关吗及细胞识别的意义是什么这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道细胞识别与糖链有关……会展项目管理课程设计探讨论文摘要:《会展项目管理》是一门比较抽象但又重要的课程,我院会展专业采用学做一体的模式对本课程进行了设计。关键词:会展项目管理;课程设计;学做一体1《会展项目管理》课程……大学生健康意识培养中体育课的重要性论文摘要:高校体育课程是大学生素质教育的重要构成内容,也是学校教育中体育教育的结束阶段,切实提高大学生体质健康,培养高校大学生体育健康意识,有效促进大学生全面发展的关键途径和方法。……科普下分化后的细胞还能分化吗及细胞分化的特点关于到现在分化后的细胞还能分化吗及细胞分化的特点这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道分化后的细胞还能分化吗……科普下植物细胞都有细胞壁吗关于到现在植物细胞都有细胞壁吗这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道植物细胞都有细胞壁吗,小编也是到网上收集……科普下细胞分化的意义细胞的分化特点关于到现在细胞分化的意义细胞的分化特点这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道细胞分化的意义细胞的分化特点,小……科普下细胞分化的意义细胞的分化特点关于到现在细胞分化的意义细胞的分化特点这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道细胞分化的意义细胞的分化特点,小……科普下物理学家伽利略的九大科学名言关于到现在科普下物理学家伽利略的九大科学名言这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下物理学家伽利略的九大……高中英语语法教学策略论文【内容摘要】认知教学理念强调人类先天就具备学习与认识语言的能力,它推崇更有意义的语言学习方式,而不是简单的、机械的让学生在学习语言时一味的死记硬背。认知教育理念指引下的语言教学……科普下数学王子高斯小时候做算术题的故事关于到现在科普下ldquo;数学王子rdquo;高斯小时候做算术题的故事这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知……异形落料凹模加工工艺的研究论文引言落料凹模是落料模的主要工作零件之一,落料件的尺寸是由落料凹模型孔尺寸决定,根据型孔形状特点可分为圆形型孔凹模和异形型孔凹模两类,加工异形型孔比加工圆形型孔在制造技术上……科普下科学家克里克的简介和生平关于到现在科普下科学家克里克的简介和生平这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下科学家克里克的简介和生平……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网