基于数据挖掘的软件测试技术研究分解课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《基于数据挖掘的软件测试技术研究分解课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 数据 挖掘 软件 测试 技术研究 分解 课件
- 资源描述:
-
1、基于数据挖掘的软件测试技术研究摘要 软件的可靠性对社会,经济,国防等都有着巨大的意义,而要提高软件的可靠性,必须对软件进行大量的测试。但是由于条件的限制,必须在资源耗费和测试效果之间达到平衡。如何以最小的代价进行尽量高效的测试,是一个值得研究的问题。因此,数据挖掘技术作为一种处理海量数据的有效方法被引入到软件测试中,也产生了许多成果。软件测试中有两个典型的“数据过量”问题:一个是测试用例的选择:由于软件输入空间十分巨大,将所有这些输入全部检验是不现实的,因此必须用某种方法将输入空间分成若干“等效的”类,在每个类中选择少量元素作为测试用例,从而减少测试用例的数量。另一个是与Bug报告的分析:由于
2、越来越多的软件 采用了自动报告Bug的方式以便可以准确地获得软件Bug信息,这种方法对于Bug数据的收集是非常有效的,但软件开发人员往往无法对过多的Bug数据进行处理,造成了信息浪费。因此必须找到一种自动化的方法对这些数据进行分析。本文针对以上两个问题,介绍和提出了使用数据挖掘技术的解决方案,即:1缩减测试用例:在复杂软件的测试中,其输入空间几乎是无限的,因此不可能将全部的测试用例都输入到待测软件中执行。解决的方法就是通过某种方式选择其中最有代表性的一部分对待测软件进行测试,称作测试用例的缩减。数据挖掘技术可以作为缩减测试用例的一种有效方法。2对Bug报告的分析:由于许多当代的软件可以自动监测
3、异常运行状态并将相关数据发送给软件开发者,软件开发者往往要面临大量的Bug数据,如果对这些数据逐一分析是十分费时费力的,利用数据挖掘方法,自动对这些数据进行处理,缩小问题空间。数据挖掘 数据挖掘 是通过分析,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示三个步骤:1.数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;2.规律寻找是用某种方法将数据集所含的规律找出来;3.规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来 数据挖掘的技术基础是人工智能,仅利用了人工智能中一些己经成熟的算法和技术,例如:人工神经网络(Artificial Neu
4、ral Networks)遗传算法(Genetic Algorithms)决策树(Decision Trees)邻近搜索方法(Nearest Neighbor Method)规则推理(Rule Induction)模糊逻辑(Fuzzy Logic)等等.遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法 由三个基本算子(或过程)组成:1.繁殖(选择),即从一个旧种群(父代)选出生命 力强的个体,产生新的种群(后 代)的过程。2.交叉(重组),即选择两个不同的个体(染色体)的部分(基因)进行交换,形成 新个体的过程。3.变异(
5、突变),即对某些个体的某些基因进行 变异(0变19或l变0),形成 新个体的过程。数据挖掘的主要分析方法 1关联分析(Associations),关联分析的目的就是为了挖掘出隐藏在数据间的相互关系。2序列模式分析(Sequential Patterns)序列模式分析和关联分析法相似,其目的也是为了挖掘出数据之间的联系,但序列模式分析的侧重点在于分析数据间的前后或因果关系。3分类分析(Classifiers)假定记录集会和一组标记(TAG),所谓标记是指一组具有不同特征的类别。分类分析时首先为每一个记录赋予一个标记,按标记分类记录。4聚类分析(Clustering)与分类分析法不同,聚类分析法的
6、输入集是一组未标定的记录,也就是说此时输入的记录还没有被进行任何分类。其目的是根据一定的规则,合理地划分记录集合。信息-模糊网 简介 信息-模糊网(Info-FuzzyNetwork,以下简称IFN)是由以色列Bcn-Gurion大学的Mark Last提出的一种基于信息论的分类方法,与传统基于信息论的分类方法相比,在保证分类精度的同时可以得到比较简约的分类规则。信息-模糊网的结构与决策树不同,IFN具有网状的,类似神经网络的分层结构IFN由一个根节点,若干个中间层,和一个目标层构成。IFN的每个中间层只对应一个待分类的属性,第L中间层的一个节点表示前L个输入属性值的并。如果某个属性为连续变量
7、,需要将其离散化。目标层的每个节点表示目标属性的一个值,如果目标属性是连续量,则目标层表示若干不相交的区间。其中,直接与目标层节点相连的中间层节点称为终结点(final nodes),终结点与目标层节点间的连接表示一组输入属性可以被划分一个特定类;例如有五个终结点:(1,1),(1,2),(3,1),(3,2)。假如把图看作是根据某个可执行程序的输入、输出所建立的IFN,则连接(1,1)-1的意义为:对于具有两个输入值都为1的测试用例,程序将输出结果1。信息-模糊网的构建算法 输入为一个训练数据集,目标属性集合和节点分裂所需的最小熵压缩阈值sign,首先定义目标层,每个节点表示一个类别;由一个
8、表示空集的根节点开始,计算每个属性分裂后引起的熵压缩,对于取离散值得属性可直接计算,对于连续值的属性首先进行离散化再计算;选择引起熵压缩最大的属性进行分裂,形成下一个中间层;重复以上步骤迭代地建立网络,直到没有候选属性接点分裂起的熵压缩大于sign时,网络的建立过程结束。计算某个结点分裂引起的熵压缩使用如下的算法:设S是s个数据样本的集合,假定有m个互不相同的目标属性,定义m个不同类 。设Si是类Ci中的样本数。对一个给定的样本分类所需的期望信息(熵)可以由以下公式计算:Pi是任意样本属于Ci的估算概率).2,1(Cimi)(log),.,(1221imiimppSSSIsspii设候选属性A
9、有v个不同值(al,a2 av)。可以用属性A将S划分为v个子集S1,S2,Sv);其中,sj包含S中在A上值为aj的样本。设sij是子集sj中类属于Ci的样本数。则将样本按A划分后,对一个给定样本分类所需的期望信息(熵)由下式给出:其中,对于给定的子集Sj,pij是sj中的样本属于类Ci的概率,表示为vmjjjmjjjsssIssssAE1j2121),.,(.)(miijijmjjjppsss1221)(log-),.,(Ijijijssp 分裂属性A所造成的熵压缩为:然后选择引起熵压缩最大的属性进行分裂。.)(),.,()(21AEsssIAGainm使用信息-模糊网划分等价类 使用IF
10、N划分测试用例等价类的系统结构见图 系统组成模块及功能如下:被测试模块:这部分可以是一个程序,组件或完整的系统,并且它在以后的使用中将不断的更新版本。要注意的是,它应该是“数据驱动”的,即它的输入和输出都是一组了格式和类型的数据。系统输入输出说明:对待测试模块输入和输出数据的说明,可以包括变量数量,名称,类型,取值范围等。测试用例产生器:根据系统输入输出说明提供的信息自动地,随机地产生测 试用例,产生的数量由用户指定。产生的测试用例输入数据交给测试驱动程序和 IFN构建算法。测试驱动程序:它将用例产 生器产生的测试用例送给被测试模块执行,并接收每个测试用例的输出。然后交给IFN构建算法。IFN
展开阅读全文