基于领域知识软件测试方法的与应用

时间:2024-03-13 点赞:44961 浏览:87920 作者原创标记本站原创

本文是一篇软件测试论文范文,软件测试相关自考毕业论文开题报告,关于基于领域知识软件测试方法的与应用相关毕业论文格式范文。适合软件测试及管理系统及测试方面的的大学硕士和本科毕业论文以及软件测试相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:采用本体理论来表示软件测试领域知识,完成对测试用例的快速分类与检索,设计出一个专门应用于软件测试领域的测试用例知识管理系统,并以某公司编码物料软件为测试对象,验证了基于领域知识的软件测试的可行性和适应性.该系统缩短了编写测试用例的时间,最大限度地提高了测试用例的复用率,研究课题的价值也在于此.

关 键 词:领域知识;知识管理;软件测试;测试用例;本体

中图分类号:TP311文献标识码A文章编号:1009-3044(2014)10-2457-04

Abstract:Thedomainknowledgeinsoftwaretestingisexpressedbyontologytheory,whichachieveastclassificationandretrievaloftestcasesandhasdesignedatestingknowledgemanagementsystemspecificallyforsoftwaretestingfield.Thenaparticularmaterialcodingsoftwarewastestedbyusingofthissystemanditverifiesthevalidityofsoftwaretestingbasedondomainknowledge.Thissystemshortensthewritingtimeoftestcasesandincreasesthereuserateoftestcases,andthisiswherethearticle’sresearchvaluesin.

Keywords:DK;KnowledgeManagement;softwaretesting;testcase;ontology

1概述

软件测试是软件项目中不可或缺的一个重要环节.在IT业界,对软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程.合理而行之有效的软件测试可以大幅度提高软件质量.软件测试【1】是一项知识密集型的工作,要胜任软件测试尤其是白盒测试工作,要求软件测试人员必须掌握相当广泛的IT知识与质量管理知识.此外,软件测试人员的经验、技巧、灵感在测试过程中也起着至关重要的作用.另一方面,IT界的发展日新月异,摆在测试人员面前的待测软件产品也是层出不穷,探寻一种新型的、高效的软件测试方法日益成为软件测试行业亟待解决的课题.

我们应该认识到,解决上述问题的实质,其实就是如何把各种测试用例加以分类,并在不同的软件测试项目中予以重用的过程.从广义上看,在软件测试过程中产生的测试技术、测试方法、测试流程等也可作为分类和管理的对象.上述的这些对象都属于知识的范畴,所以一言以蔽之,软件测试过程可以看作是对软件测试知识进行管理的过程.因此,该文提出了一个基于领域知识的软件测试用例管理系统,并以某公司物料编码软件为测试对象进行具体阐述.

2相关概念与技术

2.1领域知识

构建一个关于测试用例的知识管理系统,需要对测试领域有深入的了解.领域知识(DomainKnowledge,DK),是指在某一专业领域内的概念,以及概念之间的相互关系和有关概念的约束集合.领域知识给出了该领域内问题求解相关的定义、定理、运算法则、推理规则以及常识性知识等以作为领域知识获取、存储和表示的形式化的工具,实现了领域知识的推理和共享【2】.具体到软件测试领域,该文把一切能够驱动和协助软件测试过程进行的知识都归结为软件测试领域知识,即在软件测试过程中软件测试工程师所用到的软件测试方法、软件测试技术、软件测试工具、软件测试用例、测试报告等.

软件测试的一个重要的分支,即软件测试用例又可以分为六个组成部分,分别是测试环境、测试目标、用例描述、测试输入、测试步骤、测试操作、预期结果【3】.测试用例实际上是对客观世界的一种抽象,是对软件运行过程中所可能存在的环境、目标、运动、行动和结果的描述.

2.2软件测试用例的本体表示与实现

本体为领域知识提供框架和基础,它对于领域知识的获取、存储和表示有着重要的作用.

由于软件测试用例为软件测试的核心,所以本文着重从测试用例的角度来构建测试领域本体模型,建立软件测试用例领域本体的过程,就是利用本体思想与OWL语言组织和描述测试用例信息的过程.首先,利用本体建立测试用例知识概念模型,比较常用的方法有三种:自顶向下方法、自底向上方法、核心扩展方法【4】.该文采用的是核心扩展方法来构建本体概念模型,首先确定的核心概念为“测试用例”.显然,核心概念完全满足无二义性并且覆盖整个测试用例领域知识的要求.

在确定了核心概念后,就可以对这个具有本体雏形的核心概念进行扩展,测试用例的六元组分别是:测试目标、用例描述、测试环境、输入数据、测试操作、预期结果.建立测试用例本体概念模型如图1所示:


在用例本体模型图中,椭圆代表本体中的概念或类,概念之间的箭头表示父类与子类的继承关系,例如Author是Description的子类,Hardware是CPU的父类,TestCase是所以类的父类.总之,在父类与子类的继承时需注意,首先应该确保类与类之间具有正确的继承关系,还需要注意躲继承的情况、类之间的范围限制、类或实例的取舍问题以及不相交的子类.

3用例库测试用例的检索与排序

