关于面向软件测试过程的知识管理方法的研究与(2)
2015-12-08 01:08
导读:根据作者在北航软件所参与的软件测试项目工作经验,同时结合知识管理的基本原理分析国际上主流软件测试过程,认为目前在软件测试过程中存在五大问
根据作者在北航软件所参与的软件测试项目工作经验,同时结合知识管理的基本原理分析国际上主流软件测试过程,认为目前在软件测试过程中存在五大问题:
1)软件测试知识重用率低。目前,软件测试过程中公共测试知识的积累未能有意识地大规模开展,虽然企业内部有一些用于测试知识和经验积累的数据库,但大多数员工忽视其存在,造成测试知识资源的闲置,导致测试知识和经验的重用率低。
2)软件测试知识传递不畅。现有测试知识的保管模式使得知识的传递不畅,测试知识被动地等人来阅读,而使用者则在知识海洋中苦苦寻觅他所需要的知识,员工无法快速掌握新的测试知识。
3)软件测试知识共享环境差。企业内部尚没有正式的、专用的、有组织的知识共享场所,员工之间缺乏相互沟通与交流的机会,沟通与交流的体制也没有建立起来,软件测试过程中的知识共享氛围也有待于培养形成。
4)软件测试知识流失严重。许多专门经验和技能只是少数人所拥有,没有真正成为企业的公共知识,这不仅使测试知识传递不畅,而且在人员变动时,这些测试知识会随之流失,使企业的整体竞争力因人员流动而发生波动,给企业带来严重损失。
5)无法快速实现测试组织中人力资源优化配置。知识管理是人、过程、技术的有机集成,其中人是最主要的,企业的管理者无法对组织中的人员技术特长、知识分布了如指掌,在遇到新的测试项目时,无法根据员工特长,快速搭建出最优的项目团队,从而无法实现组织中人力资源的优化配置。
由于上述问题的存在,造成了软件测试企业的生产效率不高,对市场的整体响应速度慢,应变能力不强。本人认为以上问题的出现是源于在当前的软件测试过程中缺乏对知识的科学管理,因此在该领域内实施知识管理就显得很有必要。
2系统体系结构及工作流程
北航软件所(SEI/BUAA)在多年从事软件测试领域的研究与实践的基础上,对知识管理在测试领域中的应用进行了大量深入的调查、研究,提出了一套针对软件测试领域实施知识管理的思想和方法。
由于软件测试领域的知识管理目前的研究甚少,特别是现成的软件测试知识管理系统更是一片空白,因此本课题的研究只能参照通用的或相关领域的已有研究进行。观察国内外知识管理平台的研究,尽管提出的模式纷繁复杂,但基本上每个模式中都包含着诸如知识产生、分类、积累、共享、重用这样的基本流程。
2.1系统体系结构
QESuite2.0在结构上采用的c/s方式,可支持群组协同工作,其中数据收集和分发的部分使用EJB实现,容器使用JBoss。QESuite2.0的框架基于插件开发的思想创建,利用多态特性声明可扩展的接口。框架与插件的连接、子类别的实例化过程则利用解释引擎(也称作连接器)在运行时动态完成,框架即可根据模板进行统一调用,具有良好的封装性和可扩展性。基于测试管理平台的以上特点,软件测试过程知识管理系统的体系结构。
本系统基于J2EE开放式架构,是一个面向软件测试过程的架构弹性的知识管理平台。系统依循知识生命周期管理,利用软件测试组织中的知识文档,有效帮助企业存储、管理、搜寻、分享各种知识,并通过组织中的知识地图,有效地评估员工的知识程度,使知识地图成为知识型员工的地位象征,并通过统计工具对拥有知识的员工进行肯定,从而促进知识共享的企业文化。
2.2系统工作流程
系统的工作流程主要包括以下几个方面,如图2所示。
(1)首先对本子系统进行初始化,在本系统预定义的基础上,允许用户对软件测试知识分类、知识程度、组织职位定义、项目规模进行自定义。 (转载自http://www.NSEAC.com中国科教评价网)
(2)在交流库中添加文档,用户可以直接编写文档提交交流库,或者在交流库中提出问题,交流库是整个系统的知识文档来源。交流库中筛选出的技术含量较高文档,由知识分析员进行知识分类后,提交知识库。
(3)用户可以自行对知识库中的知识文档进行评估,同时根据知识分析员对文档的评定,以及作者的知识程度、文档的链接程度等加权实现对文档的评定。
(4)知识分析员可以根据组织讨论的结果直接设定组织成员的知识等级,也可以通过编辑组织成员的项目经历,来自动设置成员的知识等级,或者通过成员在组织中发表的知识文档来自动设置成员的知识等级。
(5)知识检索,主要包括知识文档检索和专家检索,通过知识文档元数据可以任意检索知识文档,当用户无法找到需要的知识文档,可以通过专家检索来告诉用户组织中能够解决问题的人。
3几个关键技术的研究与应用
3.1基于本体的软件测试领域知识表示方法