软件测试复习

上传人:aa****6 文档编号:43735092 上传时间:2018-06-07 格式:DOC 页数:29 大小:1.05MB
返回 下载 相关 举报
软件测试复习_第1页
第1页 / 共29页
软件测试复习_第2页
第2页 / 共29页
软件测试复习_第3页
第3页 / 共29页
软件测试复习_第4页
第4页 / 共29页
软件测试复习_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《软件测试复习》由会员分享,可在线阅读,更多相关《软件测试复习(29页珍藏版)》请在金锄头文库上搜索。

1、1 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期第一章第一章 软件测试贯穿整个软件开发过程 软件=程序+文档+DB 程序=算发+数据结构 一个软件产品从形成概念开始,经过开发、测试、使用和维护,直到最后退出使用的 全过程称为软件生存周期。 一般软件生存周期包括软件定义、软件开发、软件测试、软件使用与维护等几个部分。软件定义可分为软件系统的可行性研究和需求分析两个阶段,其基本任务是确定软件 系统的工程需求。 整个测试过程分单元测试、集成测试、系统测试以及验收测试四个阶段进行。 测试的方法主要有白盒测试和黑盒测试。 软件过程模型,如瀑布过程模型、螺旋过程模型和增量过程模型等 软件

2、能量成熟度模型(CMM)初始级、重复级、定义级、管理级、优化级。 软件错误 导致 软件曲线 激活 软件故障 产生 软件失效 软件错误是指在软件生存期内的不希望出现或不可接受的人为错误,软件错误导致软 件缺陷的产生。 软件产生错误的原因:软件复杂性、交流不够、交流上有误解或者根本不进行交流、 程序设计错误、需求变化、时间压力、代码文档贫乏和软件开发工具。 软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。 其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。 软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态,此时若无适 当措施(容错)加以及时

3、处理,便产生软件失效。 软件失效是指软件在运行过程中产生的不希望出现或不可接受的外部行为结果。 MTBF mean time between failue 失效时间 MTTF mean time to failue 开始对失效时间(平均失效时间) MTTR mean time to repaire 平均修复时间 LRU 外场 可更换单元 SRU 内场 可更换单元 ISO/IEC 91261991 标准规定的软件质量度量模型。它由 3 层组成,其中第 1 层称为 质量特性(SQRC 软件质量需求评价准则) ,第 2 层称为质量子特性(SQDC) ,第 3 层称为 度量(SQMC) 。这个模型定义

4、了 8 个质量特性,即正确性、可靠性、可维护性、效率、安 全性、灵活性、可使用性、互连性。 所谓的内部质量是从内部观点出发的软件产品特性的总体,是针对内部质量需求被测 量和评价的质量。内部质量特征主要包括:可维护性、灵活性、可移植性、可重用性、可读性、可测试 性、可理解性。 外部质量的定义是:软件产品在规定条件下使用时满足需求的程度。外部质量是从外 部观点出发的软件产品特性的总体,它是当软件执行时,更典型地是使用外部度量在模拟 环境中,用模拟数据测试时,所被测量和评价的质量,即在预定的系统环境中运行时可能 达到的质量水平。 外部质量特征主要包括:正确性、可用性、效率、可靠性、完整性、适应性、精

5、确性、 坚固性。2 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期简单地说,软件测试就是为了发现错误而执行程序的过程。 软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于 检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。 ” 软件测试 不等于 程序测试 软件测试贯穿于整个软件开发过程软件测试的目的是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通 过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的 隐患所带来的商业风险。软件测试的规则: 测试是一个程序的执行过程,其目的在于发现错误。 一个好的测试用例

6、很可能会发现至今尚未察觉的错误。 一个成功的测试是发现至今尚未察觉的错觉的测试。测试的原则(8020 80%错误在 20%的代码中): 1.所有的测试都应追溯到用户需求 2.把“尽早和不断地测试”作为开发者的座右铭 3.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完 成 4. pareto 原则 5.设计测试用例时,应该考虑各种情况 6.对测试错误结果一定要有一个确认的过程 7.制定严格的测试计划 8. 完全测试是不可能的,测试需要终止 9.注意回归测试的关联性 10.妥善保存一切测试过程文档V 模型是最具有代表意义的测试模型 ,反映出了测试活动与分析设计活动的关系。

7、 V 模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试 应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是 否满足用户需要或合同的要求。 但是 V 模型也存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对 程序运行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确 认的功能。3 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期W 模型由两个 V 字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发 的并行关系。 W 模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、

8、设计等同样要测试,也就是说,测试与开发是同步进行的。 W 模型也存在局限性。在 W 模型中,需求、设计、编码等活动被视为串行的,同时, 测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个 阶段工作。H 模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测 试执行活动清晰地体现出来。H 模型揭示了软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发 地进行。Verification 验证 我们正确的构造了产品? Validation 确认 我们构造了正确的产品? 模 (1)测试活动应与软件开发同步进行; (2)测试对象不仅仅是程序还有需求