用例库中的测试用例是以本体的形式存在的,当对软件进行测试时需根据软件测试需求,从用例库中检索出相应的测试用例.在进行测试用例的检索时,该文采用本体概念的语义相似度间接得到测试用例的匹配度,并根据其匹配度进行测试用例排序,以此来实现逻辑推理的智能检索.本文中采用的是混合式语义相似度计算(HybridMeasures),即把概念的语义距离、概念内容和概念属性都考虑进去【5】.对于直接检索得到的测试用例设为TC,其和测试人员检索请求Q之间的匹配度M计算公式如下:

当属性为字符串类型时,dk(a,b)值由Levenshtein提出的一种计算字符串差异方法计算得到,编辑距离指的是从一个以字符为单位的字符串转换成另外一个字符串所需的最小编辑操作代价数.编辑操作有“删除”、“插入”、“替换”三种【6】.例如字符串“black-boxtesting”和“black-box_testing”之间的编辑距离,即ed(a,b)为1,因此,dk(a,b)可以根据编辑距离来计算.

4实例验证

该系统是在参照了相关领域的已有研究的基础上提出的,其中包含了知识管理过程中的知识产生、分类、积累、共享、重用等基本流程.

4.1系统体系结构

本系统采用了C/S架构,测试用例库存放于服务器端,通过运行在服务器上的服务器端程序与数个客户端交互,实现了群组协同工作.数据库采用Oracle9.服务器端使用EJB实现,容器为JBoss.客户端采用了模型-视图-控制器(MVC)这一高效的软件架构模式【11】,开发工具为VisualStudio2005,网络通信部分采用了WinSocket接口.整个测试用例管理系统的体系结构如图2所示[7].

4.2系统工作流程

系统的工作流程如图3所示.

首先,将编写好的测试用例添加到交流库中,各用户可以直接对交流库中的数据进行增删改查等操作.交流库中筛选出质量较高的测试用例提交至用例库.现有的测试用例也可经过评估后直接提交至用例库.其次,用户可对用例库中的测试用例进行分类与评级,从而成为后续检索操作的条件,并且测试用例的分类与检索都是基于本体的,这些都将成为提高检索匹配度的必要前提.

4.3编码系统测试

本节以某物料编码软件为测试对象,通过以上的测试用例管理系统来进一步验证基于领域知识的软件测试方法的高效性和复用性.当对此物料编码软件进行测试时,我们首先进入软件测试用例管理系统,在其界面的输入域中输入相应的测试需求,随之,系统根据输入请求与用例库中的测试用例进行智能匹配.例如在测试类型一栏输入FunctionalTest,系统则根据上节的匹配度计算方法自动检索出相似度极高的测试用例用以被测系统功能测试.采用此方法相对于测试人员重新编写测试用例来说,可以节约更多的时间,从而提高测试的效率,并能缩短开发周期.实验数据表格如表1所示.

5结束语

通过对软件测试用例领域概念以及概念之间关系的分析和研究,提出了利用本体构建软件测试领域知识,完成了对测试用例本体模型的构建和分类管理,并采用了混合式语义相似度计算快速检索算法,以此为理论基础建立了一个基于领域知识的软件测试用例知识管理系统.在该系统中,简要提出了系统体系结构和系统工作流程,最后以物料编码系统为测试对象验证了此系统的高效性和实用性,对比结果显示此系统在执行测试用例数目和时间上明显优于传统用例管理系统,充分说明了基于领域知识的测试用例管理系统的优势.

相关论文

软件测试方法

本文是一篇软件测试论文范文,关于软件测试毕业论文开题报告范文,关于软件测试方法相关在职研究生毕业论文范文。适合软件测试及计算机软件及。

手机应用软件测试方法概述

本文是一篇软件测试论文范文,软件测试相关本科论文开题报告,关于手机应用软件测试方法概述相关专科毕业论文范文。适合软件测试及操作系统及。

基于多平台的计算机软件测试方法

本文是一篇软件测试论文范文,软件测试类研究生毕业论文开题报告,关于基于多平台的计算机软件测试方法相关毕业论文范文。适合软件测试及计算。

计算机专业软件测试方法

本文是一篇软件测试论文范文,软件测试方面有关在职毕业论文开题报告,关于计算机专业软件测试方法相关函授毕业论文范文。适合软件测试及测试。

软件测试方法

本文是一篇软件测试论文范文,关于软件测试自考毕业论文开题报告,关于软件测试方法相关函授毕业论文范文。适合软件测试及测试及软件设计方面。

软件测试方法概述

本文是一篇软件测试论文范文,软件测试方面本科毕业论文,关于软件测试方法概述相关专科毕业论文范文。适合软件测试及可靠性及测试方面的的大。

关于计算机软件测试方法的

本文是一篇软件测试论文范文,软件测试方面毕业论文范文,关于关于计算机软件测试方法的相关硕士学位毕业论文范文。适合软件测试及计算机软件。

计算机联锁软件测试方法

本文是一篇计算机论文范文,计算机类有关毕业论文的格式,关于计算机联锁软件测试方法相关本科论文范文。适合计算机及测试及进路方面的的大学。