监理工作-软件监理测试工作-参考课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《监理工作-软件监理测试工作-参考课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 监理 工作 软件 测试 参考 课件
- 资源描述:
-
1、北京市质易达工程监理有限责任公司北京市质易达工程监理有限责任公司2009年年09月月*工程系统工程系统工程监理工程监理-软件测试工作软件测试工作1.软件测试的原则和标准n 测试的定义 软件测试是为了发现错误而执行程序的过程,广义上的测试包括代码和文档。软件测试是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例(输入数据及其预期结果的集合),并利用这些测试用例去运行程序,以发现错误的过程。n 测试的目的:验证对象之间的交互;验证软件的所有构件是否正确集成;确认所有需求是否已经正确实施;确定缺陷并确保在部署软件之前将缺陷解决;尽早尽可能多发现缺陷;提高软件产品的质量。测试的生命周期
2、测试的生命周期n 在软件开发生命周期中,软件是通过迭代来不断加以完善的。在这种环境中,对于每个作为测试目标的工作版本,测试的生命周期还都必须具有一种迭代方法。n 计划:标志测试条件(确定测试什么)和测试的优先级n 设计:设计测试用例(确定怎么测试)n 开发:测试开发(设计脚本、数据等)n 执行:执行测试用例n 评估:将测试结果与期望结果进行比较软件测试的原则和标准n 软件测试的原则软件测试的原则 原则一:穷尽测试是不可能的,不充分的测试是愚蠢的,过度的测试也是一种罪孽 原则二:测试工作具有创造性,但很困难 原则三:测试旨在防止错误的发生 原则四:测试是有风险的 原则五:测试要有计划性 原则六:
3、测试要有独立性(测试部门、小组)测试的局限性n 程序测试可以表明缺陷的存在,但决不能证明没有缺陷。n 测试必须用需求作为参考点。如果需求是错误的或不完全的,就会产生假的测试。n 基于实现的测试并不能发现遗漏,正如缺少的代码不能被测试一样。n 从来都不能确信一个正在测试的系统是正确的,测试设计中的错误,可能产生假的测试结果。n 得到一个预测是困难的,有的甚至是不可能的常用词汇n 错误(Error):Bugn 缺陷(Fault):是错误的表现n 失效(failure):当缺陷执行时会发生失效n 事故(incident):系统在制定范围内执行所需功能时表现的无能n 测试脚本:一个用过程脚本语言编写的
4、程序,该程序用来执行一个测试包n 测试包:测试实例的集合n 测试装置:由测试驱动器和其他支持测试执行的工具组成的系统。n 测试用例(Test Case):由输入数据和预期结果组成。输入数据:数据、文件或操作序列,预期结果:后果和实际输出黑盒测试n 黑盒测试(Blackbox Testing)又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。n 被测程序被当作一个黑盒,不考虑程序内部结构和内部特性,测试者只知道该程序输入和输出之间的关系或程序的功能,依靠能够反映这一关系和程序功能的需求规格说明书考虑确定测试用例和推断测试结果的正确性。n 软件的黑盒测试被用来证实软件功能
5、的正确性和可操作性。白盒测试n 白盒测试(Whitebox Testing)又称结构测试、逻辑驱动测试或基于程序的测试。它依赖于对程序细节的严密检验,针对特定条件设计测试用例,对软件的逻辑路经进行测试。n 在程序的不同点检验“程序的状态”以判定其实际情况是否和预期的状态相一致。n 软件的白盒测试用来分析程序的内部结构。n 白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖的测试”。最为常见的程序结构覆盖有:n 语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过,这是最弱的逻辑覆盖准则;n 分支覆盖或判定覆盖:要求程序中所有判定的分支尽可能得到检验;n 条件覆盖:
6、当判定式中含有多个条件时,要求每个条件的取值均得到检验;n 判定条件覆盖:同时考虑条件的组合值及判定结果的检验;n 路径覆盖:只考虑对程序路径的全面检验。回归测试n 目标:修改的或增加的部分是正确的 没有引起其他部分产生错误n 应用:增量开发版本控制软件维护n 测试和测试n 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。n 测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开发者。测试的分类n 静态分析n 功能测试n 用户界面测试n 性能测试 负载测试 强度测试 容量测试n 配置测试n 安装测试n 安全性测试n 兼容性测
7、试测试的标准n GB/T16260-1996信息技术信息技术 软件产品评价软件产品评价 质量特性及其使用指南质量特性及其使用指南n GB/T17544-1998信息技术信息技术 软件包软件包 质量要求和测试质量要求和测试n GB/T8567-1988计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南n GB/T9385-1988计算机软件需求说明编制指南计算机软件需求说明编制指南n GB/T9386-1988计算机软件测试文件编制规范计算机软件测试文件编制规范n GB/T11457-1995软件工程术语软件工程术语n GB/T13502-1992信息处理信息处理 程序构造及其表示的约
8、定程序构造及其表示的约定n GB/T14085-1993信息处理系统信息处理系统 计算机系统配置图符号及约定计算机系统配置图符号及约定n GB/T14394-1993计算机软件可靠性和可维护性管理计算机软件可靠性和可维护性管理n GB/T15189-1994DOS中文信息处理系统接口规范中文信息处理系统接口规范n GB/T15532-1995计算机软件单元测试计算机软件单元测试n B/T15535-1995信息处理信息处理 单命中判定表规范单命中判定表规范n GB/T1526-1989信息处理信息处理 数据流程图、系统流程图、程序网络数据流程图、系统流程图、程序网络图和系统资源图的文件编制符号
9、及约定图和系统资源图的文件编制符号及约定n GB/T16680-1996软件文档管理指南软件文档管理指南n GB/T8566-2001信息技术信息技术 软件生存期过程软件生存期过程n 测试相关模型测试相关模型需求分析系统设计详细设计编码单元测试集成测试系统测试验收测试时间程序员的理解程序员的理解=用户的理解用户的理解 详细程度V 模型(改良)评价n 优点优点l文档驱动文档驱动的开发模型。的开发模型。l改良后的模型很注重反馈和测试,其中改良后的模型很注重反馈和测试,其中V模型提出了测模型提出了测试驱动开发的概念。试驱动开发的概念。l在需求非常明确的前提下可以使用,也适用于有长期在需求非常明确的前
10、提下可以使用,也适用于有长期专职开发人员的小型项目开发。专职开发人员的小型项目开发。n 不足:不足:l严格限定了开发的各阶段,缺乏迭代性。严格限定了开发的各阶段,缺乏迭代性。l缺乏对变化的支持。缺乏对变化的支持。原型法原型法Brooks 1975设计实现测试维护需求设计实现测试原型设计实现初始原型初始概念修改原型直至被接受完成发布原型最终产品目的是和用户一起开发并完善一个原型,从最清楚的需求部分开始。进化原型法进化原型法评价n 优点:优点:l需求驱动需求驱动的开发模型。的开发模型。l帮助理解需求。帮助理解需求。l增强和用户的交流,增加用户好感。增强和用户的交流,增加用户好感。n 不足:不足:l
11、缺乏结构化的系统和严谨的开发流程,很难作缺乏结构化的系统和严谨的开发流程,很难作为一个项目进行管理。为一个项目进行管理。迭代1迭代2迭代3分析设计编码测试发布1分析设计编码测试发布2分析设计编码测试发布3迭代n分析设计编码测试最终发布.增量型(例增量型(例RUP)评价n 优点:优点:l开发过程分解为多个迭代过程,每个过程可以有自己的开发开发过程分解为多个迭代过程,每个过程可以有自己的开发模型。模型。l可以快速提交可用的系统,然后根据反馈实施下一个迭代。可以快速提交可用的系统,然后根据反馈实施下一个迭代。n 不足:不足:l是一个开发框架,对每个迭代的具体过程缺乏支持:是一个开发框架,对每个迭代的
12、具体过程缺乏支持:n1)如果迭代太少,很容易会蜕变为)如果迭代太少,很容易会蜕变为Code-Fix模式,迭代太多模式,迭代太多则往往因文档驱动而导致测试和集成的复杂度和费用太大。则往往因文档驱动而导致测试和集成的复杂度和费用太大。n2)因而无法克服以往开发模型的不足。经常蜕变成)因而无法克服以往开发模型的不足。经常蜕变成Waterfall模型。模型。简单设计迭代计划测试驱动Pair开发持续集成重构1.N个个Iteration发布计划1.N个个Release小发布发布1.N个个TaskXP的增量过程失败通过时间单元测试 100%通过设计先先写写单元测试单元测试重构运行运行单元测试单元测试编程发现
13、BUG集成先先写写功能测试功能测试User Story运行运行功能测试功能测试测试驱动开发n软件开发的测试过程软件开发的测试过程n 招投标及合同签订阶段招投标及合同签订阶段 在合同中应该明确功能测试的基础在合同中应该明确功能测试的基础需求规需求规格说明书格说明书,并明确性能测试的方法、其它需,并明确性能测试的方法、其它需测试的类型以及第三方测试等。测试的类型以及第三方测试等。在现在的投标书中,有在投标文件中提出验在现在的投标书中,有在投标文件中提出验证方法的现象,应引起注意。(证方法的现象,应引起注意。(P153 8.2)在监理规划中,应该对软件测试的监理过程在监理规划中,应该对软件测试的监理
14、过程方式(旁站、抽查等)进行明确。方式(旁站、抽查等)进行明确。开发生命周期中的验证活动开发阶段验证活动需求需求.确定验证步骤确定验证步骤.对需求进行评审对需求进行评审.产生功能测试用例产生功能测试用例.确定需求一致性确定需求一致性需求阶段监理任务n 对测试计划以及测试用例的审核对测试计划以及测试用例的审核n 审核主体:测试计划(参阅审核主体:测试计划(参阅测试计划审查表测试计划审查表)n 审核注意事项:审核注意事项:时间时间 人员安排人员安排 测试环境:软、硬件、具体地点测试环境:软、硬件、具体地点 测试的依据和标准测试的依据和标准 测试方法及软件,测试的可行性测试方法及软件,测试的可行性
15、执行和维护需求的可行性与可测性执行和维护需求的可行性与可测性 集成、验收测试的进入、结束条件集成、验收测试的进入、结束条件 验收需求对测试设计、用例、规程、经过的跟踪验收需求对测试设计、用例、规程、经过的跟踪 测试计划的编制需符合测试计划的编制需符合GB/T 9386标准标准 n 测试用例测试用例 审核功能用例是否完全覆盖审核功能用例是否完全覆盖n 注意软件性能、安装、配置测试的约定注意软件性能、安装、配置测试的约定开发阶段验证活动设计设计.确定设计信息是否足够确定设计信息是否足够.准备结构和功能的测试用例准备结构和功能的测试用例.确定设计的一致性确定设计的一致性设计阶段n 继续对功能性测试用
16、例进行细化继续对功能性测试用例进行细化n 提交接口等测试方法提交接口等测试方法n 对单元测试的过程、方法进行确认,核实是否已覆对单元测试的过程、方法进行确认,核实是否已覆盖控制流和数据流盖控制流和数据流n 提交各模块单元、集成测试方案提交各模块单元、集成测试方案 算法和逻辑 模块接口 数据结构(全局和局部)边界条件 独立的路径 错误处理 人员,环境,工具开发阶段验证活动编码编码单元单元测试测试.为单元测试产生了完整的结构和功能测试的测试为单元测试产生了完整的结构和功能测试的测试用例用例 .进行了足够的单元测试进行了足够的单元测试 .主要进行白盒测试,辅助以黑盒测试主要进行白盒测试,辅助以黑盒测
17、试 .对合理、不合理输入进行鉴别和响应对合理、不合理输入进行鉴别和响应 .在测试的过程中,需对所有的局部和全局数据在测试的过程中,需对所有的局部和全局数据结构、外部接口、程序代码的关键部分实施严格结构、外部接口、程序代码的关键部分实施严格的代码审查。的代码审查。.多个模块可以平行的独立进行单元测试多个模块可以平行的独立进行单元测试测试阶段和测试方法单元测试n 目的:分别完成每个单元的测试任务,以确保每个模块能正常工作。n 单元测试 单元测试在迭代的早期实施,侧重于核实软件的最小可测试元素。单元测试通常应用于实施模型中的构件,核实是否已覆盖控制流和数据流,以及构件是否可以按照预期工作。单元测试n
18、 检验程序最小单位有无错误。检验程序最小单位有无错误。n 一般在编码之后,由开发人员完成。一般在编码之后,由开发人员完成。n 实施效果非常好,但是实施阻力比较大实施效果非常好,但是实施阻力比较大l“不可能出问题不可能出问题”l“小子,我的代码肯定没错小子,我的代码肯定没错”l“天,我这是怎么了,如此简单的错误天,我这是怎么了,如此简单的错误”l“以后绝对不可能了以后绝对不可能了”单元测试的进入条件n 完成单元模块编码完成单元模块编码n 代码编译无错误代码编译无错误n 开发单元纳入承建单位配置受控库开发单元纳入承建单位配置受控库单元测试的内容n 单元功能测试单元功能测试n 模块接口测试模块接口测
19、试n 局部数据结构测试局部数据结构测试n 路径测试路径测试n 错误处理测试错误处理测试n 边界测试边界测试n 重要模块的性能测试重要模块的性能测试单元测试的成果n 单元测试报告单元测试报告n 测试记录,测试结果分析测试记录,测试结果分析n 软件问题报告单,软件修改报告单软件问题报告单,软件修改报告单n 经修改的代码经修改的代码n 回归测试记录和结果回归测试记录和结果单元测试过程n 驱动程序:用于模拟主程序的运行n 桩模块:用于模拟子程序的运行n 静态分析 对源代码的静态分析:主要分析代码中的类型、引用、参数传递,以及表达式等不用运行就能够发现的错误;另外还有一些容易出错的地方,如空指针赋值、下
20、标越界等。还可以检查诸如命名规则等编程规范。此项测试在监理的过程中,一般可以通过代码巡查的过程来保证。集成测试n 又称为组装测试或者联合测试又称为组装测试或者联合测试n 在单元测试的基础上进行在单元测试的基础上进行n 将所有模块按概要设计、详细设计的要求进行将所有模块按概要设计、详细设计的要求进行组装。组装。n 在进行集成测试时,必须确定关键模块在进行集成测试时,必须确定关键模块(重要需重要需求,高层控制模块,复杂易错模块,明确性能求,高层控制模块,复杂易错模块,明确性能要求模块要求模块),对关键模块及早进行测试。,对关键模块及早进行测试。n 在做回归测试时,也应集中测试关键模块。在做回归测试
展开阅读全文