1、A Free sample background from Slide 1第第1章章 软件测试概述软件测试概述1.1 1.1 软件测试背景软件测试背景1.2 1.2 软件测试基础理论软件测试基础理论1.3 1.3 软件开发过程软件开发过程1.4 1.4 软件开发与软件测试的关系软件开发与软件测试的关系1.5 1.5 软件测试过程软件测试过程1.6 1.6 软件质量保证概要软件质量保证概要1.7 1.7 软件测试职业软件测试职业A Free sample background from Slide 2本章教学目标本章教学目标n n正确理解软件测试的背景、软件缺陷和故障正确理解软件测试的背景、软件
2、缺陷和故障的概念的概念 n n正确理解软件测试的意义正确理解软件测试的意义n n正确理解软件开发过程与软件测试的关系正确理解软件开发过程与软件测试的关系n n正确理解软件质量的概念及质量保证体系正确理解软件质量的概念及质量保证体系 n n了解软件测试职业与素质的要求了解软件测试职业与素质的要求 A Free sample background from Slide 3 1.1 软件测试背景软件测试背景1.1.1 1.1.1 软件可靠性问题软件可靠性问题1.1.2 1.1.2 软件缺陷与故障软件缺陷与故障1.1.3 1.1.3 软件缺陷产生的原因软件缺陷产生的原因A Free sample ba
3、ckground from Slide 41.1.1 软件可靠性问题软件可靠性问题n n因软件设计故障与因计算机硬件设计故障而引发的系统因软件设计故障与因计算机硬件设计故障而引发的系统 失效的比例大约是:失效的比例大约是:10:110:1 n n运行软件的驻留故障密度(每千行代码的故障数目):运行软件的驻留故障密度(每千行代码的故障数目):要求很高的关键财务或财产软件为:每千行代码要求很高的关键财务或财产软件为:每千行代码 1 11010个故障个故障 关键的生命软件为:每千行代码关键的生命软件为:每千行代码0.010.011 1个故障个故障 n nIEEEIEEE将软件可靠性定义为:将软件可靠
4、性定义为:系统在特定环境下,在给定系统在特定环境下,在给定系统在特定环境下,在给定系统在特定环境下,在给定的时间内无故障运行的概率。的时间内无故障运行的概率。的时间内无故障运行的概率。的时间内无故障运行的概率。n n软件可靠性是对软件在设计、开发以及所预定的环境下具软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数有能力的置信度的一个度量,是衡量软件质量的主要参数之一。而软件测试则是保证软件质量、提高软件可靠性的之一。而软件测试则是保证软件质量、提高软件可靠性的最重要手段。最重要手段。A Free sample background from
5、Slide 51.1.2 软件缺陷与故障软件缺陷与故障1 1、软件缺陷和软件故障案例、软件缺陷和软件故障案例n n案例案例1 1 美国迪斯尼公司的狮子王游戏软件美国迪斯尼公司的狮子王游戏软件bug bug 兼容性问题兼容性问题n n案例案例2 2 美国航天局火星登陆事故美国航天局火星登陆事故 系统测试系统测试 衔接问题衔接问题 n n案例案例3 3 跨世纪跨世纪“千年虫千年虫”问题问题 n n案例案例4 4 爱国者导弹防御系统炸死自家人爱国者导弹防御系统炸死自家人 系统时钟误差积累系统时钟误差积累 n n案例案例5 5 Windows 2000 Windows 2000 中文输入法漏洞中文输入
6、法漏洞n n案例案例6 6 金山词霸金山词霸bugbug 上述所有实例中的软件问题在软件工程或软件测试中上述所有实例中的软件问题在软件工程或软件测试中上述所有实例中的软件问题在软件工程或软件测试中上述所有实例中的软件问题在软件工程或软件测试中都被称为都被称为都被称为都被称为软件缺陷或软件故障软件缺陷或软件故障软件缺陷或软件故障软件缺陷或软件故障。A Free sample background from Slide 6软件缺陷与故障软件缺陷与故障(续)(续)2 2、软件缺陷的定义、软件缺陷的定义 (1 1)软件未达到产品说明书中已经标明的功能;)软件未达到产品说明书中已经标明的功能;(2 2)
7、软件出现了产品说明书中指明不会出现的错误;)软件出现了产品说明书中指明不会出现的错误;(3 3)软件未达到产品说明书中虽未指出但应当达到的目标;软件未达到产品说明书中虽未指出但应当达到的目标;(4 4)软件功能超出了产品说明书中指明的范围;软件功能超出了产品说明书中指明的范围;(5 5)软件测试人员认为软件难以理解、不易使用,或者最终软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。用户认为该软件使用效果不良。n n举例:计算器内的嵌入式软件举例:计算器内的嵌入式软件 A Free sample background from Slide 7软件缺陷与故障软件缺陷与故
8、障(续)(续)3 3、软件缺陷的特征、软件缺陷的特征n n“看不到看不到”软件的特殊性决定了缺陷不易看到软件的特殊性决定了缺陷不易看到n n“看到但是抓不到看到但是抓不到”发现了缺陷,但不易找到问题发生的原因发现了缺陷,但不易找到问题发生的原因所在所在A Free sample background from Slide 81.1.3 软件缺陷产生的原因软件缺陷产生的原因 图图1-1 1-1 软件缺陷产生的原因分布软件缺陷产生的原因分布其他其他10%软件产品说明软件产品说明书(需求)书(需求)56%编写代码编写代码7%设设 计计27%A Free sample background from
9、Slide 91.2 软件测试基础理论软件测试基础理论1.2.1 1.2.1 软件测试的定义软件测试的定义1.2.2 1.2.2 软件测试的基本理论软件测试的基本理论1.2.3 1.2.3 软件测试和缺陷修复的代价软件测试和缺陷修复的代价1.2.4 1.2.4 软件测试技术概要软件测试技术概要A Free sample background from Slide 101.2.1 软件测试的定义软件测试的定义1 1、软件测试的定义、软件测试的定义 软件测试就是在软件投入运行前,对软件需软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,求分析、设计规格说明和编码实现的
10、最终审查,它是软件质量保证的关键步骤。通常对软件测试它是软件质量保证的关键步骤。通常对软件测试的定义有两种描述:的定义有两种描述:n n定定定定义义义义1 1:软软件件测测试试是是为为了了发发现现错错误误而而执执行行程程序序的的过程。过程。n n定定定定义义义义2 2:软软件件测测试试是是根根据据软软件件开开发发各各阶阶段段的的规规格格说说明明和和程程序序的的内内部部结结构构而而精精心心设设计计的的一一批批测测试试用用例例,并并利利用用这这些些测测试试用用例例运运行行程程序序以以及及发发现现错错误误的过程,即执行测试步骤。的过程,即执行测试步骤。A Free sample background
11、 from Slide 11软件测试的定义软件测试的定义(续)(续)n n测试:测试:测试:测试:所谓测试的含义,首先是一项活动,在这项所谓测试的含义,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行,结果将被观察和记录,并对系统或组成部分进行评价。测试活动有两种结果:找出缺陷和故障,行评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例或显示软件执行正确。测试是一个或多个测试用例的集合。的集合。n n测试用例:测试用例:测试用例:测试用例:所谓测试用例
12、是为特定的目的而设计的所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。是执行测试的最小实体。n n测试步骤:测试步骤:测试步骤:测试步骤:测试步骤详细规定了如何设置、执行、测试步骤详细规定了如何设置、执行、评估特定的测试用例。评估特定的测试用例。A Free sample background from Slide 12软件测试的定义软件测试的定义(续)(续)2 2、软件测试的基本问题、软件测试的基本问题n n软件生命周期:软件生命周期:一个软件生命周期包括制定计划、一个软件生命周期包括制定计划、需
13、求分析定义、软件设计、程序编码、软件测试、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等软件运行、软件维护、软件停用等8 8个阶段。个阶段。n n软件测试的对象:软件测试的对象:软件测试不等于程序测试。软件测试不等于程序测试。软件测试贯串于软件定义和开发的整个过程。软件测试贯串于软件定义和开发的整个过程。软件开发过程中所产生的软件开发过程中所产生的需求规格说明、概要需求规格说明、概要设计规格说明设计规格说明、详细设计规格说明详细设计规格说明以及以及源程序源程序都是都是软件测试的对象。软件测试的对象。A Free sample background from Slid
14、e 13软件测试的定义软件测试的定义(续)(续)2 2、软件测试的基本问题(续)、软件测试的基本问题(续)n n软件测试在软件生命周期中横跨两个阶段:软件测试在软件生命周期中横跨两个阶段:第第一一个个阶阶段段:单单元元测测试试阶阶段段,即即在在每每个个模模块块编编写写出出以后所做的必要测试。以后所做的必要测试。第第二二个个阶阶段段:综综合合测测试试阶阶段段,即即在在完完成成单单元元测测试试后后进行的测试,如集成测试、系统测试、验收测试。进行的测试,如集成测试、系统测试、验收测试。n n软件测试涉及的关键问题包括四个方面:软件测试涉及的关键问题包括四个方面:(1 1)测试由谁来执行。)测试由谁来
15、执行。(2 2)测试什么。)测试什么。(3 3)什么时候进行测试。)什么时候进行测试。(4 4)怎样进行测试。)怎样进行测试。A Free sample background from Slide 141.2.2 软件测试的基本理论软件测试的基本理论 1 1、软件测试的目的、软件测试的目的(1 1)测试是程序的执行过程,目的在于发现错误;)测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。不能证明程序的正确性,除非仅处理有限种情况。(2 2)检查系统是否满足需求也是测试的期望目标。)检查系统是否满足需求也是测试的期望目标。(3 3)一个好的测试用例在于发现了还
16、未曾发现的错)一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。误;一次成功的测试则是发现了错误的测试。注意:测试无法说明错误不存在,只能说明软件注意:测试无法说明错误不存在,只能说明软件注意:测试无法说明错误不存在,只能说明软件注意:测试无法说明错误不存在,只能说明软件错误已出现。错误已出现。错误已出现。错误已出现。A Free sample background from Slide 15软件测试的基本理论软件测试的基本理论(续)(续)2 2、软件测试的原则、软件测试的原则(1 1)尽早地和及时地测试;)尽早地和及时地测试;(2 2)测试用例应当由测试数据和与之对应的预期结果这两部)测试用例应当由测试数据和与之对应的预期结果这两部分组成;分组成;(3 3)在程序提交测试后,应当由专门的测试人员进行测试;)在程序提交测试后,应当由专门的测试人员进行测试;(4 4)测试用例应包括合理的输入条件和不合理的输入条件;)测试用例应包括合理的输入条件和不合理的输入条件;(5 5)严格执行测试计划,排除测试的随意性;)严格执行测试计划,排除测试的随意性;(6 6)充
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1