测试过程管理系统的设计与实现_第1页
测试过程管理系统的设计与实现_第2页
测试过程管理系统的设计与实现_第3页
测试过程管理系统的设计与实现_第4页
测试过程管理系统的设计与实现_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件外包类企业 内部使用测试过程管理系统的设计与实现【摘要】本文旨在分析软件外包企业的测试流程流水化,严格控制测试流程中的各个环节,通过设计一款软件外包类企业内部使用的测试过程管理系统,以实现对外包测试过程和质量的有效管理。引言1.1 背景外包的定义是:一个业务实体将原来应在企业内部完成的业务,转移到企业外部由其他业务实体完成,这种行为就称为外包。软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或者部分工作给提供外包服务的企业完成的软件需求活动。整合利用其外部最优秀的专业化资源,从而达到降低成本、提高效率、充分发挥自身核心竞争力和增加企业对环境的迅速应变能力。它已经

2、成为发达国家的软件公司降低成本的一种重要的手段。据国外权威机构的调查显示,外包使单位组织平均节省9%的成本,而能力与质量上升了15%。中国软件业通过开展软件外包业务也首先使经济得到了发展,其次通过与国外同行业的交流与合作改进了国内软件行业的开发管理流程,健全了软件质量控制体系。承接软件外包业务的企业若想把业务做大做强,必须从技术、管理、做事方法、质量保证等方面与国际接轨。但显然,以上这些方面国内大多数软件企业还达不到必需的水平,但是这些企业依然有机会承接软件外包服务项目,软件测试项目是目前最适合国内小型软件企业的软件外包项目。软件测试外包是企业把一套成型的产品交给专门的测试组织进行测试,检验产

3、品是否达到用户的使用标准。在软件外包的大潮中,国内软件测试外包多种业务模式并行。从为客户提供外包测试服务的业务模式划分,软件测试外包可分为:现场测试模式和公司内部测试模式。现场测试模式是人员外派模式,主要是指服务商把自己的人员派到客户的现场进行现场测试,可派整个测试团队进行独立测试,也可以将测试人员分散在客户的测试团队中,一般适用于软件测试环境复杂、客户对软件的保密性要求高、需求和开发团队密切配合的项目;公司内部测试模式指的是测试外包方承接客户的测试服务,在公司内部进行软件测试工作,按照约定提交测试工件或测试报告,软件测试费用按照软件测试外包的工作量来进行计量。该模式具有降低成本、降低风险、强

4、化核心能力、扩大经济规模等作用,而企业的最终目的是围绕最优化地利用自身已拥有的生产管理能力与财务等资源来获取最优越的收益,所以越来越多的跨国公司将该模式作为国际化的重要战略选择。这种模式一般适用于发包方对接包方的管理能力、技术水平非常信任、软件功能相对稳定的项目,随着国内软件行业技术水平的提高,外包测试有逐步朝这个方向发展的趋势。因此,对这种模式的研究对国内未来的软件外包测试管理极具应用价值。1.2 软件测试管理系统的现状伴随着软件测试管理的发展,各种软件测试管理系统应运而生。这些对测试过程管理的系统一般是基于通用的软件测试管理过程,因此尽管这些管理工具已经能够基本的测试管理需求,但是在某些方

5、面,如测试团队的管理、测试设备和测试团队的管理方面尚存在欠缺。对软件测试的管理,目前市场上已经有很多不同的工具。下面来探索一下市场中常见的软件测试管理工具。测试工具特点TestDirectorClearQuestQA Director界面设计英文英文英文易用性较好良复杂测试控制手动测试并结合自动化测试手动测试自动化测试测试过程管理支持软件生命周期支持缺陷管理支持软件生命周期测试用例管理有无有缺陷管理优优良缺陷状态分类优优优缺陷严重等级分类优优优缺陷跟踪普通普通无权限角色等级一般无一般架构模式C/SC/S,B/SB/S支持数据库Sybase、MSSQL、 OracleSQL Server,SQL

