《软件测试 测试管理.pptx》由会员分享,可在线阅读,更多相关《软件测试 测试管理.pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.1 建立测试管理体系应用系统方法来建立软件测试管理体系,也就是把测试工作作为一个系统,对组成这个系统的各个过程加以识别和管理,以实现设定的系统目标。同时要使这些过程协同作用、互相促进,尽可能发现和排除软件故障。测试系统主要由下面6个相互关联、相互作用的过程组成:测试计划测试设计测试实施配置管理资源管理测试管理第1页/共41页8.1 建立测试管理体系此外,测试系统与软件修改过程是相互关联、相互作用的。测试系统的输出(软件故障报告)是软件修改的输入。反过来,软件修改的输出(新的测试版本)又成为测试系统的输入。根据上述6个过程,可以确定建立软件测试管理体系的6个步骤:识别软件测试所需的过程及其应
2、用,即测试规划、测试设计、测试实施、配置管理、资源管理和测试管理;确定这些过程的顺序和相互作用,前一过程的输出是后一过程的输入。其中,配置管理和资源管理是这些过程的支持性过程,测试管理则对其他测试过程进行监视、测试和管理;确定这些过程所需的准则和方法,一般应制订这些过程形成文件的程序,以及监视、测量和控制的准则和方法;确保可以获得必要的资源和信息,以支持这些过程的运行和对它们的监测;监视、测量和分析这些过程;实施必要的改进措施第2页/共41页8.2测试管理的基本内容8.2.1测试组织管理主要任务:组织和管理测试小组确定测试小组的组织模式安排测试任务估计测试工作量确定应交付的测试文档管理测试件确
3、定测试需求和组织测试设计等。第3页/共41页8.2测试管理的基本内容8.2.2测试过程管理软件测试不等于程序测试,软件测试贯穿于软件开发整个生命周期,但软件测试过程管理在各个阶段的具体内容是不同的。在软件开发的每个阶段,测试任务的最终完成都要经过从计划、设计、执行到结果分析、总结等一系列步骤,这便构成了软件测试的一个基本过程。因此,软件测试过程管理主要集中在测试准备、测试计划、测试用例设计、测试执行、测试结果分析,以及如何开发和使用测试过程管理工具上。第4页/共41页8.2测试管理的基本内容8.2.2测试过程管理基本内容包括:测试准备测试计划阶段测试设计阶段测试执行阶段测试结果分析第5页/共4
4、1页8.2测试管理的基本内容测试准备:确定测试组长,组建测试小组,参加有关项目计划、分析和设计会议,获取必要的需求分析、系统设计文档,以及相关产品/技术知识的培训。第6页/共41页8.2测试管理的基本内容测试计划阶段:测试计划阶段的整体目标是为了确定测试范围、测试策略和方法,以及对可能出现的问题和风险,所需要的各种资源和投入等进行分析和估计,以指导测试的执行。一个好的测试计划应该包括以下几方面的内容:目的完成测试的标准测试策略资源配置责任明确进度安排测试用例库及其标准化组装方式工具第7页/共41页8.2测试管理的基本内容测试设计阶段:软件测试设计建立在测试计划之上,通过设计测试用例来完成测试内
5、容,以实现所确定的测试目标。软件测试设计的主要内容有:制定测试技术方案设计测试用例设计测试用例集合 测试开发设计测试环境所设计的测试技术方案是否可行、是否有效、是否能达到预定的测试目标;所设计的测试用例是否完整、是否考虑边界条件、能否达到其覆盖率要求;所设计的测试环境是否和用户的实际使用环境接近等。第8页/共41页8.2测试管理的基本内容测试执行阶段:建立和设置好相关的测试环境,准备好测试数据,开始执行测试。测试执行可以手工进行,也可以自动进行。自动化测试借助于测试工具,运行测试脚本,达到测试结果,所以管理比较简单,而手工测试的管理相对要复杂些。第9页/共41页8.2测试管理的基本内容测试结果
6、分析:测试结束后,对测试结果进行分析,以确定软件产品的质量,为产品的改进或发布提供数据和支持。在管理上,应做好测试结果的审查和分析,做好测试报告的撰写和审查工作。第10页/共41页8.2测试管理的基本内容8.2.3资源和配置管理资源管理人力资源:测试人员的数量及其测试技能,在测试项目中所需的测试人员和要求在各个阶段是不同的。环境资源:建立测试环境所需要的计算机软件资源和硬件资源的总和。硬件提供了一个支持操作系统、应用系统和测试工具等运行的基本平台,软件资源则包括操作系统、第三方软件产品、测试工具等。第11页/共41页8.2测试管理的基本内容8.2.3资源和配置管理配置管理在团队开发中,标识、控
7、制和管理软件变更的一种管理,是通过在软件生命周期的不同时间点上对软件配置进行标识并对这些标识的更改进行系统控制,从而达到保证软件产品完整性和可溯性的过程。基本过程:配置标识:标识组成软件产品的各个组成部分并定义其属性,制定基线计划;配置控制:控制对配置项的修改;配置状态发布:向相关组织和个人报告变更申请的处理过程、允许的变更及其实现情况;配置评审:确认受控配置项是否满足需求等。第12页/共41页8.2测试管理的基本内容8.2.4测试文档管理测试文档的类型测试计划:详细规定测试的要求,包括测试的目的和内容、方法和步骤,以及测试的准则等。测试分析报告:用来对测试结果进行分析说明。软件经过测试后,应
8、给出评价的结论性意见,软件的能力如何,存在哪些缺陷和限制等等。测试文档的管理文档的分类管理文档的格式和模板管理文档的一致性管理文档的存储管理第13页/共41页8.2测试管理的基本内容SQAP:软件质量保证计划,每个软件测试产品一个。SVVP:软件验证和确认测试计划,每SQAP一个。VTP:验证测试计划:每个验证活动一个。MTP:主确认测试计划,每个SVVP一个。DTP:详细确认测试计划,每个活动一个或多个。TDS:测试设计规格说明,每个DTP一个或多个。TCS:测试用例规格说明,每个TDSTPS一个或多个。TPS:测试步骤规格说明,每个TDS一个或多个。TC:测试用例。每个TCS一个。第14页
9、/共41页8.2测试管理的基本内容由图8-1可以看出:每个软件产品都有一个软件质量保证计划,每个软件质量保证计划有一个软件验证和确认测试计划,软件验证和确认计划有一个主确认测试计划。每个验证测试活动有一个验证测试计划,每个确认测试活动有一个或多个测试计划,每个测试计划有一个或多个测试设计规格说明,每个测试设计规格说明有一个或多个测试步骤规格说明,每测试设计规格说明测试步骤规格说明有一个或多个测试用例规格说明,每个测试用例规格说明有一个测试用例。第15页/共41页8.2测试管理的基本内容VTR:验证测试报告。每个验证活动一个。TPS:测试步骤规格说明。TL:测试记录。每测试期一份。TIR:测试事
10、故报告。每个事故一个。TSR:测试总结报告。一个。第16页/共41页8.3 测试管理的原则软件生存周期模型为我们提供了软件测试的流程和方法,为测试过程管理提供了依据。但实际的测试工作是复杂而烦琐的,不会有哪种模型完全适用于某项测试工作。因此,应从不同的模型中抽象出符合实际现状的测试过程管理理念,依据这些理念来策划测试过程,以不变应万变。当然测试管理涉及的范围非常广泛,如测试组织管理、测试过程管理、测试文档管理、人力资源管理、风险管理、进度管理等等,第17页/共41页8.3 测试管理的原则尽早测试全面测试全过程测试迭代的测试第18页/共41页8.3 测试管理的原则尽早测试:测试人员尽早参与软件项
11、目,及时开展测试的准备工作,包括编写测试计划、制定测试方案以及准备测试用例等尽早开展测试执行工作,即一旦单元模块完成代码编写就开展单元测试,一旦模块代码被集成为一个相对独立的子系统,便可以开展集成测试,一旦有软件系统提交,便可以开展系统测试工作,并对测试结果进行评估第19页/共41页8.3 测试管理的原则全面测试:对软件的所有产品进行全面的测试,包括需求规格说明分析、概要设计规格说明、详细设计规格说明以及源程序等软件开发及测试人员应全面参与到测试工作中第20页/共41页8.3 测试管理的原则全过程测试:测试人员应充分关注软件开发过程,对开发过程的各种变化及时做出响应。例如开发进度的调整可能会引
12、起测试进度及测试策略的调整,需求的变更会影响到测试的执行等等测试人员应对测试的全过程进行全程的跟踪,例如建立完善的度量与分析机制,通过对自身过程的度量,及时了解测试过程信息,调整测试策略。第21页/共41页8.3 测试管理的原则迭代的测试:瀑布模型在大量软件开发实践中也逐渐暴露出了许多缺点,其中最为突出的是该模型缺乏灵活性,无法通过开发活动澄清本来不够确切的软件需求,可能导致开发出的软件并不是用户真正需要的软件,只能进行返工或不得不在维护中纠正需求的偏差,给软件开发带来了不必要的损失。为适应不同的需要,人们在软件开发过程中摸索出了螺旋、迭代等诸多模型,这些模型中需求、设计、编码工作可能重叠并反
13、复进行的,这时的测试工作也将是迭代和反复的。如果不能将测试从开发中抽象出来进行管理,势必使测试管理陷入困境。第22页/共41页8.4测试管理的实践本节以一个构件化的ERP项目,说明其系统测试的几个关键过程管理。假设项目的前期需求不是很明确,开发周期相对较长,为了对项目进行更好的跟踪和管理,项目采用增量和迭代模型进行开发。整个项目开发分三个阶段:第一阶段实现进销存的简单功能和工作流;第二阶段实现固定资产管理、财务管理,并完善第一阶段的进销存功能;第三阶段增加办公自动化管理。每一阶段工作是对上一阶段成果的一次迭代和完善,同时加入新的功能。第23页/共41页8.4测试管理的实践策划测试过程需求分析变
14、更控制度量与分析测试过程可持续改进第24页/共41页8.4测试管理的实践策划测试过程该系统的三个阶段具有相对的独立性,所以可采用“独立、迭代”的测试原则,对测试过程进行独立策划,以每一阶段完成所提交的阶段性产品作为系统测试准备的就绪点,在就绪点及时开展测试。因此,在该系统开发过程中,系统测试组可开展三个阶段的系统测试,每个阶段系统测试具有不同的侧重点,目的在于更好地配合开发工作尽早地发现软件故障,降低软件成本。第25页/共41页8.4测试管理的实践需求分析本系统开发过程中,需求的获取和完善贯穿于每个阶段。对需求的把握很大程度上决定了测试能否成功。系统测试不仅仅要确认软件是否正确地实现要求的功能
15、,还要确认软件是否满足用户的需要。依据“尽早测试”和“全面测试”的原则,在需求获取阶段,测试人员就可参与到对需求的分析讨论之中。测试人员与开发人员及用户一起分析需求的完善性与正确性,同时从可测试性角度为需求文档提出建议。同时,测试人员结合前期对项目的了解,很容易制定出了完善的测试计划和方案,将阶段性产品的测试方法及进度、人员安排进行策划,使整个项目的进展有条不紊。实践表明,测试人员尽早期参与到需求的获取和分析中,有助于加深测试人员对需求的把握和理解,提高需求文档的质量。在需求人员把握需求的同时,测试人员制定出早期测试计划和方案,及早准备测试活动,可大大提高测试效率。第26页/共41页8.4测试
16、管理的实践变更控制在软件开发过程中,变更往往是不可避免的,变更也是造成软件风险的重要因素之一。依据“全过程测试”的原则,测试小组可以密切关注软件开发过程,根据进度计划的变更调整测试策略,依据需求的变更及时补充和完善测试用例。第27页/共41页8.4测试管理的实践度量与分析在ERP项目中,我们在测试过程中对不同阶段的故障数进行了度量,并分析测试执行是否充分。分析表明:相同时间间隔内发现的故障数量收敛状态。对不同功能点的测试数据覆盖率和发现的问题数进行度量分析,可以分析测试用例的充分性与故障发现率之间的关系。通过统计分析出测试数据与故障发现率之间的关系,可以及时调整测试用例编写策略,从而帮助测试人
17、员判断测试成本和收益间的最佳平衡点。实际上,度量是对测试过程进行跟踪的结果,是及时调整测试策略的依据。对测试过程的度量与分析能有效提高测试效率,降低测试风险。同时,度量与分析也是软件测试过程可持续改进的基础。第28页/共41页8.4测试管理的实践测试过程可持续改进目前已有许多可供参考的测试过程管理思想和理念。但信息技术发展一日千里,新技术不断涌现,这就注定测试过程也需要不断的改进。基于度量与分析的可持续过程改进方法,可以自定义需要度量的测试过程数据,将收集来的数据加以分析,找出需要改进的因素。在不断的改进中,同时调整需要度量的测试过程数据,使度量与分析始终为了测试过程可持续改进服务,从而使测试
18、过程管理不断完善,测试活动始终处于优化状态。第29页/共41页8.5 常用的测试管理工具8.5.1 TestDirector 测试管理工具8.5.2 其他测试管理工具8.5.3 国产测试管理工具TestCenter第30页/共41页8.5 常用的测试管理工具8.5.1 TestDirector 测试管理工具TestDirector用于对白盒测试和黑盒测试的管理,可以方便地管理测试过程,进行测试需求管理、计划管理、实例管理、缺陷管理等。功能模块需求管理测试计划管理测试执行管理缺陷管理功能第31页/共41页8.5 常用的测试管理工具需求管理TestDirector的需求管理模块中,需求是用需求树(
19、需求列表)表示的,可以对需求树中的需求进行归类和排序,可以自动生成需求报告和统计图表。四个环节Define Testing Scope:定义测试范围,包括设定测试目标、测试策略等内容;Create Requirements:创建需求,将需求说明书中的所有需求转换为测试需求;Detail Requirements:描述需求,详细描述每一个需求,包括其需求名称、创建时间、创建者、需求状态、需求优先级等信息;Analyze Requirements:分析需求,生成各种测试报告或图表,来分析和评估这些测试需求能否达到设定的测试目标。第32页/共41页8.5 常用的测试管理工具测试计划管理TestDir
20、ector的测试计划管理模块对测试计划进行管理,为测试小组提供一个统一的Web界面来协调团队间的沟通。在测试计划中,需要创建测试项,为每个测试项编写测试步骤,即测试实例,包括操作步骤、输入数据、期望结果等。七个环节:Define Testing Sreategy:定义具体的测试策略;Define Test Subject:将被测系统划分为若干个功能模块;Define Tests:为每一模块设计测试集,一个测试集可以包含多个测试项;Create Requirements Coverage:将测试需求和测试计划关联,使测试需求自动转换为具体的测试计划;Design Test Steps:为每一个测
21、试集设计具体的测试步骤;Automate Tests:创建自动化测试脚本;Analyze Test Plan:借助自动生成的测试报告和统计图表来分析和评估测试计划。第33页/共41页8.5 常用的测试管理工具测试执行管理测试执行是整个测试过程的核心,测试执行管理模块是对测试计划模块中测试项的执行过程进行管理,在执行过程中需要为测试项创建测试集进行测试。四个环节:Create Test Sets:创建测试集;Schedule Runs:制定测试执行方案;Run Tests:执行测试计划阶段编写的测试项(自动或手工编写);Analyze Test Result:借助自动生成的各种报告和统计图表来分
22、析和评估测试执行结果;第34页/共41页8.5 常用的测试管理工具缺陷管理功能TestDirector的缺陷管理贯穿作用于测试的全过程,以提供从最初的问题发现到修改错误再到检验修改结果整个过程的管理。在项目进行的过程中,随时发现问题,随时提交。五个环节:Add Defects:添加缺陷;Review New Defects:分析评估新提交的缺陷,确认哪些缺陷是要求解决的;Repair Open Defects:修复状态为Open的缺陷;Test New Build:回归测试新的版本;Analyze Defect Data:通过自动生成的报告和统计图表对缺陷数据进行分析。第35页/共41页8.5
23、 常用的测试管理工具8.5.2 其他测试管理工具Rational公司的TestManagerCompuware公司的QA DirectorRAIDS和Test Studio第36页/共41页8.5 常用的测试管理工具8.5.3 国产测试管理工具TestCenterTestCenter的核心是完成功能测试管理,能够实现测试需求管理、测试用例管理、测试业务组件管理、测试计划管理、测试执行、测试结果日志分析、测试结果分析、缺陷管理,支持测试需求和测试用例之间的关联关系,可以通过测试需求索引测试用例等。第37页/共41页8.5 常用的测试管理工具8.5.3 国产测试管理工具TestCenter主要功能测试需求管理测试用例管理测试业务组件管理测试计划管理测试执行测试结果日志察看测试结果分析缺陷管理第38页/共41页8.5 常用的测试管理工具8.5.3 国产测试管理工具TestCenter主要特色:高度的测试用例复用测试设计与测试脚本实现分离灵活的测试场景管理测试集合能够“一次定义,到处运行”第39页/共41页习题8软件测试管理的目的和意义是什么?测试组织管理的意义和内容是什么?软件测试管理工具的主要功能有哪些?我国软件测试管理工具的现状如何?如果要来管理淘宝网的测试,你会选择哪个测试管理工具?为什么?第40页/共41页感谢您的观看!第41页/共41页
限制150内