《工程化测试过程和方法.ppt》由会员分享,可在线阅读,更多相关《工程化测试过程和方法.ppt(77页珍藏版)》请在金锄头文库上搜索。
1、同步科技同步科技author: henry Date: 20 Sep, 2007工程化测试过程和方法2024/8/13同步科技同步科技课程介绍目标熟悉工程化测试的过程和方法听众测试管理人员、测试工程师高级经理、项目经理应用开发人员QA人员必备条件熟悉开发生命周期对测试有基本的了解2024/8/132同步科技同步科技课程内容开展软件测试的时机测试生命周期工程化测试方法计划测试:测试需求、风险评估、测试策略、资源设计测试:黑盒白盒的用例设计、构造测试过程开发测试:脚本录制及注意事项执行测试:环境准备、缺陷记录、意外处理评估测试:评估标准、结果分析缺陷管理:缺陷生命周期、缺陷维护、缺陷分析2024/
2、8/133同步科技同步科技软件测试管理下面我们学习开展软件测试的时机尽早开展测试工作4同步科技同步科技测试人员测试人员项目持续时间项目持续时间 测试人员测试人员100%50%0%完成比率完成比率代码实现代码实现消除缺陷消除缺陷质量问题质量问题延迟上市延迟上市维护的费用维护的费用1x 10x 100x 尽早开展测试的重要性5同步科技同步科技项目持续时间项目持续时间 100%50%0%完成比率完成比率消除缺陷消除缺陷消除缺陷消除缺陷保证软件质量保证软件质量缩短上市时间缩短上市时间尽早开展测试的重要性6同步科技同步科技风险风险风险风险代码完成代码完成可靠性可靠性功能功能应用性能应用性能系统性能系统性
3、能风险风险风险风险 越早开展测试越早开展测试工作风险越小工作风险越小 传统的测试传统的测试是在代码实是在代码实现之后进行现之后进行 尽早开展测试的重要性7同步科技同步科技缺陷的代价错误被发现和纠正的越早,为修复而付出的代价却显得越小。2024/8/138同步科技同步科技软件测试管理下面我们学习软件测试生命周期:计划设计实现执行评估缺陷跟踪9同步科技同步科技开发生命周期和测试生命周期开发生命周期开发生命周期. 维护 需求定义应用定义应用开发 修订 建立 建立测试生命周期测试生命周期.执行. 执行执行.测试计划缺陷跟踪测试开发测试设计评估10同步科技同步科技测试计划测试计划定义测试项目的阶段,以便
4、于对项目进行适当的评定义测试项目的阶段,以便于对项目进行适当的评估与控制。估与控制。包括测试需求,测试策略,测试资源和测试计划。包括测试需求,测试策略,测试资源和测试计划。测试生命周期-测试计划. . . . .执行. 执行测试计划缺陷跟踪测试开发测试设计评估建立 建立 . . . . .执行 建立11同步科技同步科技测试设计测试设计设计测试的策略和方法,如:设计驱动、稳定桩设计测试的策略和方法,如:设计驱动、稳定桩等;还需要确定自动测试的内容和性能测试的内等;还需要确定自动测试的内容和性能测试的内容。容。测试生命周期-测试设计. . . . .执行. 执行.测试计划缺陷跟踪测试开发测试设计评
5、估 建立 建立. . . . .执行.建立12同步科技同步科技测试开发测试开发对已定义的测试设计进行创建或修正,并开发出对已定义的测试设计进行创建或修正,并开发出详细的测试过程、测试用例和测试脚本等。详细的测试过程、测试用例和测试脚本等。测试生命周期-测试开发. . . . .执行.执行.测试计划缺陷跟踪测试开发测试设计评估建立 建立. . . . .执行.建立13同步科技同步科技测试执行测试执行uu按照设计的测试策略和过程,执行测试用例,并按照设计的测试策略和过程,执行测试用例,并记录测试的结果。记录测试的结果。测试生命周期-测试执行. . . . .执行.执行.测试计划缺陷跟踪测试开发测试
6、设计评估建立建立. . . . .执行.建立14同步科技同步科技测试评估测试评估uu分析测试结果并判断测试的标准是否被满足(完分析测试结果并判断测试的标准是否被满足(完毕、通过等等)。毕、通过等等)。测试生命周期-测试评估. . . . .执行. 执行.测试计划缺陷跟踪测试开发测试设计评估建立建立. . . . .执行.建立15同步科技同步科技缺陷跟踪缺陷跟踪uu记录测试事件和发现的问题,提出解决它们的方案记录测试事件和发现的问题,提出解决它们的方案并进行跟踪,直到问题得到解决。并进行跟踪,直到问题得到解决。测试生命周期-缺陷跟踪. . . . .执行. 执行.测试计划缺陷跟踪测试开发测试设计
7、评估建立建立. . . . .执行.建立16同步科技同步科技工程化测试方法下面我们学习计划测试:测试需求风险评估测试进度测试策略资源评审计划生成生成测试计划测试计划17同步科技同步科技测试需求详细说明要验证的被测软件的工作情况,列出测试点,指出测试范围和任务。业务功能、流程性能指标用户界面的表现nWindowsnDialog boxesnControlsn. . .保证测试需求可被验证,有明显可衡量的结果。用户期待内容是否完成,用户期待内容是否完成,极大的影响用户满意程度极大的影响用户满意程度! !18同步科技同步科技测试需求测试需求的关键点 正确的表示测试需求确定测试需求的优先级 确定测试需
8、求的焦点核心设定测试完整性的尺度2024/8/1319同步科技同步科技测试需求测试需求来源项目组n文档(需求规格说明、用户需求、设计文档、手册)n培训n项目组会议客户n业务规则n行业参考潜在用户n已有系统n使用习惯2024/8/1320同步科技同步科技风险评估风险包括的两特性不确定性损失风险类别(根据其影响程度)灾难性的 严重的轻微的可忽略的 2024/8/1321同步科技同步科技风险评估评估角度人员及经验时间技术工具支持2024/8/1322同步科技同步科技测试进度以项目开发计划的进度为基础;以测试生命周期为裁剪对象;制定出符合项目实际情况的测试进度;2024/8/1323同步科技同步科技测
9、试进度确定测试阶段确定里程碑及对应的交付物将测试工作范围进行细化和分解,形成工作分解结构(WBS)以网络图的形式说明WBS 中各项任务的相互顺序和依赖关系估计整个测试的工期和成本2024/8/1324同步科技同步科技测试策略描述起始方法和目标:测试技术和工具测试完成的标准特殊的考虑n包括资源需求和进度表等2024/8/1325同步科技同步科技测试策略要考虑的问题:选择测试尺度时间、价值和质量的替换了解风险性使用的工具使用的一般和特殊的技术2024/8/1326同步科技同步科技测试策略项测试策略项例子例子测试的级别测试的级别: :系统系统测试类型测试类型: :功能功能技术技术: : 为每个主要功
10、能建立测试过程为每个主要功能建立测试过程. . 所有夜间进行的测试是否被执行,所有夜间进行的测试是否被执行, 数据数据/ /结果是否得到验证结果是否得到验证完成尺度完成尺度: : 所有的测试过程被执行所有的测试过程被执行 所有易出问题的功能必须被执行所有易出问题的功能必须被执行. . 严重性级别为严重性级别为1 1或或 2 2的缺陷不再出现的缺陷不再出现 其它因素其它因素: : 测试必须在下午测试必须在下午7:007:00以后到上午以后到上午 9:009:00之前进行之前进行. .测试策略2024/8/1327同步科技同步科技资源人力资源-测试经理职责n全面的管理 -测试计划n采集资源n项目报
11、告 - 测试评估要求n有测试过程的知识n熟悉测试工具n有领导才能n懂得项目的管理2024/8/1328同步科技同步科技资源人力资源-测试工程师 (设计者/开发者)职责n分解测试需求n测试设计n测试开发要求n有应用需求方面的知识n熟悉测试工具n编程的技巧(附加)2024/8/1329同步科技同步科技资源人力资源-测试工程师 (测试执行)职责n执行测试n产生日志结果n检查修正的错误要求n了解要测试的系统网络服务器等n熟悉测试工具n有诊断的技巧n善于观察,能识别细微的差别2024/8/1330同步科技同步科技资源人力资源-测试系统管理员职责n管理测试的系统n添加新用户n处理用户的要求要求n系统管理的
12、经验和方法n熟悉测试管理工具2024/8/1331同步科技同步科技资源系统资源测试开发系统测试管理系统测试存储库客户测试系统设备资源服务器客户机网络2024/8/1332同步科技同步科技资源数据资源恢复数据到指定的状态n备份工具n数据库实用工具如果数据不能被恢复,需要设计上的考虑n记录池n备份记录等2024/8/1333同步科技同步科技生成计划目标及范围注:不被测试特性也要作出说明测试策略资源要求人员/组织进度安排测试管理测试开始/结束准则测试移交(准则、涉及人员)、交互风险和应急其他(切实可行)(切实可行)合理的测试计划合理的测试计划2024/8/1334同步科技同步科技评审测试计划测试计划
13、确定后,一定要和开发组成员一起评审测试计划;参与人员有:项目经理配置经理QA人员测试组所有人员客户不能和开发计划有冲突。2024/8/1335同步科技同步科技工程化测试方法下面我们学习设计测试:黑盒白盒的用例设计构造测试过程静态评估2024/8/1336同步科技同步科技找出并描述测试用例分析应用工作流描述测试活动找到测试用例描述测试用例被测对象或应用说明期望结果,如输出状态、条件或数据值确定测试用例数据作为输入数据的值测试期待结果值支持用例的数据,不作为输入、输出2024/8/1337同步科技同步科技测试用例设计方法白盒测试用例设计逻辑覆盖法:n语句覆盖n判定覆盖n条件覆盖n判定-条件覆盖n条
14、件组合覆盖n路径覆盖 基本路径法 2024/8/1338同步科技同步科技测试用例设计方法黑盒测试用例设计等价类划分法边界值分析法错误推测法因果图法功能图分析法。2024/8/1339同步科技同步科技确定并构造测试过程检查应用工作流检查事件流检查已有过程的描述遍历系统提供的功能2024/8/1340同步科技同步科技确定并构造测试过程开发测试模型确定测试过程关系和顺序确定测试起始条件(状态) 、终止条件(状态)指出测试过程的测试用例考虑的问题相同测试过程是否满足关联的测试用例测试行为步骤可能包括不同的测试过程测试过程也可包含其它测试过程2024/8/1341同步科技同步科技确定并构造测试过程构造测
15、试过程建立测试需要的数据测试过程的起始条件、状态、行为测试步骤输入的数据值期待的结果结果评估定义测试过程的结束条件、状态、行为2024/8/1342同步科技同步科技评估测试覆盖覆盖的度量标准基于需求的覆盖基于代码的覆盖判定标准均采用完成测试项的百分比生成覆盖报告测试有关人员软件开发代表文档管理代表2024/8/1343同步科技同步科技工程化测试方法下面我们学习开发测试:脚本编写以及注意事项2024/8/1344同步科技同步科技编写测试脚本创建测试脚本参考已有的有价值的脚本建立测试环境建立脚本修改脚本(如果必要)2024/8/1345同步科技同步科技录制录制 vs. vs. 编程编程产生产生Wi
16、ndow SetContext (揗揗y app?MenuSelect 揊揊ile-OpenWindow SetContext (揥揥indow 2?ComboBox click 揊揊ile 1Push Button click 揙揙KWindow SetContext (揗揗y app?MenuSelect 揊揊ormat-FontsProgramming Programming Power and controlPower and controlRapid creationRapid creationUsable by non-programmersUsable by non-progra
17、mmersRecord/playback Record/playback 录制和编写测试脚本先录制,如果需要的话再编程先录制,如果需要的话再编程2024/8/1346同步科技同步科技录制和编写测试脚本创建测试脚本应注意:尽量使测试脚本可重用尽可能减少测试脚本的维护量如果可能,尽量使用已有的测试脚本使用测试工具创建测试脚本,减少手工作业2024/8/1347同步科技同步科技录制和编写测试脚本检查/调试测试脚本建立测试环境重新初始化环境执行测试脚本评估测试结果n结果与期望值相同:不必其他操作n不是期望的结果:找出问题发生的原因并解决问题2024/8/1348同步科技同步科技建立外部数据集创建外部数
18、据集查阅测试用例、测试过程使用适当的工具和方法创建数据集利用数据集对测试脚本调整调试测试脚本10102020303040405050Data SetsData SetsTest ProcedureTest ProcedureScript CommandsScript Commands2024/8/1349同步科技同步科技建立外部数据集使用外部数据集的好处:使测试脚本中不含数据,易于维护使数据易于修改,不受脚本影响方便增添测试用例,较少或避免修改测试脚本外部数据能够被多个测试脚本共享外部数据集中可包含用于控制测试脚本的数据值2024/8/1350同步科技同步科技确定测试特需的功能驱动模块如果被测
19、试对象需要驱动模块才能测试,就需要开发驱动模块程序;桩模块如果被测试对象需要桩模块才能测试,就需要开发桩模块程序;2024/8/1351同步科技同步科技工程化测试方法下面我们学习执行测试:环境准备按测试用例执行缺陷记录和传递回测意外处理2024/8/1352同步科技同步科技准备测试环境测试环境的部署和维护是一项需要详细策划的工作;部署合理的测试环境是达到测试目标的前提和条件。测试环境将直接影响到软件测试结果的真实性、可靠性和正确性。2024/8/1353同步科技同步科技准备测试环境搭建测试环境,包括:单元测试需要编译执行环境;数据处理,需要基础数据环境;网络环境服务器、客户机环境中间件、工作流
20、其它支持软件备份测试环境,构建可“复用”的测试环境。2024/8/1354同步科技同步科技测试执行任何工程产品都可以使用以下的两种方法进行测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。(黑盒测试)。已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否已经过检查。(白盒测试)2024/8/1355同步科技同步科技测试执行两种测试方法从不同的角度出发,反映了软件的不同侧面,也适用于不同的开发环境黑盒黑盒测试白盒白盒测试系统2024/8/1356同步科技同步科技记录缺陷记录缺陷文档记录(日志、报告)工具记录传递缺陷人工传递状态传递
21、追踪缺陷参见后面的缺陷管理2024/8/1357同步科技同步科技缺陷内容一个缺陷或报告的内容,一般包括:发现的阶段发现的模块/子系统状态发现人员修改人员、修改时间修改的预期版本严重级别、修改的优先级别缺陷描述(概述、详述、附加文件)2024/8/1358同步科技同步科技回测目的是为了测试由于修正缺陷而更新的程序,以确保修正了上一版本的缺陷,且没有引入新的缺陷;开发人员修复了提交的缺陷后,测试人员需要对这些缺陷进行再次测试,并对相关的功能和应用也进行测试。2024/8/1359同步科技同步科技意外处理发生不可传递的缺陷时,测试组可以把系统退回给开发组;需求做重大调整时,测试工作可能会暂停;测试发
22、生意外中断时,需要及时恢复。2024/8/1360同步科技同步科技意外处理不同的测试意外中断:当测试脚本正在执行的时候,有预想不到的动作、窗口、事件发生测试环境没有响应或不是期待的状态(如挂起或失败)致命错误系统失败(网络 、硬件等)2024/8/1361同步科技同步科技意外处理如何从失败中恢复:确定错误发生的真正原因纠正错误重新建立测试环境重新初始化测试环境重新执行测试2024/8/1362同步科技同步科技工程化测试方法下面我们学习评估测试:评估标准2024/8/1363同步科技同步科技评估测试-测试用例覆盖覆盖要判定:对于测试目标有多少测试用例,已执行的测试用例数成功执行的测试用例数确保1
23、00%的测试用例全部成功地执行制定测试覆盖标准,考虑:风险和严重性可接受的覆盖百分比2024/8/1364同步科技同步科技评估测试-代码覆盖覆盖要判定:测试目标期望的总测试代码,在测试中真正执行的代码,及其百分比将此结果记录在测试评估报告中2024/8/1365同步科技同步科技评估测试-分析缺陷常用的缺陷分析方法:缺陷级别缺陷分布缺陷趋势缺陷滞留。2024/8/1366同步科技同步科技评估测试-确定测试是否达到标准确定标准:参阅测试计划有关测试覆盖和缺陷评估等策略检查测试结果、缺陷和缺陷分析2024/8/1367同步科技同步科技评估测试-确定测试是否达到标准如未达到标准,将:收集附加信息n产生
24、不同的报告,如不同的缺陷密度报告n研究处理过程,判断是否有未知的条件影响到测试标准,从了解到的实际情况出发,重新制定标准建议附加测试n实现新的测试,增加测试用例的深度n实现新的测试,增加测试覆盖的广度修改测试标准n检查和评估更改测试标准的风险2024/8/1368同步科技同步科技工程化测试方法下面我们学习缺陷管理缺陷的生命周期缺陷维护缺陷分类缺陷分析2024/8/1369同步科技同步科技缺陷的生命周期缺陷的六个生命状态:初始状态(New)打开状态(Open)修复状态( Fixed )关闭状态(Close)拒绝状态(Rejected)重现打开状态(Reopen) 2024/8/1370同步科技同
25、步科技缺陷的生命周期缺陷生命历程的几种典型过程: New OpenFixedCloseNewCloseNewOpenRejectedNewOpenRejectedReopenFixedClose2024/8/1371同步科技同步科技缺陷的维护各成员职责测试人员:n记录Newn重新确认Reopenn关闭Close管理人员:n接收Openn直接关闭Close开发人员:n修改Fixedn拒绝Rejected2024/8/1372同步科技同步科技缺陷分类缺陷类型(Type)缺陷严重程度(Severity)缺陷优先级(Priority) 缺陷状态(Status)缺陷起源(Origin)缺陷来源(Sour
26、ce)2024/8/1373同步科技同步科技缺陷分析关注点:对软件问题的功能域分布进行分析,找出系统的薄弱环节;要采集每个功能模块或系统构件的bug数据,并按错误类型、严重程度等分类;比较实际发现的软件bug是否与预期的问题分布相吻合;二八定理:80%的软件问题总是发生在大约20%的功能模块(系统构件)中;对bug的注入阶段的分布进行分析,并与历史数据相比较。2024/8/1374同步科技同步科技缺陷分析分析方法指标分析n反映产品质量的指标 n反映缺陷发现及修复的效率的指标 n反映缺陷修复成本的指标 汇总统计 n缺陷发生日期统计 n缺陷状态分布 n缺陷测试情况统计 定性分析2024/8/1375同步科技同步科技课程回顾开展软件测试的时机测试生命周期工程化测试方法计划测试:测试需求、风险评估、测试策略、资源设计测试:黑盒白盒的用例设计、构造测试过程开发测试:脚本录制及注意事项执行测试:环境准备、缺陷记录、意外处理评估测试:评估标准、结果分析缺陷管理:缺陷生命周期、缺陷维护、缺陷分析2024/8/1376同步科技同步科技Question?THANKYOU2024/8/1377