第2讲 软件测试概述(2)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

20世纪90年代,测试工具终于盛行起 来 。 到 了 2002 年 , Rich 和 Stefan 在 《 系 统 的软件测试》一书中对软件测试做了进一 步定义:“测试是为了度量和提高被测软 件的质量,对测试软件进行工程设计、实 施和维护的整个生命周期过程”。这些经 典论著对软件测试研究的理论化和体系化 产生了巨大的影响。
6.对测试错误结果一定要有一个确认的过程 7.制定严格的测试计划 8. 完全测试是不可能的,测试需要终止 9.注意回归测试的关联性 10.妥善保存一切测试过程文档
1.4.3 软件测试模型
软件测试过程模型是对测试过程一种 抽象,用于定义软件测试的流程和方法。
随着测试过程管理的发展,软件测试 专家通过实践总结出了很多很好的测试过 程模型。这些模型将测试活动进行了抽象, 并与开发活动有机的进行了结合,是测试 过程管理的重要参考依据。
第二讲教学目标
掌握软件测试的概念; 了解软件测试的原则; 掌握软件测试过程模型; 了解软件测试的分类; 掌握软件测试流程; 了解软件测试人员的基本素质。
1.4 软 件 测 试
1.4.1 软件测试的定义及目的
简单地说,软件测试就是为了发现错误 而执行程序的过程。
在IEEE提出的软件工程标准术语中, 软件测试被定义为:“使用人工和自动手 段来运行或测试某个系统的过程,其目的 在于检验它是否满足规定的需求或弄清楚 预期结果与实际结果之间的差别。” 软件 测试是与软件质量密切联系在一起的,归 根结底,软件测试是为了保证软件质量。
1.V模型
V模型是最具有代表意义的测试模型 , 反映出了测试活动与分析设计活动的关系。
V模型指出,单元和集成测试应检测程序 的执行是否满足软件设计的要求;系统测试 应检测系统功能、性能的质量特性是否达到 系统要求的指标;验收测试确定软件的实现 是否满足用户需要或合同的要求。
图1-7 软件测试V模型
安全测试 可靠性测试 安装/反安装测试 文档测试 恢复测试 兼容性测试
1.4.5 软件测试流程
软件测试流程就是指从软件测试 开始到软件测试结束经过的一系列准 备、执行、分析的过程。
软件测试工作一般要通过制订测 试计划、设计测试、测试准备和测试 环境的建立、执行测试、评估测试和 总结测试工作等几个阶段来完成。
图1-10 软件测试流程
测试流程
1.测试计划 2.测试设计 3.测试准备和测试环境的建立 4.执行测试 5.测试评估 6.测试总结
1.4.6 软件测试发展历程和趋势
软件测试是伴随着软件的产生而产生的, 有了软件的生成和运行就必然有软件测试。 在早期的软件开发过程中,测试的含义比较 窄,将测试等同于“调试”,目的是纠正软 件中已经知道的故障,常常由软件开发人员 自己完成这部分工作。对测试的投入极少, 测试介入得也晚,常常是等到形成代码,产 品已经基本完成时才进行测试。
百度文库
2.W模型
W模型由两个V字型模型组成,分别代表 测试与开发过程。
W模型强调:测试伴随着整个软件开发 周期,而且测试的对象不仅仅是程序,需求、 设计等同样要测试,也就是说,测试与开发 是同步进行的。
图1-8 软件测试W模型
3.H模型
H模型将测试活动完全独立出来,形成 了一个完全独立的流程,将测试准备活动和 测试执行活动清晰地体现出来。
前置测试模型体现了开发与测试的结合, 要求对每一个交付内容进行测试。
1.4.4 软件测试的分类
1.按测试方式分类
静态测试 动态测试
2.按测试方法分类
白盒测试 黑盒测试
3.按测试过程分类
单元测试 集成测试 系统测试 验收测试
4.按测试目的分类
功能测试 健壮性测试 接口测试 性能测试 强度测试 压力测试 用户界面测试
软件测试是一个找错的过程。软件测试 的过程亦是程序运行的过程。程序运行需 要数据,为测试设计的数据称为测试用例。 测试用例的设计原则是尽可能暴露程序中 的错误。
软件是由人来完成的,所有由人做的工
作都不会是完美无缺的。软件开发是个很复 杂的过程,期间很容易产生错误。无论是软 件从业人员、专家和学者做了多大的努力, 软件错误仍然存在。因而大家也得到了一种 共识:软件中残存着错误,这是软件的一种 属性,是无法改变的。所以通常说软件测试 的目的就是为了发现尽可能多的缺陷,并期 望通过改错来把缺陷统统消灭,以期提高软 件的质量。一个成功的测试用例在于发现了 至今尚未发现的缺陷。
H模型揭示了软件测试是一个独立的流 程,贯穿产品整个生命周期,与其他流程并 发地进行。
图1-9 软件测试H模型
4.其他模型
除上述几种常见模型外,还流传着其他 几种模型,例如X模型、前置测试模型等。
X模型提出针对单独的程序片段进行相互 分离的编码和测试,此后通过频繁的交接, 通过集成最综合成为可执行的程序。
直到1957年,软件测试才开始与调试 区别开来,成为一种发现软件缺陷的活动。
直到20世纪80年代早期,“质量”的 号角才开始吹响。软件测试的定义发生了 改变,测试不单纯是一个发现错误的过程, 而且包含软件质量评价的内容。软件开发 人员和测试人员开始坐在一起探讨软件工 程和测试问题。制定了各类标准,包括 IEEE标准、美国ANSI标准和ISO国际标准。
软件测试的目的是以最少的人力、物 力和时间找出软件中潜在的各种错误和缺 陷,通过修正各种错误和缺陷提高软件质 量,回避软件发布后由于潜在的软件缺陷 和错误造成的隐患所带来的商业风险。
1.4.2 软件测试的原则
1.所有的测试都应追溯到用户需求 2.把“尽早和不断地测试”作为开发者的座右 铭 3.程序员应该避免检查自己的程序,测试工作 应该由独立的专业的软件测试机构来完成 4. pareto原则
近20年来,随着计算机和软件技术的飞速 发展,软件测试技术的研究也取得了很大的突 破,测试专家总结了很好的测试模型,如著名 的V模型,在单元测试、自动化测试等方面涌 现了大量优秀的软件测试工具。
1.5 软件测试人员的基本素质
软件测试人员应具备下列基本素质。
1.具有良好的计算机编程基础 2.具有创新精神和超前意识 3.不懈努力,追求完美 4.具有很强的沟通和交流能力 5.具有整体观念,对细节敏感 6.团队合作精神
相关文档
最新文档