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