6、 Anywhere,ORACLE,ACCESS,DB2Microsoft Access、 SQL Server、 Oracle安装配置复杂度复杂复杂复杂费用免费昂贵昂贵上表列出了当前市场上常见的测试管理工具,主要针对于测试缺陷管理。而且大部分的测试管理工具都是非常昂贵的。即便是TestDirector这样的整体应用系统,也只是集成了测试管理的各个部分,专注在将测试过程流水化,并没有涉及到测试团队人员的管理以及团队中的设备管理。ClearQuest是缺陷及变更管理工具,它对软件缺陷或者功能特性等任务记录提供跟踪管理。QA Director专注于自动化测试,显示更不适合外包测试项目的管理。1.3

7、目标本文基于国内软件测试外包服务商内部的管理现状,从外包测试项目管理者的角度提取软件测试外包内部管理需要考虑的问题,在对缺陷生命周期、软件测试过程和软件外包内部测试项目特点的研究基础上,着重研究软件测试外包中测试流程管理,将测试流程流水化,严格控制测试流程中的各个环节,以实现对外包测试过程和质量的有效管理。在此目的基础上构建软件外包内部测试过程管理系统 Software Outsourcing Task Management (SOTM)。本系统基本概念2.1 软件外包测试工作流程及特点在本节我们来分析软件外包内部测试基本的工作流程和特点。2.3.1 软件外包内部测试基本流程软件外包内部测试模

8、式下,外包服务者有一套规范的服务流程,严格按照这个流程执行可以确保后期服务高效完成。在外包项目开始之前,外包服务者会根据约定到客户现场收集需求信息,包括:客户的系统概况、应用领域、软件开发周期、软件开发环境、开发组织安排、时间安排、功能需求、性能需求、质量需求等。由此进行项目所需的人员、时间和工作量估计及项目报价,调研后测试队伍会对调研结果进行测试需求评审,明确测试需求。测试需求明确之后,可以安排项目测试进度计划:制定初步的项目计划,列举项目风险,客户关注点、难点,周期安排。与软件发包方充分协商制定测试计划。测试计划确定之后,测试服务提供者可以根据客户的系统要求配置测试环境,专用的硬件设备由发

9、包方提供,专业的测试工具和常用的测试设备由测试者自己提供。测试服务者开始进行测试设计,要求覆盖到所有的测试需求点,设计出测试思路和详细的测试方法,设计完成之后要进行评审,评审员包括发包方的项目经理、开发人员和测试方的测试经理、测试组长、测试组成员。评审结束后,根据评审结果,测试组长组织测试组成员修改测试方案,直到评审通过为止。测试设计通过评审后,测试组长组织测试人员编写测试用例。软件测试中最重要的因素是设计测试用例.。通过测试设计阶段,测试人员已经对整个系统需求有了详细的了解,这个时候设计测试用例可以有效地保证测试用例对需求的覆盖率。测试用例包括:测试目标、测试前提条件、操作步骤和预期输出结果

10、。测试用例设计完成后也需要和发包方的开发人员、项目经理等人员进行评审,根据评审结果,测试者修改测试用例,直到评审通过为止。测试用例编写完成之后,根据测试计划安排,测试组长组织测试成员进行测试。测试执行过程中,测试用例是唯一实施标准。如发现缺陷则及时报告到特定的管理系统中,由开发方确认并负责修改。开发方修改完缺陷并转来新的测试版本后,测试方在新的版本中对缺陷进行回归验证。测试结束后,测试方编写测试报告对测试项目进行总结。全部测试完成后,发包方会同开发方组织用户进行验收测试,以验证软件是否最终满足客户实际需要。如果验收时发现缺陷率在合同规定的范围之内,则验收成功。如果超出规定的缺陷范围,外包公司可

