1、测试规范流程于测试管理Robin Wang议程n人员介绍n公司生产情况n测试工作性质n产品质量保证n为什么加入规范n测试流程n工作介绍和展望公司生产情况n开发n质量保证n测试软件生产的三条线。从三个角度来保证生产出合格的产品。测试工作的性质n开发人员 做事n质量保证 正确的做事(过程是正确的)n测试人员 做正确的事(结果是正确的)产品质量的保证n测试主要工作,是对产品的验证,也是对开发部门工作的一个度量。n产品质量是由开发人员建立的。测试的依据n软件需求n规范(行业规范,项目规范,开发规范)n安全等其他的要求为什么加入规范n前台界面缺少一致的风格,很难使用户建立明确的心理模型,品牌延伸无从谈起
2、n代码缺乏规范是造就华佗的主要原因n各条产品线无法进行技术交流n测试人员开发人员缺乏工作依据n没有规范,我们就无法摆脱作坊式生产测试流程二、一般的测试过程介绍1.V-Model2.测试阶段介绍3.测试流程介绍2.1 V 模型(Improved)customer,user,PM,technical supportDesign/AnalysisVerify/testingVerify designValidate requirementsEngineers验收测试设计集成测试设计单元测试设计开发和测试过程的开发和测试过程的V模型模型系统规格描述系统规格描述框架设计框架设计系统测试系统测试集成测试集
3、成测试详细设计详细设计Code单元测试单元测试需求需求验收测试系统测试设计执行单元测试执行集成测试执行系统测试执行验收测试2.2.1 单元测试阶段n单元测试的内容:n1、模块接口测试n2、检查局部数据结构能否保持完整性n3、模块边界条件测试n4、模块执行路径测试n5、检查模块内部错误处理是否有效n单元测试方法:n白盒测试为主单元测试或模块测试对模块进行正确性检验的测试工作,测试用例以白盒测试为主、黑盒测试为辅.模块模块出错处理出错处理模块接口模块接口局部数据结构局部数据结构边界条件边界条件执行路径执行路径调用参数调用参数全局量定义一致性全局量定义一致性数据定义、数据定义、使用使用循环边界循环边
4、界输入边界输入边界重要路径重要路径关键路径关键路径非合理输入非合理输入系统异常系统异常单元测试检查单q逻辑和算法:正确实现了逻辑和算法q数据结构(全局和局部):使用了全局数据结构?哪些?如果有,作了哪些关于全局数据的假设?这些假设正确吗?使用了局部数据?在算法执行的所有步骤期间,保持局部数据的完整性了吗?q接口:来自调用模块的数据匹配被调用的模块的期望接收的数据?被调用模块的数据匹配调用的模块提供的数据?q独立路径:标识了所有穿过模块的独立路径?执行了吗?q边界条件:了解边界条件吗?进行了测试确保该模块在其边界条件上的适当的操作了吗?q出错处理:所有出错处理路径均执行到了吗?2.2.2 集成测
5、试阶段 n集成测试(Integration test):将通过单元测试的多个模块组合成更大的模块或子系统或产品,然后进行测试。n测试内容:各单元的接口是否吻合、代码是否符合规定的标准、界面标准是否统一等。n人员安排:既要求参与的人熟悉单元的内部细节,又要求他们能够从足够高的层次上观察整个系统。一般由有经验的测试人员和主要的软件开发者来完成集成测试的计划。集成测试n集成测试计划:集成测试计划由系统设计人员在设计阶段制定,它是和设计规格说明同时完成的。内容有:n测试的描述和范围n测试环境n测试时间表n集成次序n测试用例以及测试的预期结果等n测试方法:集成测试阶段是以黑盒法为主。2.4 系统测试n经
6、过集成测试之后,分散开发的模块被联接起来,构成完整的程序,其中各模块间接口存在的种种问题都已基本消除。测试开始进入到系统测试的阶段。n为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的测试n一般使用黑盒测试技术n一般由独立的测试人员完成n系统测试(System test):n应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。这里所谓的系统不仅仅包括软件本身,而且还包括计算机硬件及其相关的外围设备,数据及其收集传输机构,甚至掌握计算机运行的人员及其操作等。n通常意义上的系统测试包括:功能测试、压力测试(Stress test)、性能测试(Pe
7、rformance test)、容量测试(Capacity test)、用户界面测试、兼容性测试等。系统测试n压力测试:n也称为强度测试。压力测试的目的就是在软件投入使用以前或软件负载达到极限以前,通过执行可重复的负载测试,预先分析出软件可承受的并发用户极限值和性能瓶颈,以帮助软件厂商或用户优化自己的程序。n容量测试:n对软件容量的测试,能让用户明白到底此软件能一次性承担多大访问量。有了对软件负载的准确预测,不仅能让用户对软件在实际使用中的性能状况充满信心,同时也可以帮助用户最经济地规划自己的网络配置,避免无谓的硬件投入,还可以减少网络系统的宕机时间和因此带来的经济损失。系统测试n性能测试:n
8、对于那些实时和嵌入式系统,软件部分即使满足功能要求,也未必能够满足性能要求,虽然从单元测试起,每一测试步骤都包含性能测试,但只有当系统真正集成之后,在真实环境中才能全面、可靠地测试运行性能,系统性能测试就是为了完成这一任务。n压力测试、容量测试和性能测试的手段和方法很相似,有时可以交织在一起进行测试。压力测试的重点在于发现功能性测试所不易发现的系统方面的缺陷。容量测试和性能测试更着力于提供性能与容量方面的数据,以供制造者参考改进或进行广告宣传。系统测试系统测试功能测试举例功能测试举例n用户界面的测试:n符合标准和规范n直观性n一致性n灵活性n舒适性n正确性n实用性系统测试系统测试PCPCUni
9、x/MacUnix/MacWin98Win98WinMEWinMEWinNTWinNTWin2000Win2000SolarisSolarisHP-UXHP-UXOS IXOS IXOS XOS XIE5IE5IE5.5IE5.5IE6IE6NS4.7NS4.7NS6.0NS6.0n兼容性测试/配置测试n向前和向后兼容n多版本的测试n例:网站测试用例设计矩阵表系统测试系统测试系统测试其他还有一些关于测试的分类,例如:n健壮性测试n容灾测试n内存泄漏测试n并发性测试n安全性测试n配套产品测试。n实际上,这些测试都是因为测试的目的不同,而在制定测试策略和测试设计的时候有不同的侧重点。必做的测试:安
10、装测试功能测试值域测试界面测试可用性测试说明书测试配置测试加密问题测试裸机测试测试规范可选的测试:内存泄漏测试接口测试性能测试并发性测试安全性测试破坏性测试配套产品测试系统测试系统测试n测试员的效率n平均每个工作日发现4-6个Bugn平均每修正3个Bug,会引进1个新的Bugn平均75%的Bug会在单元测试阶段解决掉n平均20%的Bug会在集成测试和系统测试阶段解决掉n平均5%的Bug会被交付给用户2.2.4验收测试n系统测试结束后,在项目组看来开发和测试工作已经全部完成,可以交付使用,并与用户一起进行测试,以验证是否符合与用户事先约定的验收标准。n测试人员n产品经理或其他高级经理n开发工程师
11、n测试工程师n用户2.2.5测试阶段与测试方法测试级测试级目的目的执行者执行者测试环境测试环境测试方法测试方法单元单元从单个模块中从单个模块中发现逻辑、数据和发现逻辑、数据和运算缺陷运算缺陷软件工程师软件工程师单单独独的的;桩桩和和支撑程序支撑程序白盒测试白盒测试集成集成发现模块间接口缺发现模块间接口缺陷陷软件工程师软件工程师单单独独的的和和/或或模模拟拟;桩桩和和支支撑程序撑程序白盒测试白盒测试Top-down,bottom-up,或或outside-in系统系统测测定定软软件件是是否否满满足足需求需求软件质保组;软件质保组;软件确认组软件确认组实实际际的的环环境境(可可能能没没有有最最终的
12、硬件)终的硬件)功能测试和功能测试和ALAC回归回归确认软件经过一些确认软件经过一些小的变更或修改后小的变更或修改后是否仍满足所有的是否仍满足所有的需求需求软件质保组;软件质保组;软件确认组软件确认组实实际际的的环环境境(可可能能没没有有最最终的硬件)终的硬件)功能测试和功能测试和ALAC验收验收确定软件是否满足确定软件是否满足客户的需求客户的需求客客户户,软软件件质质保保组组和和/或项目组或项目组实实际际的的环环境境(通通常常在在客客户户方)方)功功 能能 测测 试试 和和ALAC(客客户户可可能能有自己的测试方法)有自己的测试方法)一般的软件测试过程单元单元测试测试验收验收测试测试系统系统
13、测试测试集成集成测试测试单元单元测试测试单元单元测试测试被测模块被测模块被测模块被测模块被测模块被测模块已经过测试的模块已经过测试的模块已集成已集成的软件的软件已确认已确认的软件的软件可交付可交付的软件的软件概概要要设设计计信信息息系统系统其它其它元素元素软软件件需需求求详详细细设设计计信信息息软件测试的基本过程软件测试周期示意稳定期测试计划测试计划测试计划测试计划测试设计测试设计测试设计测试设计测试开发测试开发测试开发测试开发测试执行测试执行测试执行测试执行测试评估测试评估测试评估测试评估2.3 软件测试流程及内容2.3.1 测试计划n测试计划:n收集并组织测试计划信息,将软件细化为可检验的
14、测试需求,建立测试计划n目标:沟通测试小组内部与外部的测试意图n规定测试活动的范围、方法、资源和进度n明确测试项目的特性n测试要点n测试任务细分n任务进度以及负责人n输出:测试计划测试计划测试计划模板内容包括:测试计划模板内容包括:1.测试阶段选择 2.各测试阶段目标及要求n测试目标:检测需求规格说明书中定义的所有需求是否已实现并达到要求。n测试范围:需覆盖系统所有模块或相关接口,可将所有主要功能模块列举出来。n技术(说明主要测试方法)3.各测试阶段资源要求及时间安排 4.测试控制n设计测试用例的原则n测试过程与操作步骤 n测试过程中产生的记录 5.测试完成准则n功能性测试用例通过率达到100
15、;n满足需求规格说明书中的系统性能要求 6.测试文档输出 测试计划n计划测试工作中,小组成员应该就那些问题达成一致?n产品质量目标n什么人/设备、任务/作用是什么、在哪里、如何联系/使用n软件产品的术语,工作产品以及里程碑的定义n团队之间的责任(组间协调)n哪些要测试、哪些不要n测试阶段的划分,测试阶段的进入/退出标准n测试策略:使用的测试技术、测试工具、测试优先级n测试资源要求n每一个测试员的任务分配n测试用例设计和维护策略n缺陷管理办法n版本修改与提交的程序/方式/流程/频度/条件n测试工作量和缺陷的度量n测试过程中风险和问题如何解决2.3.2 测试设计n测试设计步骤n1、理解软件和测试目
16、标n2、设计测试用例n3、运行测试用例并处理测试结果n4、评估测试用例和测试策略n做测试设计的时机:n设计阶段是做测试计划和测试设计的最好时机。n测试设计步骤既强调目的性也强调计划性n目标是追求测试效率和测试结果n文档化和按部就班一般会降低管理难度,增强计划性n文档化和按部就班有时候会适得其反,尤其是扼杀测试人员的经验作用和灵感测试设计测试设计模板的内容包括:1.测试需求分析n测试需求(如开发的主要目标、跨平台性要求等)n测试内容简介及重点(选取的测试项,如安装测试、功能测试、性能测试、加密测试等)n测试目标2.测试环境及内容n测试环境(硬件和软件)n测试内容(测试项,如安装测试、功能测试、业
17、务测试、加密测试、安全测试、性能测试、文档测试等)n测试方法n测试用例(可使用附件,初期可能只提供测试功能点,但在测试过程中应是不断完善的过程)n测试工具(bug管理平台及其他测试工具等)3.测试规划n测试资源n测试时间段n测试规划(周期安排,可以用Project,每个周期的测试重点等)n测试完成标准4.缺陷管理5.风险预测和防范2.3.3 测试用例n测试用例:n没有标准文档格式n模板包含的内容:n标题和编号、版本号、修改记录等n模块功能名称n设计可能有的操作(包括测试步骤和输入)n预期输出和错误发现方法n是否通过(是否与期望结果一致)n与bug库对应的ID号n测试用例的设计:n准备:设计说明
18、书(特性,要求,验证标准)n广泛地交流(对产品的充分理解)n性能估算(说明书设计要求,已往的经验)n测试用例的选择应该满足:发现错误可能性大的输入数据或操作;被测程序的执行结果应该是可判定的;测试的执行过程和结果是可以再现的。n要求:测试环境;步骤;标准等。测试用例的设计测试用例n理解测试用例:n测试用例是每一个测试员要做的最重要的工作n从执行测试用例开始n测试用例执行情况和效果应该可以被跟踪n测试用例不应该有重复n测试用例应该充分,足够多n测试用例是证明真正进行过该项测试的证据n好的测试用例n关键路径,可以重复使用n全面的输入输出的设计n需求/功能的覆盖性n组织和管理测试用例n应该形成测试用
19、例库n是总结和积累的过程n测试的执行:建立一套完整的CASE管理,TASK管理系统。2.3.4 测试的执行TEST PLANTEST SUITE1TEST RUN1TEST RUN2TEST RUN nTEST RUN nTEST RUN nTEST RUN nTEST TASK1TEST TASK2TEST TASK nTEST TASK nTEST TASK nTEST SUITE2TEST SUITE nTEST SUITE nTEST SUITE nTEST SUITE nTEST SUITE nModule 1Module 2Module nModule nModule nModule nCase 1Case 2Case nCase nCase nCase n测试执行测试的执行过程n选择测试用例库中的测试用例运行n选择新设计的测试用例运行n记录中间步骤和结果n记录下执行过程中的灵感n但不要轻易修改本次执行任务n对测试结果分析,并尽量重现和优化错误步骤n详细填写缺陷报告并提供尽可能多的信息,尽可能提供错误分析和修改建议n认真审核错误处理结果并及时关闭缺陷报告工作介绍和展望n目前的产品线状况n测试人员的安排n测试人员需要的技能n测试培训工作培训列表
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100