测试工程师标准PPT课件.ppt
产品测试工程与实践,和谐共赢 分享成长,bmi产品测试,内容提要 bmi,1、产品质量与测试2、产品测试流程与方法3、产品测试管理体系4、产品测试度量与绩效,bmi,Module I产品质量与测试,产品质量与测试 bmi,1、产品质量分析2、理解产品测试3、产品测试策略,产品质量感性认识 bmi,产品质量搭建产品与客户的桥梁识 bmi,质量符合要求的程度,产品/服务固有特性,客户要求和期望,符合,0 50% 100%,1、谁是客户? 2、如何操作?,产品质量搭建产品与客户的桥梁识 bmi,符合,客户需求,客户需求,产品测试,产品开发,沟通,指导,实现,产品质量客户质量 bmi,P包装,L生命周期成本,客户质量,质量越高越好吗?,P包装,P性能,E易用,L生命周期成本,S接受程度,S价格,A可获得性,A保证,客户质量,产品质量标杆分析 bmi,P包装,P性能,E易用,A保证,L生命周期成本,S接受程度,S价格,A可获得性,客户质量,产品质量研发质量 bmi,产品需求,客户/市场,管理者,制造/服务,测试,开发,测试定义两种观点 bmi,什么是测试?Glen Myers -测试是为了发现错误而运行产品/执行程序的过程 -一个好的测试用例很可能找到尚未发现的错误 -一个成功的测试是指发现了至今未发现的错误的测试Hetzel -测试是对系统建立信心的过程 -测试是评估软件或系统的品质或能力的一种积极的行为 -测试是对产品/软件质量的度,测试定义融合 bmi,我们认为测试是为了: -发现系统存在的问题(测试的态度) -树立对系统的信心 -增强团队对系统的熟悉程度,了解系统固有缺陷(known issues),测试定义调试与测试 bmi,目的的差异 过程的规范性 过程的可重复性具体操作主体 采用的技术,测试策略WHY? bmi,产品经理:测到什么时候,产品才没问题?测试工程师:如果再测一遍,肯定还能发现问题! -我们如何面对这种局面?,测试策略 bmi,测试策略 -明确测试重点 -选择测试方法重要的测试策略 -客户化测试 -尽早测试 -Good Enough -80/20,测试策略客户化测试 bmi,系统中有很多错误客户遇到的错误只占很小比例 针对客户最容易遇到的错误进行测试,以便改进测试的有效性IBM:客户看到的57%以上的故障是由占总数2%以下的错误引起的比如:静态电流过大引起的3个表面问题?,测试策略测试等级 bmi,-不同系统/子系统需要不同的测试质量要求Class A灾难式的影响Class B危险的影响Class C重要的影响Class D次要影响,测试策略测试等级 bmi,接触保护和外来物保护0-无保护1-防50mm直径的物体2-防12.5mm直径的物体3- 2.5mm4- 1mm5-6-,防水保护等级0-无保护1-垂直下落的水滴不引起损坏2-3-等等,测试策略尽早测试 bmi,不能依赖产品系统测试前期的评审模块级的测试 在产品部署之后发现问题再修复,这通常要多花费100到1000倍的成本。要防患于未然。在特定的时间达到既定目标,在整个项目生命周期不断对质量进行检验和管理必不可少。,测试策略Good Enough bmi,权衡投入/产出比的原则,不要不充分不要太过分,效益,测试程度,测试策略Pareto bmi,一般情况下,在分析、设计、实验阶段的评审和测试工作,能发现避免80%的错误,而系统测试能找出16%的错误,最后有约5%的错误在用户大范围、长时间的使用后才会暴露出来,因此测试只能保证尽可能多地发现问题,不能完全发现问题。,测试策略小结 bmi,测试的复杂性 1、测试的完备性 2、增加新问题测试的几个策略 1、客户化测试 2、测试的等级 3、尽早测试 4、投入产出比 5、80/20原则,bmi,Module II产品测试流程与方法,产品测试流程与方法 bmi,产品开发与测试 产品测试工程模型 产品测试过程分析 模块级测试过程分析 测试自动化及相关工具,产品开发与产品测试 bmi,产品开发生命周期,产品测试工程模型-IPO bmi,产品开发生命周期,产品测试工程模型-测试过程 bmi,Defect tracking,测试工程 1、测试计划 2、测试设计 3、测试开发 4、测试执行 5、测试评估 6、测试报告 7、缺陷跟踪,产品测试工程-测试输出 bmi,1.测试计划:指明测试范围,方法,资源,以及相应测试活动的时间进度安排表的文档。,计划测试,计划测试,1.测试计划:指明测试范围,方法,资源,以及相应测试活动的时间进度安排表的文档。,计划测试,2.测试方案:指明为完成软件或软件集成的特性的测试而进行的设计测试方法的细节的文档。,设计测试,1.测试用例:指明为完成一个测试项的测试的输入,预期结果,测试执行条件等因素的文档。,实现测试,1.测试报告:指明执行测试结果的文档。,记录测试,1.测试规程:指明测试活动执行序列的文档。,指导测试,产品测试工程模型-测试等级 bmi,测试策略和计划,系统测试计划,系统测试执行,系统测试设计,系统测试环境准备,集成测试计划,集成测试执行,集成测试设计,集成测试环境准备,模块测试计划,模块测试执行,模块测试设计,模块测试环境准备,需求规格,总体架构,模块测试,系统测试,集成测试,模块设计,实现,产品开发与产品测试-异步开发 bmi,基本组件1/基础技术1基本组件2/基础技术2核心组件m/核心技术m,产品平台是整个系列产品所采用的的共同要素的集合,包括共用的系统构架、子系统、模块、组件、核心技术。通过公共产品平台,可以减少开发工作量,缩短上市周期TTM,产品平台,产品开发与产品测试增量开发模式 bmi,试产验证测试SVT,产品发布,非正式确认,增量发布,硬件开发,就绪评审,软件开发,测试开发,产品,Transfer to test,TR4,产品需求规格,TR5,TR6,正式确认,模块,软硬件开发测试,中试样机测试SIT,工程样机测试SDV,特点:流程并行,测试人员参与到开发中,即强烈地介入开发前段。,UTMITMST-BBIT,BBFV,产品开发与产品测试-增量测试 bmi,试产验证测试SVT,产品发布,非正式确认,增量发布,硬件开发,就绪评审,软件开发,测试开发,产品,Transfer to test,TR4,产品需求规格,TR5,TR6,正式确认,模块,软硬件开发测试,中试样机测试SIT,工程样机测试SDV,BBFV和SDV是Build的活动,对每个Build都要进行BBFV和SDV的活动,UTMITMST-BBIT,BBFV,产品开发与产品测试-原型开发与测试 bmi,开发验证,评价方案识别风险清除风险,决定目标方案和约束,下一阶段 计划,产品级测试-概念阶段 bmi,68weeks,PDT,参与项目和制定概念阶段计划,参与市场需求分析与验证,负责收集可测性方面的需求,共同开发产品需求包需求和产品概念并进行技术评审,初步制定测试策略,参与概念决策评审,产品级测试-测试需求分析 bmi,测试需求,可测性需求,产品需求,测试需求,可测性需求,产品需求,概念阶段-DFT bmi,可测性:系统和设备能及时准确地确定其工作状态(可工作、不可工作、工作性能下降)并隔离其内部故障的一种涉及特性。-以提高可测性为目的进行的设计称为可测性设计,简称DFT(design for testability),优化设计使电路/模块便于测试,便于发现定位、隔离和解决异常问题。-DFT是设计特性,完全由产品设计决定。最终用户是不可见的。举例-DFT面向全生命周期不同测试过程,是调试/验证测试、生产测试、维护测试的基础。-可测性也可以通过可控性、可观性来度量。要改善产品的可测性指标,必须在产品设计阶段就进行良好的可测性设计。问题:什么是DFT?,概念阶段-DFT bmi,内嵌自测试BIST、测试观测点、测试控制点、故障隔离点。,测试需求,可测性需求,产品需求,概念阶段-DFT bmi,内嵌自测试BIST、测试观测点、测试控制点、故障隔离点。,单元级测试控制台,系统级测试控制台,子系统级控制台,模块级控制台,外部输入输出通道,内置自测试,隔离与定位,测试控制点,测试观测点,内置自测试,隔离与定位,测试控制点,测试观测点,系统,系统测试,模块测试,内置自测试,隔离与定位,测试控制点,测试观测点,单元测试,概念阶段-DFT bmi,产品测试需求-产品进行哪些测试,可以从测试需求中裁减而来。-产品如何进行这些测试,要说明以下问题: 哪些测试测试是手动测试,哪些是自动测试? 测试数据源是内置在系统中,还是外部提供? 测试数据的采集和处理是内置的,还是外置的? 测试数据采集装置的控制是内置的,还是外置的? 测试数据源的控制是内置,还是外置? 测试数据的处理是内置,还是外置?产品可测性需求-调测接口。-命令集-调测控制-测试信息存储与输出-系统资源,概念阶段-测试策略分析 bmi,产品测试策略(在计划阶段进一步考虑)1、目的2、范围3、关键技术与研发策略分析4、测试设计策略 4.1特性1测试方案 4.n特性n测试方案5、BBFV测试策略6、BUILD测试策略7、SIT系统集成测试策略8、BETA测试策略9、测试环境筹备计划 测试环境需求分析/工具仪器的可获得性风险评估10、自主开发工具详细分析11、附件,产品级测试-计划阶段 bmi,1012weeks,PDT,确定、分配、增加外围测试成员计划阶段开工,制定计划阶段计划,参与技术评审2,测试专利分析,参与技术评审3及制定领域的E2E计划,参与计划决策评审,负责制定验证测试计划,开发产品测试方案,测试工具设计,计划阶段-测试与验证计划 bmi,1、目的2、范围3、关键日期、里程碑和交付件4、总体测试策略5、 E2E测试计划WBS6、资源需求计划 6.1 人力资源需求计划 6.2 工具与仪器设备需求计划 6.3 其他需求计划7、组织和职责8、依赖性和存在的问题9、风险管理10、附件,计划阶段-测试方案 bmi,1、被测对象分析2、测试特性分析 应测试的特性 不应测试的特性3、测试设计综述4、测试模型5、测试需求6、测试设计与执行 6.1 测试工具/代码设计 6.2 测试特性分析 6.3 设计与执行 原则 方法,测试方案产品测试范围 bmi,1、指标测试2、功能测试3、性能测试4、压力测试5、容限/边界测试6、容错测试7、故障相关性测试8、配置测试9、自动化测试,10、EMC测试11、环境测试12、可靠性测试13、安全性测试14、兼容性测试15、一致性测试16、可用性测试,测试方案产品测试范围 bmi,十、EMC测试 EMC定义:电磁兼容(EMC)是对电子产品在电磁场方面干扰大小(EMI)和抗干扰能力(EMS)的综合评定,是产品质量最重要的指标之一,电磁兼容的测量由测试场地和测试仪器组成。 -主要的测试项 CE-传导发射 ESD-静电 EFT-瞬态脉冲干扰群 DIP-电压跌落 CS-传导敏感度 RS辐射敏感度 Surge-浪涌,测试方案产品测试范围 bmi,十一、环境测试 目的:是将电子产品暴露于人工模拟环境中,一次评价元器件、设备的性能。 -实验顺序 预处理 初始检测 试验(条件试验) 恢复 最后检测 环境试验包括:高温、低温、温度冲击(气态及液态)、浸渍、温度循环、低气压、高低温低气压、恒定湿热、交变湿热、高压蒸煮、砂尘、耐爆炸、盐雾腐蚀、气体腐蚀、霉菌、淋雨、太阳辐射、光老化等。,测试方案产品测试范围 bmi,十一、环境测试 目的:是将电子产品暴露于人工模拟环境中,一次评价元器件、设备的性能。 -实验顺序 预处理 初始检测 试验(条件试验) 恢复 最后检测 环境试验包括:高温、低温、温度冲击(气态及液态)、浸渍、温度循环、低气压、高低温低气压、恒定湿热、交变湿热、高压蒸煮、砂尘、耐爆炸、盐雾腐蚀、气体腐蚀、霉菌、淋雨、太阳辐射、光老化等。,测试方案产品测试范围 bmi,十二、可靠性测试 -定义:是对产品的可靠性进行调查、分析和评估的一种手段。 -目的: 发现产品在设计、材料、工艺方面的缺陷。 确认是否符合可靠性的定量要求。 为改善产品的可靠性提供信息。-1、环境应力筛选(Environment stress screen) 向产品施加环境和电应力,将其内部缺陷加速变成故障。 施加应力大小和检测能力,决定筛选效果。-2、可靠性验证试验 可靠性鉴定试验、可靠性验收试验,均属统计试验。,测试方案产品测试范围 bmi,十二、可靠性测试 -3、可靠性增长试验 基本过程,故障报告闭环系统,(再)设计,故障检测,测试方案产品测试范围 bmi,十三、安全性测试 -安全性审查及试验项目:燃烧试验、标记检查、抗抗电强度等,测试方案产品测试范围 bmi,十五、一致性测试 -定义: 在大批量的生产中,或长时间工作,或在不同环境下,对产品的器件,单板和系统性能指标的一致性验证与测试的过程。-目的: 在产品拷贝过程中,通过测试样本之间的差异性,获得这些不一致性对对产品运行效果的影响,通过找出不一致性的规律和原因(人、机、料、法、环、测等5M1E因素),找到使产品趋于一致性的改进办法,是产品在批量拷贝时达到一定的产品稳定性。 稳定的偏差不可怕,最令人头疼的是产品性能不可控!,测试方案产品测试范围 bmi,十五、一致性测试 -测试内容和方法: 1、器件一致性验证:资料书、批量器件、不同批次间、 小批替代 2、单板一致性验证 3、系统一致性验证,测试方案产品测试范围 bmi,十六、可用性测试 -定义:指产品符合用户应用要求情况。 -目的:主要考虑产品是否符合实际应用。,产品测试开发阶段 bmi,十六、可用性测试 -定义:指产品符合用户应用要求情况。 -目的:主要考虑产品是否符合实际应用。,产品级测试开发阶段 bmi,测试工具详细设计开发,协助,监督单元测试,集成测试工作的开展,参与技术评审4,技术评审4A,技术评审5,领导系统设计与验SDV原型机,内部标杆测试,确定BETA测试用户,测试设计、开发,生产测试设计开发,系统集成测试SIT初始产品,其他功能活动:制造工艺、开发、技术支持准备,发布会、物料订购,测试设计分层模型 bmi,-分层模型定义:为了分层次的开展系统测试活动,提高测试的针对性,根据产品的不同阶段和测试需求,将系统测试活动分层展开: 1、用户层测试 2、应用层测试 3、功能、性能层测试-分层目的:底层测试更基础,高层测试要求更高系统质量。,测试设计分层模型 bmi,-用户层测试1、测试目的:从用户角度测试。2、测试方法: 1、用户经常使用或有特殊要求的功能 2、用户习惯方面的考虑 3、可维护性测试-应用层测试1、测试目的:模拟实际应用时可能产生的各种应用情况。 并测试其性能。2、测试方法:1、参照产品规格书的主业务功能。 2、在不同压力条件下,进行测试。,测试设计测试方法 bmi,-白盒测试 又称产品结构测试,通过在不同点检查产品状态,确定实际的状态是否与预期的一致。-黑盒测试 功能测试,把测试对象看成一个黑盒子,不考虑产品内部结构,只依据需求功能规说明,检查测试对象功能是否符合它的功能说明。,内部结构,I/P,O/P,I/P,I/P,O/P,测试设计白盒测试 bmi,-白盒测试1、通过在不同点检查产品状态,确定实际的状态是否与预期的一致。2、白盒测试包括:静态检查和结构测试3、结构测试。基于对象的内部逻辑知识,设计必要的测试用例,达到覆盖语句、判断、路径等。,内部结构,I/P,O/P,I/P,I/P,O/P,测试设计白盒测试 bmi,-静态测试1、代码检视/PCB监视等-静态检视方法1、可由人工进行。2、也可由工具自动进行3、代码走读4、静态测试工具,测试设计覆盖率分析 bmi,-白盒测试覆盖类型1、语句覆盖2、判定覆盖3、条件覆盖4、条件决策覆盖5、条件组合覆盖6、路径覆盖,2022/11/26,62,可编辑,判定、条件覆盖案例 bmi,If(cond1 II cond2),判定100%覆盖,条件100%覆盖,组合条件决策覆盖案例 bmi,If(cond1 & cond2) &为条件与,条件决策100%覆盖红色部分覆盖不完全,条件决策100%覆盖红色部分覆盖不完全,If(cond3 II cond4),常见测试方法 bmi,思考一下案例 测试用例(Test Case):是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。,测试设计黑盒测试 bmi,-黑盒测试定义1、功能测试,把测试对象看成一个黑盒子,不考虑产品内部结构,只依据需求功能规说明,检查测试对象功能是否符合它的功能说明。2、每个测试用例测试一个或多个功能。-黑盒测试的设计方法1、功能分解/规格导出 2、边界值分析 3、等价类划分 4、错误推测法 5、因果分析法 6、状态迁移法 7、随机测试法,黑盒测试规格导出法 bmi,规范导出的测试是根据相关规格描述来设计测试用例。每一个测试用例可以测试一个或多个规范陈述语句,一个比较实用的方法是根据陈述规范所用语句的顺序来相应地为被测单元设计测试用例。 例:考虑一个计算平方根的函数的规格: 输入:实数 输出:实数 规格:1、当输入一个0或大于0的数时,返回其正平方根。2、当输入小于0的数时,显示错误信息:平方根非法输入值小于0“,并返回0.测试用例:1、用例1:输入4,输出22、用例2:输入-4,显示错误信息“平方根非法输入值小于0”,并返回0.,黑盒测试等价类划分 bmi,穷举测试的办法由于数量太大,以至于实际无法完成,我们必须从中选取一部分数据作为测试用例。问题在于如何选。 等价类划分,就是首先将输入的各种情况划分成若干等价类。 所谓等价类就是将某个输入域的集合,在一个集合中每个条件都是等效的,如果其中一个的输入不能导致问题发生,集合中的其他输入条件也不可能发现问题。 例:计算算术平方根的函数例子: 输入划分 输出划分 (i) = 0 (ii)=0 (b) Error 用例1:输入4,输出2 用例2:输入-4,显示错误信息“平方根非法输入值小于0”,并返回0.,黑盒测试等价类划分 bmi,-多输入等价类1、设计一个测试用例,使其尽可能多地覆盖所有有效等价类,重复这一步骤,使得所有有效等价类均被测试用例覆盖。2、设计一个测试用例,使其只覆盖一个无效等价类,重复这一步骤使所有无效等价类均被覆盖 练习 某程序规定:输入三个正整数a、b、c作为三角形三边的边长,构成一个三角形。 测试此程序(区别有效等价类和无效等价类)(构成三角形条件三角形的条件 :任意2边边长大于第3边长。) 有效等价类 :a=3 b=4 c=5 无效等价类: a、b、c不是正整数的情况,不满足三角形条件。,黑盒测试等价类划分 bmi,a=3 b=4 c=5,a、b、c为正整数,a+bc a+cbb+ca,a=1 b=2 c=3,a+b=c,a=1 b=3 c=2,a+c=b,a=3 b=1 c=2,b+c=a,a=0 b=1 c=2,a=0,黑盒测试边界值分析 bmi,边界值分析使用与等价类测试方法相同的等价类划分,只是边界值分析假定错误更多地存在于两个划分的边界上,相应地为边界上及其两侧的情况设计测试用例。,黑盒测试错误猜想 bmi,基于经验的错误猜想,是将所有发现的错误,分为不同类型存于资料库中,这个资料库可以帮助错误猜想的有效性,黑盒测试因果图 bmi,前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图。因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况利用因果图生成测试用例的基本步骤(1) 分析软件规格说明,那些是原因,那些是结果。(2) 分析软件规格说明描述中的语义.找出原因与结果之间,原因与原因之间对应的关系,画出因果图。 (3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。(4) 把因果图转换为判定表(条件桩、动作桩、条件项、动作项),黑盒测试因果图 bmi,黑盒测试实验设计 bmi,实验设计的目的: 改善平均值 降低变异试验设计是一种研究与处理多因素实验的科学方法 6西格玛方法是研究作用因素(XS)与CTQ(Y)关键质量之间的关系的方法论。,黑盒测试测试方法 bmi,有4条选择测试策略原则:1、任何情况下都必须采用边界值分析法,因为其设计出的测 试用例发现问题的能力最强。2、必要时采用等价类划分方法补充测试用例。3、采用错误推断法追加测试用例。4、如果功能说明中含有输入条件的组合情况,则一开始就采 用因果图法。,常见的测试方法-硬件测试 bmi,-基本功能测试 通信模块 控制模块-基本性能测试 误码测试 光口指标-信号质量及时序测试 信号标准特性 通用信号规范 通用时钟规范,开发阶段-测试执行-SDV bmi,-SDV过程定义 SDV是对原型机的渐增BUILD测试: SDV对一组集成产品构建模块进行评估,来确认产品的制造 或工程模型符合产品功能规格:这种分析应该是通过书面分析或者硬件和软件测试来验证与产品设计规格的符合情况 SDV测试范围包括部件、子系统和系统级测试。 例子:SDV有一项测试活动是功能测试,它确保系统工程 符合产品功能规格,并与可获得的硬件相集成。 对每个build,应测试其新增及修改部分、以及这些部分对 上一个build 所做过的测试所有可能影响的地方。,开发阶段-测试执行-SIT bmi,-SIT过程定义 系统集成测试即初始产品渐增BUILD测试。 SIT要完成全部的开发内部测试,它是对整个系统的全面测试其目的是确认产品的设计规格、认证要求、行业标准及公司标准的符合性,同时还要确认产品生命周期早期的性能和稳定性 一般在前期多个build测试的基础上,在SIT阶段,会展开一次完整的系统测试和回归测试。 SIT和SDV阶段的区别原则。例:如果原型机与初始产品没有差别, SIT就没必要测试。,开发阶段-测试执行-SIT bmi,-SIT主要活动,-产品测试分析 -测试对象分析 -测试过程质量分析:历史测试统计、本次测试与之比较 -测试对研发的评价:研发文档评价、测试问题与反馈 -评价依据 -历史测试情况 -历史测试记录及验证情况 -本次测试文档提交及审查情况 -本次测试要素问题统计表 -本次测试未实施的测试项目及说明。,测试报告 bmi,系统验证测试SVT,BETA 测试,技术评审6,测试结果评估,ESP产品发送及客户支持工作,参与可获得性评审材料,功能领域的持续活动,产品级测试验证阶段 bmi,系统认证测试和标杆测试,参与可获得性决策评审,-SVT活动定义-目的是验证制造流程,通过批量build来保证设计完整性。则一测试必须在界定好的客户发货级硬件上面实施。SVT是面向制造的测试,以保证大批量生产的可制造性。- SVT不应有新的设计或需求的验证,只针对技术评审5的结论,-SVT主要活动,开发阶段-测试执行-SVT bmi,-型式试验,型式试验(试产验证测试) bmi,型式试验是指:在设计完成后,对试制出来的新产品进行的定型试验,其试验项目比例行试验项目多,而且更加严格和苛刻,用户对刚出厂的新产品也可以要求制造厂进行出厂试验时增加一些型式试验项目(一般这些项目是事先甲乙双方协商后写进技术协议中的)。型式试验也是对产品能否满足技术规范的全部要求所进行的实验。它既是新产品鉴定中必不可少的一个环节。也是定型后产品在有改进时或经过一定时效后需要进行的一种全面性能试验。当双方有约定时或存在争议时,通常都会要求进行型式试验。,开发阶段-测试执行-SVT bmi,-目的 批量产品质量情况-引用标准和文献 企业内控标准、环境应力试验规范-试验样品 型号规格 抽样方案:样本基数、抽取样本数 样品分组 样品状态:QC产品设计更改-检验结果总结-详细试验情况 常温检测 气候环境应力试验 机械环境应力试验,一致性检验与制程能力CPK bmi,规格范围,管制上限,管制下限,中心线,用户级测试-Alpha测试 bmi,在开发完成时进行测试后仍有少量问题由用户或其他人员(微软为例)在开发人员的指导下,是在受控环境中进行,用户级测试-Beta测试 bmi,在开发测试根本完成时进行最终由用户独立进行,模块级测试-UT/MIT/MST bmi,测试策略和计划,系统测试计划,系统测试执行,系统测试设计,系统测试环境准备,集成测试计划,集成测试执行,集成测试设计,集成测试环境准备,模块测试计划,模块测试执行,模块测试设计,模块测试环境准备,需求规格,模块设计概要,单元测试,系统测试,集成测试,单元设计,实现,单元测试 bmi,-单元测试最小的被测组成部分,如软件函数、驱动电路、信号放大电路等采用:白盒为主+黑盒 的测试方法。-步骤单元测试计划,由PM项目安排并协调: 标示单元测试的风险 估计单元测试的工作量 明确单元测试的软硬件及人力需求 制定单元测试的日程表 指定工程师准备单元测试用例 以上写入单元测试计划单元测试方法:规格导出、边界值分析、等价类划分、错误猜测法注意事项:清楚模块和模块之间的关系。成败关键:意识、工具、标准确定、第三方介入,集成测试 bmi,-在单元测试基础上,按一定组装策略进行组装,关注接口,找准组装关系。采用白盒+黑盒的测试方法。,测试自动化 bmi,首先,一个企业实施测试自动化,绝对不是拍脑袋说干就能干好的,它不仅涉及测试工作本身流程上、组织结构上的调整与改进,甚至也包括需求、设计、开发、维护及配置管理等其他方面的配合。如果对这些必要的因素没有考虑周全的话,必然在实施过程中处处碰壁,既定的实施方案也无法开展。 其次,尽管自动化测试可以降低人工测试的工作量,但并不能完全取代手工测试。100的自动化测试只是一个理想目标,根据笔者的经验,即便一些如SAP、OracleERP等测试库规划十分完善的套件,其测试自动化率也不会超过70。所以一味追求测试自动化只会给企业带来运作成本的急剧上升。 再次,实施测试自动化需要企业有相对规模的投入,对企业运作来说,投入回报率将是决定是否实施软件测试自动化的最终指挥棒,笔者建议企业在决定实施软件测试自动化之前,必须要做量化的投资回报分析。此外,实施软件测试自动化并不意味着必须采购强大的自动化软件测试工具或自动化管理平台,毕竟软件质量的保证不是依靠产品或技术,更多的因素在于高素质的人员和合理有效的流程。,bmi,Module III产品测试管理,1、产品研发管理体系 2、产品测试管理体系 3、产品测试组织结构,产品测试管理 bmi,产品测试管理 bmi,产品测试管理 bmi,研发管理整体解决方案 bmi,PLM:,研发管理整体解决方案 bmi,产品生命周期管理(PLM)是针对制造业的扩展型企业解决方案,以便于在公司的各个部门、用户、供应商之间共享产品数据。PLM解决方案把你的产品-即你的利润来源放在一切活动的核心位置。PLM可以从企业资源计划系统ERP(Enterprise Resource Planning)、供应链管理SCM(Supply Chain Management)、客户关系管理CRM(Customer Relationship Management)系统中提取相关的信息,并使之与你的产品知识发生关联,进而使所有人都能够更快速、高效地工作。这样就允许在公司间的整个网络上共同工作来进行概念设计、产品设计、产品生产、产品维护,对整个网络的操作就象对一个单独的机构操作一样。PLM允许扩展型企业在公司间共享产品的业务流程和产品知识,包括从提出概念到产品退出市场整个生命周期的各个阶段。,产品研发管理-IPD bmi,产品研发管理-TS16949-APQP bmi,产品研发管理-CMMI bmi,CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。 CMM是由美国卡内基梅隆大学的软件工程研究所(SEI)创立的CMM (Capability Maturity Model 软件能力成熟度模型)认证评估,在过去的十几年中,对全球的软件产业产生了非常深远的影响。通常有以下5几个级别: 1初始级:是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理是反应式的。 2已管理级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。 3已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。 4量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。 5 优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。,产品测试管理体系-框架 bmi,产品开发与测试是姐妹关系,紧密地结合在一起,可测性需求分析,测试策略与计划,开发测试,系统集成测试,产品测试项目管理-独特性 bmi,1、案例: -周期为4个月的项目,测试阶段为1个月,但因开发延迟了2周,留 给测试的时间只有2周,怎么办?2、测试任务的依赖关系 -开发与测试 -测试资源3、测试周期的不确定性分析 -设计更改与优化 -漏测问题,产品测试项目管理-测试计划 bmi,在概念阶段和计划阶段,在四个时间点四次制定不同阶段和层次的项目测试计划。如下图:,计划制定时间点,概念启动,概念DCP,计划DCP,可获得性DCP,GA,生命周期DCP,概念阶段,计划阶段,开发阶段,验证阶段,发布阶段,生命周期管理阶段,对应的项目计划,制定概念阶段项目测试计划,制定计划阶段项目测试计划,制定项目1/2级测试计划,优化1/2级测试计划,制定3/4级测试计划,1、计划制定的最佳时机?2、计划与算命(风险管理)3、里程碑计划、基线计划与滚动计划,产品测试项目管理-项目控制 bmi,计划是会变化的变化来源于:1市场需求变化2进度异常3预测不准确4配合问题5人员变化6资源不到位7项目位置变化,一幅完美的图纸一栋坚实的大楼,这就需要对项目进行实时控制,确保计划顺利实施。,产品测试项目管理-项目控制 bmi,测试项目跟踪 个人工作任务总结/日志 个人测试工作量 个人测试进度情况 个人测试人物评价 测试项目状态报告 总体进度分析 主要问题和风险 主要偏差和反馈 测试项目状态问题报告/反馈报告 日报 周报 阶段测试报告 综合测试报告,产品测试项目管理-控制手段 bmi,1.里程碑管理:抓大放小2.项目报告:业务线与质量线制衡3.项目会议:事件驱动结合事件驱动4.项目变更控制:平衡“放”和“收”。5.预警系统:杂、难、疲、忘。6.合同书/任务书:双向承诺。7.决策评审和例外管理。8.挣值管理:综合管理预算、投入产出、进度要素9.非正规控制:润物细无声。,产品测试项目管理-项目收尾 bmi,1.交付件归档/更新项目数据库2.结束时间偏差率3.预算核算控制4.质量控制情况5.好的实践6.经验教训7. 对未来项目、流程的建议。8.遗留问题9.项目总结会。,产品测试管理-测试用例管理 bmi,1.建立测试用例库:共性化测试用例集/个性化2.测试用例管理: 一:需求跟踪矩阵RTM,二:正交跟踪矩阵,产品测试管理-配置管理 bmi,典型测试配置项1.测试策略2.测试计划3.测试用例4.测试脚本/代码5.测试环境描述思考:测试报告是不是配置项? 测试报告有没有版本?,产品的配置项:1研发过程文档2生产技术文档3管理过程文档,产品测试管理-质量保证TQA bmi,一手软一手硬 QA的独立性 引导和培训 产品过程审计,产品测试管理-评审 bmi,一个典型的评审会 首先要明确同行评审的对象是工作产品,而不是该工作产品的作者。很多时候同行评审会就像批斗会那样给作者带来很大的压力,因此需要在公司范围内要营造一种良好的气氛。 同行评审会的焦点是本次评审的准则,也就是对所有与会人员提交上来评审准备表汇总后的内容。评审会是针对问题进行讨论的,而不是业务或技术的培训会,更不是头脑风暴会,这是提高同行评审效率的关键。 评审会的主持人要注意控制会议的内容,使其始终围绕评审的准则开展讨论并记录评审会所需要收集的度量数据,以便对本次评审的效果和效率进行客观的衡量。在评审过程中,作者对准则上的问题进行逐一解答,并且将所发现的问题或缺陷进行记录。最后同行评审会产生最终的结果,一般分为:通过、有条件通过和不通过三种情况。 这个评审的结果是依据本次评审所采用的方法来确定的。达不到之前定义的本次评审的准出条款,那么本次评审就不能通过。如果绝大部分符合本次评审的准出条款,但又发现工作产品存在一定的缺陷,经过与会人员的讨论和确认,这些缺陷是可以被修复的,并且影响不大,那么本次评审可以有条件通过。但是这种情况下,主持人需要指派相应人员对发现的缺陷进行跟进,确保作者在会后对其进行修改,而且修改的结果符合要求。,产品测试组织结构-基本组织形式 bmi,职能型结构,项目型结构,矩阵型结构,产品测试组织演化 bmi,混淆阶段 没有专职测试人员 缺少完善的测试流程 测试手段单一严格区分阶段 测试部门独立 有专职的测试人员 不断完善的测试流程 测试工具技术开发专职协作阶段 专职测试人员 完善的测试流程 不断完善的测试流程 测试工具技术开发 运营测试,角色分析 协助者? 反对者? 破坏者? 建设者? 领导者?我们扮演什么角色?我们应该扮演什么角色?,微软开发团队示例 bmi,产品测试团队 bmi,测试项目经理 管理测试项目 (测试预算、进度/交付) 向研发代表汇报 向测试部经理汇报 和研发团队沟通 在项目决策时代表测试部门测试职能专家 与研发系统工程师沟通 应用测试部门的策略工具和标准 在测试部门内对交付进行质量控制,产品测试关键角色分析 bmi,测试工程师,测试项目经理,测试部门经理,产品测试工程师 bmi,测试工程师的素质要求,1沟通能力测试者需要和各种人进行沟通,既要能够和技术(开发者)人员讨论系统的设计和实现问题,又要和非技术人员(客户,管理人员)交流系统的要求和规格。2自信心通常开发人员对某项技术掌握得不如自己的人持一种轻视的态度。在这种情况下,测试者除了要有过硬的技术基础外,面对开发者持有怀疑和指责还要有足够的自信心。如果容许别人对自己指东指西,就很难开展测试工作。3幽默感在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。4超强的记忆力一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。5足够的耐心一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的世间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的。6怀疑精神可以预料,开发者会尽他们最大的努力解释每一个错误。7洞察力一个好的测试工程师能够准确捕获用户的观点,对细节超乎寻常地关注。,测试工程师 bmi,测试人员的成就感-定位正确 开发人员: 测试人员:-流程保证 结构化的产品开发流程,明确角色职责 版本提交、问题跟踪、问题定位-测试技术、平台的发展 打造测试人员的技术积累、提升的平台-测试组织的能力提升 手工工具-全面自动化,bmi,Module IV产品测试度量与绩效,产品测试度量 bmi,1、产品测试度量2、产品测试核心度量3、产品测试缺陷分析4、产品测试缺陷分析方法5、产品测试度量与绩效,产品测试度量介绍-为什么要度量 bmi,除了上帝,我只信数据 -W.Edwards Deming如果不能度量,你就不能管理如果不能管理,你就不能改进。 -Druck,产品测试度量介绍-什么是度量 bmi,-度量和测量 -测量measurement 问题数 测试用例数