当前位置:文档之家› 第1章 软件测试概述

第1章 软件测试概述

12
A Free sample background from
Slide 13
第1章 软件测试概述
理的、合法的和非法的、边界和越界的,以及极限的输入
数据、操作和环境设置等。 (2)测试结果的可判定性:即测试执行结果的正确
性是可判定的或可评估的。
缺陷,衡量软件的品质,关注用户需求。
7
A Free sample background from
Slide 8
第1章 软件测试概述
1.3 软件测试原则 为了要达到测试目的,应遵循以下软件测试的基本原 则。
·所有的测试都应追溯到用户需求,软件测试的目标
Slide 14
第1章 软件测试概述
的白盒测试技术有: ·基本路径测试 ·条件测试
·数据流测试
黑盒测试需要了解功能性的规格说明,关注对功能的 需求,为测试系统的功能设计测试用例。常用的黑盒测试
技术有:
·边界值分析 ·因果测试
·等价划分
14
A Free sample background from
(4)实施测试。 (5)分析测试结果。
10
A Free sample background from
Slide 11
第1章 软件测试概述
1.拟定软件测试计划
拟定软件测试计划就是确定主要的目标、测试范围、
系统功能和非功能性需求、测试环境、测试自动控制、测 试结果分析计划、问题解决方案与报告计划、测试重用计
第1章 软件测试概述
1.5.4 按照执行主体划分 软件测试按照执行主体可划分为:开发方测试、用户
测试和第三方测试。
18
A Free sample background from
Slide 19
第1章 软件测试概述
1.6 软件测试的注意事项(Tip) (1)应当把“尽早地和不断地进行软件测试”作为 软件开发者的座右铭。
Slide 4
第1章 软件测试概述
软件测试是为了发现错误而执行程序的过程。软件测 试在软件生命周期中要横跨其中的两个阶段:
(1)通常在编写出每一个模块之后就对它做必要的
测试(称为单元测试)。编码和单元测试属于软件生存期 中的同一个阶段。 (2)在结束这个阶段后对软件系统还要进行各种综 合测试,这是软件生存期的另一个独立阶段,即测试阶段。
划、系统恢复计划、活动时间表、测试结束标准。
2.编制软件测试大纲 软件测试大纲是软件测试的依据。它明确详尽地规定 了在测试中针对系统的每一项功能或特性所必须完成的基 本测试项目和测试完成的标准。无论是自动测试还是手动 测试都必须满足测试大纲的要求。
11
A Free sample background from
15
A Free sample background from
Slide 16
第1章 软件测试概述
1.5 软件测试类型 软件测试类型可以从开发阶段、测试技术、测试实施 状态和测试实施主体四个角度进行划分。
1.5.1 按照开发阶段划分
软件测试按照开发阶段可划分为:单元测试、集成测 试、确认测试、系统测试和验收测试。
(2)测试用例应由测试输入数据和与之对应的预期
输出结果两部分组成。 (3)程序员应避免测试自己的程序。
(4)在设计测试用例时,应当包括合理的输入条件
和不合理的输入条件。 (5)充分注意测试中的群集现象。
(6)严格执行测试计划,排除测试的随意性。
19
A Free sample background from
Slide 20
第1章 软件测试概述
(7)应当对每一个测试结果做全面的检查。 (8)妥善保存测试计划、测试用例、出错统计和最
终分析报告,为维护提供方便。
(9)执行集成和确认测试。 (10)更正发现的错误。
20
A Free sample background from
Slide 15
第1章 软件测试概述
4.实施测试
软件测试的实施阶段由一系列测试周期组成。在每个 测试周期中,软件测试工程师将依据预先编制好的测试大
纲和准备好的测试用例,通过执行被测软件,对其进行测
试,即向被测软件输入数据或激发事件,以观察输出结果。 5.分析测试结果 在执行软件测试的过程中,收集通过与未通过的测试 用例。后者将触发纠错过程。测试与纠错可以是反复交替 进行或平行进行。测试结果分析可生成软件问题报告供有 关人员参考或作进一步分析。
Bill Hetzel提出了测试目的不仅仅是为了发现软件
缺陷与错误,而且也是对软件质量进行度量和评估,以提 高软件的质量。
5
A Free sample background from
Slide 6
第1章 软件测试概述
此外,通过分析错误产生的原因还可以帮助发现当前 开发工作所采用的软件过程的缺陷,以便进行软件过程改
Slide 1
软件测试
信息学院软件教研室
1
A Free sample background from
Slide 2
第1章 软件测试概述
软件测试是软件质量保证的重要手段。要成功开发
出高质量的软件产品,除了从思想上重视软件测试工作, 还必须掌握测试技术,有效地实施测试工作。
的是发现错误。IEEE标准610.12给出了两个更为规范、约
束的测试定义: (1)在特定的条件下运行系统或构件,观察或记录
结果,对系统的某个方面做出评价。
(2)分析某个软件项以发现现存的和要求的条件之 差别(即错误)并评价此软件项的特性。
3
A Free sample background from
(3)测试结果的可再现性:即对同样的测试用例, 系统的执行结果应当是相同的。 白盒测试技术和黑盒测试技术都是用来设计和生成测 试用例的。 白盒测试需要了解产品的内部工作,关注程序的结构 和内部逻辑,根据程序的结构和内部逻辑设计用例。常用
13
A Free sample background from
1.5.2 按照测试技术划分
软件测试按照技术可划分为:白盒测试、黑盒测试及 灰盒测试。
16
A Free sample background from
Slide 17
第1章 软件测试概述
1.5.3 按照执行状态划分 软件测试按照执行状态可划分为静态测试和动态测试。
A Free sample background from
Slide 7
第1章 软件测试概述
(3)质量本身就是软件达到了最开始所设定的要求, 而优美或精巧的表现技巧并不代表软件的高质量。
(4)质量也代表着它符合客户需要。
测试人员的总体目标是确保软件的质量,他们在软件 开发过程中的任务是:寻找错误,避免软件开发过程中的
12
第1章 软件测试概述
3.设计和生成测试用例
IEEE 610.12标准测试用例的定义如下: (1)测试用例是(A)一组输入即运行前提条件,和
为某特定的目标而生成的预期结果,如测试某一特定的程
序路径或验证程序是否符合某特定需求。 (2)测试用例是(B)一个文档,详细说明输入、期 望输出,和为一测试项所准备的执行条件。 从工程实践的角度讲,设计测试用例的各种规则和策 略有几条基本准则。 (1)测试用例的代表性:能够代表各种合理和不合
进。同时通过对软件测试结果的分析整理,为风险评估提
供信息,还可以修正软件开发规则,并为软件可靠性分析 提供依据。
软件质量可用以下几个方面来衡量:
(1)在正确的时间用正确的方法做正确的事情。 (2)符合一些应用标准的要求,比如不同国家中用
户不同的操作习惯和要求,项目工程中的可维护性、可测
试性等要求。
6
9
A Free sample background from
Slide 10
第1章 软件测试概述
1.4 软件测试过程 软件测试是一个复杂的过程,通常包括以下基本的测
试活动:
(1)拟定软件测试计划。 (2)编制软件测试大纲。
(3)设计和生成测试用例。
本章内容包括:
·软件测试基本概念 ·软件测试目的 ·软件测试类型 ·软件测试原则 ·软件测试现状与挑战 ·测试人员职业发展与素质
2
A Free sample background from
Slide 3
第1章 软件测试概述
1.1 什么是软件测试 Glenford J.Myers定义测试是执行程序的过程,其目
在于揭示错误。 ·测试计划的制定应先于测试的执行。
·帕累托法则适用于软件测试。
·软件测试应从“小规模”开始,然后扩展到“大规 模”。
8
A Free sample background from
Slide 9
第1章 软件测试概述
·完全测试是不可能的。 ·要使测试更为有效,测试应由独立的第三方进行。
1.静态测试
静态测试指不运行程序,而通过人工对程序和文档进 行分析和检查。
2.动态测试
动态测试指通过人工或利用工具运行程序进行检查, 分析程序的执行状态和程序的外部表现。
17
A Free sample background from
Slide 18
4
A Free sample background from
Slide 5
第1章 软件测试概述
1.2 软件测试目的 Myers这样来描述软件测试的目的:“测试是程序的
执行过程,目的在于发现错误;一个好的测试用例是指很
可能找到迄今为止尚未发现的错误的用例。一个成功的测 试是指发现了至今尚未发现的错误的测试。”
相关主题