11、能要被罚款。实际操作中,如果公司被罚款整个测试项目组的成员可能都要被罚。2.3.2 软件外包内部测试的特点根据以上工作流程的分析,得出软件外包内部测试有以下特点:1). 进度管理严格。项目按时交付是保证客户满足的前提。在测试活动开展过程中,严格地监控项目进度,统筹规划,要保证测试工程师按预期计划进行工作,在必要时可通过调整工作分配、增加工作人员等方式保证项目按时完成。2). 交流过程复杂。软件外包测试直接服务于发包方,间接服务于用户。测试者一般无法面对面与发包方实时交流,在测试过程中遇到问题时,不能像本地软件测试那样直接同项目经理和用户进行交流,外包测试中遇到问题时,需要发包方与他们的客户交流

12、后再与外包测试提供者交流。3). 工作汇报频繁。外包测试本身为服务性质的工作,工作成果是测试过的软件产品,要得到客户的认可就需要把阶段测试成果展示给客户,让客户深入到测试过程中,软件外包测试者需要根据约定定期向发包方汇报工作进展情况和缺陷发现情况,周期短,通常为每天,最多不会超过一周。对工作汇报要求严格。4). 参考文档不够全面。发包方通常对技术的保密工作要求很高,一般不会提供给软件外包测试者很全面的设计开发文档,外包测试者需要根据自己大量的经验积累开展工作。知识的传承在外包测试提供者内部显得尤其重要。5). 对外包测试服务者的服务质量要求高。一旦外包软件被发包方测试出错误之后往往是需要外包服

13、务提供者用金钱来补偿。2.2 核心术语TSDRTSDR,Task Schedule Deviation Rate,任务进度偏差率。TSDR等于实际执行工作所花费时间减去预估所需工作时间所得的值除以预估工作时间的百分比。在本系统中我们定义,当百分比为负值时,表示进度提前;当百分比在0%-1%,则TSDR=5,表示实际进展与计划相符;当百分比在1.1%-5%, 则TSDR=4,表示实际进度与原计划与细微偏差,可稍做调整;当百分比在5.1%-10%,则TSDR=3,表示;实际进度与计划有一定差别,应加强控制;当百分比在10%-20%,则TSDR=2,则表示任务实际进度与计划差别较大,估算者对工作任务

14、的估算不够合理或是对任务执行者的能力没有较清楚的认识,应重新估算工作量或者安排更合适的执行者;当百分比大于20%,则TSDR=0,则表示估算出现错误或者任务执行出现问题,应马上分析问题,以方便采取合理的应对措施。缺陷和缺陷生命周期缺陷是程序中存在的一切破坏程序正常运行的问题、故障或者隐藏的功能缺陷。 缺陷的存在会导致软件在一定程序上不能满足用户需要。它具体表现为:软件功能不能正常运行;软件没有实现需求规格说明中所要求的功能;软件中出现了需求规格说明中没有要求的功能;软件不容易使用;软件没有实现需求规格说明中没有明确说明但应该实现的功能。各类软件缺陷对软件产品质量所造成的影响也是不同的,有的是灾

15、难性的,也有的仅仅是界面不够直观。一般来说,对于严重的缺陷,应该优先处理。问题越严重,越要得到及时的纠正,处理的优先级也越高。各个软件项目对问题的优先级定义不同,但大致可以概括为以下五个级别:1). 致命的。致命的错误会造成系统或者应用程序的崩溃、死机、数据丢失或者主要功能完全丧失等。2). 严重的。严重的错误是指功能或者特性没有实现,主要功能丧失、次要功能完全丧失等。3). 一般的。不太严重的错误,不影响系统的基本使用,绕过此缺陷测试可以继续进行。4). 微小的。对功能没有影响的一些小问题。如:文字排列不整齐、个别错别字等。5). 建议。用来记录测试人员所提出的质疑以及对软件的建议。缺陷生命

16、周期用于反映缺陷处于什么样的状态,方便软件开发和测试人员跟踪和管理缺陷。简单的缺陷生命包括以下三个状态:1). 打开。测试人员发现软件缺陷并将缺陷报告出来。2). 修复。开发人员通过再现缺陷,修正缺陷,然后交给测试人员验证。3). 关闭。测试人员验证缺陷后,确认缺陷已经在当前测试版本中已经被修复。可以看出以上是一种理想化的缺陷生命周期,它认定的缺陷被提出后就可以得到开发人员的认可,并且开发人员可以一次修复缺陷。在实际的软件开发中,缺陷被提出后,因为需求不明或者理解的偏差,经常会存在争议,这就需要有第三方,如:需求人员来确认这个缺陷,所以在开发人员同意修复这个缺陷之前,还有存在着一个交由需求人员