9、设计等等; (3)及早发现放假缺陷,降低成本。软件测试分类:1按测试方式分类静态测试4 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期动态测试 2按测试方法分类白盒测试黑盒测试 3按测试过程分类 单元测试 集成测试 系统测试 验收测试 4按测试目的分类 功能测试 健壮性测试 接口测试 性能测试 强度测试 压力测试(压力负载测试) 用户界面测试 安全测试 可靠性测试 安装/反安装测试 文档测试 恢复测试 兼容性测试 软件测试流程 1 制订测试计划 2 设计测试方案 3 测试准备和测试环境的建立 4 执行测试 5 测试评估 6 测试总结软件测试人员应具备下列基本素质。 1具有良好的

10、计算机编程基础 2具有创新精神和超前意识 3不懈努力,追求完美 4具有很强的沟通和交流能力 5具有整体观念,对细节敏感 6团队合作精神 一段代码找 BUG? 经典种子公式(可靠性植入模型):植入 N 个发现 n 个 BUG,t 个其他 BUG 则 n/N=t/T T=tN/n 步骤:1.功能(文档功能描述)2.走查3.设计测试用例5 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期4.执行5.撰写报告 第二章第二章 制订测试计划第三章第三章黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实 现、每个实现了的功能是否符合要求,以及产品的性能是否满足用户的要求

11、。 软件的黑盒测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的 逻辑结构和内部特性,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符 合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试又叫功能测试或数据驱动 测试。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计 规格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部 的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不 同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试

12、或逻辑驱动测试。 白盒测试是一种被广泛使用的逻辑测试方法,也称为结构测试或逻辑驱动测试。 白盒测试对象基本上是源程序,是以程序的内部逻辑为基础的一种测试方法。 白盒测试方法又可分为静态测试和动态测试。静态测试是一种不通过执行程序而进行 测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。它 瞄准的是纠正软件系统在描述、表示和规格上的错误,是任何进一步测试的前提。而动态 测试需要软件的执行,当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软IEEE8291998 软件测试文档 编制标准 软件测试计划文档模板 目录 1测试计划标识符 2介绍 3测试项 4需要测试的功

13、能 5方法(策略) 6不需要测试的功能 7 测试项通过/失败的标准 8测试中断和恢复的规定 9测试完成所提交的材料 10测试任务 11环境需求 12测试人员的工作职责 13人员安排与培训需求 14进度表 15潜在的问题和风险 16审批 6 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期件系统行为的分析是动态测试的主要特点。动态测试主要验证一个系统在检查状态下是正 确还是不正确。动态测试技术主要包括程序插桩、逻辑覆盖、基本路径测试等。最常见的静态测试是找出源代码的语法错误,这类测试可由编译器来完成,因为编译 器可以逐行分析检验程序的语法,找出错误并报告。代码检查三大方法 书:桌面

14、检查、代码审查和走查方式。 师:走查、审查、评审。 对一下内容的检查: (1) 检查代码和设计的一致性;(2) 代码的可读性以及对软件设计标准的遵循情况;(3) 代码逻辑表达的正确性;(4) 代码结构的合理性;(5) 程序中不安全、不明确和模糊的部分;(6) 编程风格方面的问题等。 控制了关键路径就控制了进度 在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。 程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法,即向源程序中 添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。 逻辑覆盖我觉得肯定考,请认真看课本例题。 从覆盖源程序语句的详细程度分析,逻辑覆盖

15、标准有语句覆盖、判定覆盖、条件覆盖、 判定/条件覆盖、条件组合覆盖。 基本路径测试图基本路径测试法的步骤(1) 画出程序控制流图(2) 计算程序环路复杂性进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中 的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必须的测试用例数目的 上界。所谓独立路径,是指包括若干未曾处理的语句或条件的一条路径基本路径集不是惟一的,对于给定的控制流图,可以得到不同的基本路径集。通常环路复杂性可用以下 3 种方法求得。 将环路复杂性定义为控制流图中的区域数。WHILE 循环结构 顺序结构 UNTIL循环结构 IF 选择结构 CASE 多分支结构7 集美大学诚毅学院软件 0892 杜福滨 版本 1.0 更新日期 设 E 为控制流图的边数,N 为图的结点数,则定义环路的复杂性为 V(G) =EN+2。 若设 P 为控制流图中的判定结点数,则有 V(G)=P+1。 1语句覆盖语句覆盖使程序中每个语句至少都能被执行一次。 2判定覆盖比语句覆盖稍强的覆盖标准是判定覆盖。按判定覆盖准则进行测试是指,设计 若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次, 即判断的真假值均曾被满足。判定覆盖又称为分支覆盖。 3条件覆盖在设计程序中,一个判定语句是由多个条件组合而成

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号