软件测试PPT课件
• 2001年软件产品质量国际标准ISO9126定义的软件质量包 括“内部质量”、“外部质量”和“使用质量”三部分。 即:软件满足规定或潜在用户的能力要从软件在内部、外 部和使用中的表现来衡量
2.1软件测试与软件质量
• 质量保证(QA):质量保证的主要工作是采用“全面质量管 理”和“过程改进”的原理开展工作,进行软件周期管理 以及验证软件是否满足规定的质量和用户的需求;所关注 的是软件质量的检查和测量。主要着眼于开发活动中的过 程、步骤和产物。
软件测试
目录
• CH1概述 • CH2软件测试基础 • CH3软件测试技术 • CH4软件测试工具
CH1概述
• 信息技术的飞速发展,使软件产品应用到 社会的各个领域,软件产品的质量自然成 为人们共同关注的焦点。不论软件的生产 者还是软件的使用者,均生存在竞争的环 境中,软件开发商为了占有市场,必须把 产品质量作为企业的重要目标之一,以免 在激烈的竞争中被淘汰出局。用户为了保 证自己业务的顺利完成,当然希望选用优 质的软件。质量不佳的软件产品不仅会使 开发商的维护费用和用户的使用成本大幅
• 集成测试:又叫组装测试。通常在单元测 试的基础上,将所有的程序模块进行有序
• 软件测试对象:软件是由文档、数据以及 程序组成的,那么软件测试应该是对软件 形成过程中的文档、数据以及程序进行的 测试,而不仅仅是对程序进行的测试
2.1软件测试与软件质量
• 1991年软件产品质量评价国际标准ISO9126中定义软件质 量如下:软件满足规定或潜在用户需求特性的总和
• 1999年软件产品评价国际标准ISO14598中软件质量定义为: 软件特性的总和、软件满足规定或潜在用户需求特性的能 力的就是为了寻找错误。 • 以最少的人力、物力和时间,找出软件中潜在的各种错误
和缺陷,通过修正错误和缺陷来提高软件质量,回避软件 发布后由于潜在的软件缺陷和错误造成的隐患所带来的商 业风险
• 软件测试是以评价一个程序或系统属性为目标的活动,测 试是对软件质量的度量与评估,以验证软件的质量满足用 户的需求的程度为用户选择与接受软件提供有力的证据
作为软件测试者的座右铭 • 完全测试是不可能的,测试需要终止 • 测试无法显示软件潜在的缺陷 • 充分注意测试中的群集现象 • 程序员应避免检查自己的程序 • 尽量避免测试的随意性
2.4软件测试分类
• 按开发阶段划分:单元测试、集成测试、 系统测试、确认测试和验收测试
• 单元测试:又称模块测试,是针对软件设 计的最小单位——程序模块进行正确性检验 的测试工作。其目的在于检查每个程序单 元能否正确实现详细设计说明中的模块功 能、性能、接口和设计约束等要求,发现 各模块内部可能存在的各种错误。
• 给软件带来错误的原因很多,具体地说, 主要有如下几点:
• ①、交流不够、交流上有误解或者根 本不进行交流
• 在应用应该做什么或不应该做什么的 细节(应用的需求)不清晰的情况下进行开发。
• ④、需求变化
• 需求变化的影响是多方面的,客户可 能不了解需求变化带来的影响,也可能知 道但又不得不那么做。需求变化的后果可 能是造成系统的重新设计,设计人员的日 程的重新安排,已经完成的工作可能要重 做或者完全抛弃,对其他项目产生影响, 硬件需求可能要因此改变,等等。如果有
• ⑥、自负大意的态度:
•
'没问题'
•
'这事情很容易'
•
'几个小时我就能拿出来'
• 太多不切实际的‘没问题’,结果只
• ⑧、软件开发工具
• 可视化工具,类库,编译器,脚本工 具,等等,它们常常会将自身的错误带到 应用软件中。就象我们所知道的,没有良 好的工程化作为基础,使用面向对象的技 术只会使项目变得更复杂。为了更好地解 决这些问题,软件界做出了各种各样的努 力。
CH1概述
•软件危机曾经是软件界甚至整个计算机界最 热门的话题。为了解决这场危机,软件从业 人员、专家和学者做出了大量的努力。现在 人们已经逐步认识到所谓的软件危机实际上 仅是一种状况,那就是软件中有错误,正是 这些错误导致了软件开发在成本、进度和质 量上的失控。有错是软件的属性,而且是无 法改变的,因为软件是由人来完成的,所有 由人做的工作都不会是完美无缺的。问题在 于我们如何去避免错误的产生和消除已经产
• 人们曾经认为更好的程序语言可以使
•事实上,对于软件来讲,还没有象银弹那样 的东西。不论采用什么技术和什么方法,软 件中仍然会有错。采用新的语言、先进的开 发方式、完善的开发过程,可以减少错误的 引入,但是不可能完全杜绝软件中的错误, 这些引入的错误需要测试来找出,软件中的 错误密度也需要测试来进行估计。测试是所 有工程学科的基本组成单元,是软件开发的 重要部分。自有程序设计的那天起测试就一 直伴随着。统计表明,在典型的软件开发项
CH2软件测试基础
• 软件测试与软件质量 • 软件测试目的 • 软件测试原则 • 软件测试分类 • 软件测试方法 • 软件测试模型 • 软件测试生命周期测试策略 • 软件失效分类与管理
2.1软件测试与软件质量
• 软件测试的经典定义是:在规定的条件下 对程序进行操作,以发现错误,对软件质 量进行评估的过程。
• 软件测试:主要工作是执行软件,对过程中的产物--文档 和源代码进行走查,运行软件,找出问题,报告质量。关 心的不是过程的活动,而是对过程中的产物及开发出的软 件进行剖析,找出问题并进行评估。
• 软件测试人员的一项重要任务是提高软件质量,但不等于 说软件测试人员就是软件质量保证人员,软件质量保证和 软件测试是软件质量工程的两个不同层面的工作,测试是 质量保证中的一个重要环节
• 通过分析错误产生的原因可以帮助发现当前开发工作所采 用的软件国产的缺陷,帮助进行软件过程改进;通过对测 试结果的分析整理,可以修正软件开发规则,为软件可靠 性分析提供依据
• 通过最终的验收测试,可以证明软件满足了用户的需求,
2.3软件测试原则
• 所有的软件测试都应追溯到用户需求 • 应当把“尽早地和不断地进行软件测试”