17、确认的状态。而在开发人员修复缺陷后,如果测试人员验证修复时发现缺陷依然存在就会再次打开这个缺陷,此时这个缺陷的状态会是再次打开,而不是关闭。管理系统的设计结构设计软件外包内部测试管理系统采用基于Web 的三层B/S架构模式,这种模式在逻辑上将应用功能分为三层:表示层、功能层、数据层。本系统的系统设计结构如图4-5所示:数据层数据服务器用户表示层网络浏览器功能层本测试管理系统操作请求结果请求结果请求结果图4-5系统设计结构图4.1 系统功能分布4.2 功能模块设计基于系统分析的结果,按照结构化的设计方法,软件外包测试过程管理系统的功能模块图如下:图4-7系统功能模块图系统由组织管理、资源管理、任

18、务管理、缺陷管理、请求管理和工作监控六个模块组成,下面分别对这六个模块做概要说明:1). 组织管理:高级部门经理对所要组织的组织进行基本信息的配置,比如:项目的基本信息、子部门的基本信息等。另外,基于具体的项目需求建立将要参与本项目的工作组以划分角色,例如:功能测试组、自动化组、性能测试组等,给每个工作组选择人员,同时也是对所选择的人员进行权限设置。2). 资源管理:资源管理包括两个部分:人员信息管理和设备信息管理。这里的人员是指所有使用本系统的用户,也是就外包测试内部模式中测试部门的所有员工。用户登录系统后,根据权限的不同会看到不同的界面,在本身所具有的权限范围内进行相关操作。人员信息管理包

19、括:添加用户信息、编辑用户信息、删除用户信息、查找用户信息、查看用户信息信息、指定用户到特定工作组。设备信息管理包括:添加设备、编辑设备信息、更新设备信息、查找设备信息。3). 任务管理:在任务管理中工作组长给指定的自己的工作组添加工作任务集和工作任务,工作任务集在本质上可以看做是一个大的工作任务。比如:当“搭建测试环境”做为一个工作任务集时,工作任务可以是各种测试环境。工作任务添加之后,指定任务给工作人员。工作人员在执行的过程中修改任务信息,包括:任务状态、花费时间、执行过程中的相关问题等。在这一过程中,管理者和工作执行者可以查看自己权限范围内的任务状态。4). 请求管理:用于部门之间的交互

20、。包括:设备请求和人员请求。每个人可以新建设备请求给设备管理员或者当前的设备占用者,请求被处理后系统会发送通知给请求者告知处理结果。每个人都可以处理发送到自己名下的设备请求。项目或者子部门经理可以新建人员请求,其他部门经理或者部门高级经理收到请求后,处理人员请求,系统将处理结果告知请求者。请求信息发出后,申请者可以查看请求信息及当前状态。5). 缺陷管理:记录在测试过程中所发现的缺陷,跟踪缺陷。发现缺陷后,报告缺陷,并将它的状态设置为:打开;一般情况下,在开发人员修正缺陷后,对修正后的缺陷进行验证分析;如果认定已经修正则更改状态为关闭;如果未能修改则将缺陷再次打开。6). 监控管理:根据项目管

21、理、人员管理、任务管理和缺陷管理所记录的信息,系统自动生成的统计分析。 4.3 权限设计权限管理是系统的一个重要功能,在本系统中我们对使用人员的权限做了严格的划分。首先将用户划分成不同的角色组,不同的角色组对应着服务器上的若干特定方法,归属于某一个角色组的方法只允许此角色组的成员调用。1).根据以上讨论可以生成权限矩阵图来直观地表示权限与角色的关系。如下图4-12所示,R代表可读,W代表可写:角色权限部门高级经理项目、部门经理工作组长工作组成员设备管理员组织管理RWR工作监控RWRWRW人员管理RWRWR工作组管理RWRWR任务集管理RWRWRWR任务管理RWRWRWR任务执行RWRWRWRW

