版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试过程管理与测试设计质量管理部 韩巧彬 2015年6月引言1963年,在美国发生了这样一件事:编程人员把一个FORTRAN程序的循环语句DO 5 I=1,3误写为DO 5 I=1.3。一点之差导致飞往火星的火箭爆炸,造成1000多万美元的损失。这种情况的发生,迫使人们考虑在软件投入使用之前必须进行彻底的测试。 测试过程模型介绍 软件测试过程管理 测试设计方法概述 如何成为一名合格的软件测试工程师测试过程模型介绍V模型优点:标注了测试过程中存在的不同类型的测试,反映出了测试活动与分析设计活动的对应关系,从而指明了各阶段的测试目标。缺点:仅仅把测试作为在编码之后的一个阶段,忽视了测试活动对需
2、求分析、系统设计等活动的验证和确认的功能。测试过程模型介绍W模型优点:W模型诠释了测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。缺点:在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。测试过程模型介绍W模型(续)测试过程模型介绍H模型H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备
3、,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。 测试过程模型介绍 软件测试过程管理 测试设计方法概述 如何成为一名合格的软件测试工程师软件测试过程管理 管理理念尽早测试:包含两方面的含义:第一,测试人员早期参与软件项目,及时开展测试的准备工作,包括编写测试计划、制定测试方案以及准备测试用例;第二,尽早的开展测试执行工作,一旦代码模块完成就应该及时开展单元测试,一旦代码模块被集成成为相对独立的子系统,便可以开展集成测试,一旦有BUILD提交,便可以开展系统测试工作。全面测试:包含两层含义:第一,对软件的所有产品进行全
4、面的测试,包括需求、设计文档,代码,用户文档等等。第二,软件开发及测试人员(有时包括用户)全面的参与到测试工作中,例如对需求的验证和确认活动,就需要开发、测试及用户的全面参与,毕竟测试活动并不仅仅是保证软件运行正确,同时还要保证软件满足了用户的需求。全过程测试:包含两层含义:第一,测试人员要充分关注开发过程,对开发过程的各种变化及时做出响应。例如开发进度的调整可能会引起测试进度及测试策略的调整,需求的变更会影响到测试的执行等等。第二,测试人员要对测试的全过程进行全程的跟踪,例如建立完善的度量与分析机制,通过对自身过程的度量,及时了解过程信息,调整测试策略。软件测试过程管理 管理理念(续)独立、
5、迭代的测试: 软件测试与软件开发是紧密结合的,但并不代表测试是依附于开发的一个过程,测试活动是独立的。这正是H模型所主导的思想。“独立的、迭代的测试”着重强调了测试的就绪点,也就是说,只要测试条件成熟,测试准备活动完成,测试的执行活动就可以开展。P:测试计划D:测试方案及测试用例的设计C:测试实施和错误跟踪A:测试总结与报告软件测试过程管理 测试管理中的PDCA戴明环软件测试过程管理计划与设计阶段软件测试过程管理实施测试阶段根据客户需求、系统需求制定系统测试策略, 确定所涉及到的测试类型(功能测试、界面测试、性能测试、安装测试、易用性测试、接口测试等)。制定测试进度计划。测试工具培训计划项目开
6、发期间测试人员的前期介入计划。软件测试过程管理测试计划设计测试用例。准备测试环境。测试人员技能、业务的培训定义自动化测试方案,确定对哪些功能进行自动化测试,编写自动化测试脚本。软件测试过程管理测试设计执行测试用例。执行自动化测试。按照测试方案进行性能测试、压力测试等。填写缺陷问题单。评估测试结果、分析总结测试过程。软件测试过程管理实施测试哪些功能需求经过了测试。哪些功能需求通过了测试。我们的工作进度和效率如何。我们发现了多少缺陷。已经解决了多少缺陷 。测试工作为什么可以结束了。遗留缺陷对软件有何影响。软件测试过程管理测试评估的内容通过对每轮测试BUG数的度量和分析,可以判断出各阶段的测试是否充
7、分。测试的经济学模块名称功能点数测试用例数测试用例覆盖率BUG的用例发现率模块AA6个75组12.5组/每功能点40% (6/15)模块BB30个96组3.3组/每功能点17% (7/42)模块CC15个87组5.1组/每功能点18% (5/28)模块DD16个46组2.8组/每功能点23% (5/22).软件测试过程管理测试设计度量分析 一般将同类模块进行对比:某一功能点上所覆盖的测试用例越多,BUG的用例发现率越高。再结合工作量、用例执行时间等因素进行统计分析,便可以找到适合实际情况的测试用例书写粒度,从而帮助测试人员判断测试成本和收益间的最佳平衡点。举例:管理层足够的支持一个已定义的、可
8、重复的测试过程足够的测试工具培训测试人员测试人员、开发人员和用户之间的合作用最少的测试用例达到最大的覆盖度软件测试过程管理 一个有效、成功的软件测试所必备的要素 测试过程模型介绍 软件测试过程管理 测试设计方法概述 如何成为一名合格的软件测试工程师测试设计方法概述测试阶段目的执行者主要测试方法单元测试查找独立模块中逻辑错误、数据错误和算法错误软件工程师白盒测试集成测试查找模块之间接口错误软件工程师测试人员白盒测试、自顶向下或自底向上系统测试对系统中各个组成部分进行综合性检验,确认是否满足客户需求。测试人员黑盒测试模拟用户操作 回归测试确认软件变更后是否仍满足软件需求测试人员黑盒测试模拟用户操作
9、测试与测试用户黑盒测试模拟用户操作验收测试确认软件是否满足用户需求用户、项目组测试人员黑盒测试模拟用户操作测试设计方法概述黑盒测试n黑盒测试黑盒测试将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。软件输入黑盒测试不深入代码细节输出主要用于发现以下情况:是否有不正确或遗漏了的功能在接口上,能否正确地接受输入数据,能否产生正确地输出信息访问外部信息是否有错性能上是否满足要求界面是否错误,是否不美观初始化或终止错误测试设计方法概述等价类划分法1. 1. 等价类划分等价类划分分析软件需求说明书,把输入域划分为若干部分,然后在每部分中选取代表数据形成测试用例。达到用少量代表性的测
10、试数据.取得较好的测试结果的目的.有效等价类有效等价类 是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合 利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能无效等价类无效等价类 与有效等价类的定义恰巧相反 设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。2. 等价类划分法测试用例设计(1) 对每个输入或外部条件进行等价类划分,形成等价类表,为每一等价类规定一个唯一的编号;(2) 设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆
11、盖;(3) 设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;测试设计方法概述等价类划分法(续1)例1: 输入值是学生成绩,范围是0100,(1)等价类可作如下划分有效等价类:0成绩100无效等价类:成绩100(2)设计一用例,输入值范围在0成绩100,选取符合要求的数据进行测试;(3)设计一用例,输入值范围在成绩100 ,选取符合要求的数据进行测试;例2:如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。例:输入条件说明学历可为:专科、本科、硕士、博士四种之一有效等价类
12、:专科、本科、硕士、博士无效等价类:其它任何学历测试设计方法概述边界值分析法1. 边界值分析法 对输入或输出的边界值进行测试2. 边界值分析法原则 选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据 例:程序的规格说明中规定:重量在10公斤至50公斤范围内的邮件,其邮费计算公式为。测试用例中:(1)选择正好等于边界的值:10及50(2)选好刚好大于或者刚刚小于边界的值:10.01,49.99,9.99及50.01等。测试设计方法概述因果图法1. 因果图法利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。2.因果图法的原理 因果图中使用了简
13、单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。 3因果图法测试用例的设计步骤:(1)确定软件规格中的原因和结果(2)确定原因和结果之间的逻辑关系(3)确定因果图中的各个约束(4)把因果图转换为决策表。(5)根据决策表设计测试用例。测试设计方法概述因果图法(续1)4.例子有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”,“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,
14、在送出饮料的同时退还5角硬币。(1)分析原因及结果测试设计方法概述因果图法(续2)原因c1:投入1元5角硬币;c2:投入2元硬币;c3:按“可乐”按钮;c4:按“雪碧”按钮;c5:按“红茶”按钮;中间状态11:已投币12:已按钮结果E1:退还5角硬币;E2:送出“可乐”饮料;E3:送出“雪碧”饮料;E4:送出“红茶”饮料;测试设计方法概述因果图法(续3)(2)画出因果图测试设计方法概述因果图法(续4)(3)决策表1234567891011c1:投入1元5角硬币c2:投入2元硬币c3:按“可乐”按钮c4:按“雪碧”按钮c5:按“红茶”按钮10100100101000110000011000101
15、0010010100000100000100000111:已投币12:已按钮1111111011111110010101a1:退还5角硬币a2:送出“可乐”饮料a3:送出“雪碧”饮料a4:送出“红茶”饮料(4)设计测试用例测试设计方法概述因果图法(续5)用例编号测试用例预期输出1投入1元5角,按“可乐”送出“可乐”饮料2投入1元5角,按“雪碧”送出“雪碧”饮料3投入1元5角,按“红茶”送出“红茶”饮料4投入2元,按“可乐”找5角,送出“可乐”5投入2元,按“雪碧”找5角,送出“雪碧”6投入2元,按“红茶”找5角,送出“红茶”测试设计方法概述决策表法和错误推测法1.决策表法 1)决策表是把作为条
16、件的所有输入的各种组合值以及对应输出值都罗列出而形成的表格。 2)它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。2.错误推测法 1)概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。 2)基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如: 在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。 还有,输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下
17、的例子作为测试用例。测试设计方法概述综合设计法在实际的测试方案和用例设计过程中,并不是局限于只选取其中一种设计方法,通常会选择综合设计法。例:手机游戏业务:为了确保业务健康发展,每个用户每日累计充值不超过100元,每月累计充值不超过300元。33等价类划分边界值分析错误推测因果图法测试用例设计1.一天内累计充值20元2.一天内累计充值102元 1.充值成功2.充值失败1.一天内累计充值100元2.一天内累计充值101元 1.充值成功2.充值失败1.发送“0”或“-1”至10658XXX 进行点数充值1.充值失败或报告异常1.日充值=100元,月充值=300元2.日充值300元3.日充值100元
18、,月充值100元,月充值300元 1.充值成功2.充值失败3.充值失败4.充值失败输入输入预期预期33/28 测试过程模型介绍 软件测试过程管理 测试设计方法概述 如何成为一名合格的软件测试工程师第一:专业系统的软件测试知识。软件测试作为一门专业的技术有其自身的特点,如果想在软件测试领域有所发展,专业系统的软件测试知识是必不可少的。例如:搭建测试环境、编写测试计划和用例、进行黑白盒测试、使用和开发测试工具等。如何成为一名合格的软件测试工程师第二:一定的项目经验。软件测试职业在于测试经验的积累,特别是大型的软件测试项目经验对于测试人员水平的提升是至关重要的。同时要求测试入门者具备一定的项目经验也是对软件测试负责任的体现。需求文档中的每一个需求点都会在测试需求中成为几个测试需求点,如果不够耐心,不够细心是很容易遗漏测试需求点的,而这些遗漏的地方往往是问题点,所以说认真、细心、不怕麻烦是一个好的测试人员必备的素质要求。如何成为一名合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论