22、缺陷管理RWRWRWRW统计查询RWRWRWRW请求管理RWRWRWRWRW设备信息RWRWRWRWRW图4-12 权限-角色矩阵管理系统的实现在最高权限下,登录后主界面如图5-1所示。图5-1 系统登录后主界面5.1 基本信息管理5.1.1 组织管理组织管理是管理系统的基本功能模块,它将部门中的员工与相应的工作任务、角色权限进行接口接合。组织配置是管理系统的一个基本功能。此功能的系统流程图如下图5-2所示。图5-2 组织管理模块流程图归还设备界面5.2 任务运行管理5.2.1 任务管理任务管理模块是系统中重要的核心部分之一。工作过程中有三个角色对该模块进行操作:项目、子部门经理、工作组长、执

23、行者。任务管理板块记录在工作过程中工作任务从新建到完成的过程。管理人员可以通过任务状态随时查看工作进度和工作产出;项目、子部门经理和工作组长建立工作任务,任务执行者执行工作任务并记录执行任务过程的详细信息。任务管理包括:添加任务、分配任务、查看全部任务、执行任务、查看任务历史记录、查看当前用户任务记录。如图5-9所示。图5-9任务管理模块界面5.2.1.1 添加任务的流程以下是添加工作任务集以及工作任务的流程图:图5-10 添加任务信息处理流程图5.2.1.2 任务管理界面项目经理、子部门经理或工作组长登录系统后,单击菜单中“Task”标签进入任务管理模块。选定所期望的项目或部门后进入任务集列

24、表页面,单击“Add Task Set”按钮添加任务集信息,填写任务集名称和任务集描述,是否激活任务集,填写后单击“Submit”按钮完成任务集的添加,此新增的任务集显示在“Task Set List”中。如下图5-11所示。图5-11任务集管理界面任务集添加完成之后,可以将此任务集直接指派给工作组,则工作组组长可以看到此工作组,通过点击“View Task”链接进入Task列表页面,查看当前已经存在的工作任务,修改未分配的任务,或为此任务集添加任务。单击“Add Task”按钮添加任务信息,填写任务名称、任务描述、任务是否激活(若激活,则可以分配给执行者;若不激活则不能分配),填写后单击“S

25、ubmit”按钮完成任务的添加,此新增的任务显示在“Task List”中。如图5-12所示。图5-12任务管理界面添加任务之后,就可以将任务分配给执行者。分配任务时选中一条或多条任务记录,单击“Assign Task”,系统弹出设置执行者的对话框。其中,“Select Group Member”用于选择本工作组的成员,也就是将所选定“Supported?”为“N”的任务分配给本工作组执行;“Other Member”用于填写从别处借调的人员,将所选定的“Supported?”为“Y”的任务分配给所借调来的人员。选中下拉列表中的执行者,确认后,此任务被分配给执行者。如下图5-13所示。图5-1

26、3分配任务界面执行者登录系统后,在“Home”标签页就可以看到已经分配到自己名下的工作任务,如图5-14所示图5-14 执行任务界面5.2.2 缺陷管理缺陷管理在本系统中主要是为了给评价软件质量和考核员工绩效提供依据,是对所报告的软件缺陷的一个简单记录。与一般的缺陷管理系统不同,本系统中的缺陷管理模块,只有测试人员和测试管理人员使用。它基于缺陷管理的生命周期原理,主要记录测试人员在缺陷生周期过程中参与的环节,如:缺陷添加、回归验证和关闭或重新打开等。测试人员测到缺陷时,登录到本系统,添加缺陷信息,包括:缺陷发生的位置、缺陷标题、缺陷的等级、缺陷的重现步骤等。添加缺陷信息处理流程图如下图5-15

27、所示。图5-15 添加缺陷信息处理流程图5.2.3 请求管理请求管理用于部门之间的交流。测试项目经理可以新建人员请求用于申请新的项目成员;普通用户可以新建设备请求用于申请测试设备。请求新建时申请者为此请求选择适当的接收人,接收人根据实现工作情况处理请求。新建请求的流程图如下图5-18所示:图5-18 新建设备申请处理流程图5.2.4.1 请求管理界面请求管理是所有用户都有的一个功能,显示在“Home”标签页中。用户登录系统后,即可看到。点击“Request”菜单进入Request模块。如图5-19所示。用户可以查找自己的请求,从查找结果中查看自己的请求,在请求被接受或拒绝之前可以修改请求。如果

28、有需要,用户可以通过“New Request”按钮新建请求申请设备或者人员(申请人员功能仅限于项目、子部门经理使用)。申请设备时,用户填写所需的设备名称、设备所应具备的必要功能,填写完之后单击“Submit”按钮,则此设备申请新建成功。新建请求信息界面如图5-20所示。图5-20 新建请求界面请求提交后,在被处理之前,创建者可以取消请求。取消请求时,选中所要取消的请求,单击“Cancel”按钮,出现对话框请求确认取消。系统提示是否真的要取消此申请,若不取消则单击“No”;若确定要消息此申请,则单击“Yes”,申请被取消,不可恢复。设备申请新建后,被发送给设备管理员,设备管理员打开后可以看到申请

29、者的申请信息。设备请求详细信息界面如图5-20所示。图5-20 设备请求详细信息界面申请接收者登录到系统中后,在其“Home”标签页可以看到请求者发来的信息。申请接收者可以批准或者拒绝请求。如果批准请求,在请求的详细信息对话框中,则选中“Confirm”,表示设备管理员或者当前设备占用者同意或拒绝请求者占用设备,系统跳出选择资源的对话框供批准者选择资源,批准者根据请求信息选择设备或者人员。然后确认所选择的内容后回到请求信息的界面,批准者在请求信息界面点击“OK”按钮,则完成批准请求的过程。如果拒绝请求,则申请接收者只需要在请求信息的对话框中选中“Reject”,输入相关拒绝理由后点击“OK”按

30、钮。请求接收者处理请求后,系统会发通知到请求者的“Home”标签中通知其请求的处理结果。请求接收者批准请求时选择资源的界面如下图5-22所示。图5-22 选择资源界面5.2.4.2 新建请求的逻辑实现新建设备申请的逻辑部分使用Java语言,通过Request对象获得页面信息,经过处理后,使用DAO与数据库进行交互。其逻辑实现流程图如下图5-22所示。图5-22 新建设备申请逻辑流程图5.2.4 查询功能本系统中所有用户都会用到查询功能,因为角色的不同,所查询的内容不同,如:测试员经常用到任务历史记录查询,每天任务记录查询。为方便使用,在本系统中,依据查询内容而划分,将查询功能分布在各个对应的功

31、能模块中。测试员查询工作任务,其查询处理流程,如下图5-23所示。图5-23 查询工作任务处理流程图5.2.5.1 信息查询界面信息查询做为一类功能,根据查询内容的不同,有不同的界面。用户登录后,通过单击相应标签页,进入相应查询功能所在的页面,如: Task标签页的“Task History”中,用户可以通过输入任务编号或者任务名称查找任务被执行过的记录;“My Task Records”则用来查询当前用户所有执行过的任务;Resource标签页的“Asset History” 菜单中,设备管理员通过输入设备编号来查询该设备被使用的记录。所有的查询都是用户输入查询条件后,单击“Search”按钮,得到查询结果。任务记录的查询界面如下图5-24所示。图5-24任务历史记录查询界面5.2.5 监控功能监控功能是供部门高级经理与项目经理、子部门经理使用的功能,主要用于时间监控和缺陷分析。根据任务执行者在执行任务过程中所记录的时间信息,系统进行分析对比,以图表的形式呈现,为管理层的决策提供参考。部门高级经理可以从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论