软件工程导论软件测试课件

上传人:re****.1 文档编号:568790979 上传时间:2024-07-26 格式:PPT 页数:156 大小:939.02KB
返回 下载 相关 举报
软件工程导论软件测试课件_第1页
第1页 / 共156页
软件工程导论软件测试课件_第2页
第2页 / 共156页
软件工程导论软件测试课件_第3页
第3页 / 共156页
软件工程导论软件测试课件_第4页
第4页 / 共156页
软件工程导论软件测试课件_第5页
第5页 / 共156页
点击查看更多>>
资源描述

《软件工程导论软件测试课件》由会员分享,可在线阅读,更多相关《软件工程导论软件测试课件(156页珍藏版)》请在金锄头文库上搜索。

1、软件工程导论(软件工程导论(7)软件测试软件测试南京理工大学南京理工大学汪惠芬汪惠芬2019年年10月月6日日第七章第七章 软件测试软件测试引言引言软件系统的开发体现了人们智力劳动软件系统的开发体现了人们智力劳动软件系统的开发体现了人们智力劳动软件系统的开发体现了人们智力劳动的成果。在软件开发过程中,尽管人们利的成果。在软件开发过程中,尽管人们利的成果。在软件开发过程中,尽管人们利的成果。在软件开发过程中,尽管人们利用了许多旨在改进、保证软件质量的方法用了许多旨在改进、保证软件质量的方法用了许多旨在改进、保证软件质量的方法用了许多旨在改进、保证软件质量的方法去分析、设计和实现软件,但难免会在工

2、去分析、设计和实现软件,但难免会在工去分析、设计和实现软件,但难免会在工去分析、设计和实现软件,但难免会在工作中犯这样那样的错误。这样,在软件产作中犯这样那样的错误。这样,在软件产作中犯这样那样的错误。这样,在软件产作中犯这样那样的错误。这样,在软件产品中就会隐藏许多的错误和缺陷。对于规品中就会隐藏许多的错误和缺陷。对于规品中就会隐藏许多的错误和缺陷。对于规品中就会隐藏许多的错误和缺陷。对于规模大、复杂性高的软件更是如此。在这些模大、复杂性高的软件更是如此。在这些模大、复杂性高的软件更是如此。在这些模大、复杂性高的软件更是如此。在这些错误中,有些甚至是致命的错误,如果不错误中,有些甚至是致命的

3、错误,如果不错误中,有些甚至是致命的错误,如果不错误中,有些甚至是致命的错误,如果不排除,就会导致财产以至生命的重大损失。排除,就会导致财产以至生命的重大损失。排除,就会导致财产以至生命的重大损失。排除,就会导致财产以至生命的重大损失。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20242软软 件件 工工 程程 导导 论论第七章第七章 软件测试软件测试引言引言例如,例如,例如,例如,19631963年美国发生了这样一件事:一年美国发生了这样一件事:一年美国发生了这样一件事:一年美国发生了这样一件事:一个个个个FORTRANFORTRAN程序的循环语句:程序的循环语

4、句:程序的循环语句:程序的循环语句: DO 5 I DO 5 I1, 31, 3被误写成:被误写成:被误写成:被误写成:DO 5 IDO 5 I1. 31. 3由于空格对由于空格对由于空格对由于空格对FORTRANFORTRAN编译程序没有意义,编译程序没有意义,编译程序没有意义,编译程序没有意义,误写的语句被当作了赋值语句:误写的语句被当作了赋值语句:误写的语句被当作了赋值语句:误写的语句被当作了赋值语句:DO5IDO5I1.31.3这里这里这里这里“ “,” ”被误写为被误写为被误写为被误写为“.”“.”,一点之差致,一点之差致,一点之差致,一点之差致使飞往火星的火箭爆炸,造成使飞往火星的

5、火箭爆炸,造成使飞往火星的火箭爆炸,造成使飞往火星的火箭爆炸,造成10001000万美元万美元万美元万美元的损失。这种情况迫使人们必须认真计划、的损失。这种情况迫使人们必须认真计划、的损失。这种情况迫使人们必须认真计划、的损失。这种情况迫使人们必须认真计划、彻底地进行软件测试。彻底地进行软件测试。彻底地进行软件测试。彻底地进行软件测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20243软软 件件 工工 程程 导导 论论第七章第七章 软件测试软件测试7.1 软件测试的基础软件测试的基础7.2 测试用例设计测试用例设计7.3 白盒测试的测试用例设白盒测试的测试用例

6、设计计7.4 黑盒测试的测试用例设黑盒测试的测试用例设计计7.5 软件测试的策略软件测试的策略7.6 人工测试人工测试7.7 调试(调试(Debug,排错),排错)7.8 本章小结本章小结测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20244软软 件件 工工 程程 导导 论论7.1 软件测试的基础软件测试的基础7.1.1 软件测试的概念软件测试的概念7.1.2 软件测试的目的和原则软件测试的目的和原则7.1.3 软件测试的对象软件测试的对象7.1.4 测试信息流测试信息流7.1.5 测试与软件开发各阶段的关测试与软件开发各阶段的关系系测试基础用例设计白盒测试黑盒测

7、试本章小结测试策略人工测试调试排错7/26/20245软软 件件 工工 程程 导导 论论7.1.1 软件测试的概念软件测试的概念概述:概述:软软件件测测试试是是在在软软件件投投入入生生产产性性运运行行之之前前,对对软软件件需需求求分分析析、设设计计规规格格说说明明和和编编码码的的最最终终复复审审,是是软软件件质质量量保保证证的的关关键步骤。键步骤。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20246软软 件件 工工 程程 导导 论论7.1.1 软件测试的概念软件测试的概念定义:定义:软软件件测测试试是是为为了了发发现现错错误误而而执执行程序的过程。行程序的过程。

8、或或者者说说,软软件件测测试试是是根根据据软软件件开开发发各各阶阶段段的的规规格格说说明明和和程程序序的的内内部部结结构构而而精精心心设设计计一一批批测测试试用用例例,并并利利用用这这些些测测试试用用例例取取运运行行程程序序,以发现程序错误的过程。以发现程序错误的过程。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20247软软 件件 工工 程程 导导 论论7.1.1 软件测试的概念软件测试的概念 软件测试在软件生存期中软件测试在软件生存期中横跨两个阶段:横跨两个阶段:通常在编写出每一模块后就对通常在编写出每一模块后就对它作单元测试。模块的编写者它作单元测试。模块的

9、编写者与测试者是同一个人。与测试者是同一个人。在每个模块都完成单元测试后,在每个模块都完成单元测试后,对软件系统还要进行各种综合对软件系统还要进行各种综合测试,通常由专门的测试人员测试,通常由专门的测试人员承担这项工作。承担这项工作。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20248软软 件件 工工 程程 导导 论论7.1.2 软件测试的目的和原则软件测试的目的和原则概述:概述:从用户角度出发:从用户角度出发:希望通过软希望通过软件测试暴露软件中隐藏的错误件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受和缺陷,以考虑是否可以接受该产品;该产品;从软件开发者

10、的角度出发:从软件开发者的角度出发:希希望测试成为表明软件产品中不望测试成为表明软件产品中不存在错误的过程,验证该软件存在错误的过程,验证该软件已正确地实现了用户的要求,已正确地实现了用户的要求,确立人们对软件质量的信心。确立人们对软件质量的信心。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/20249软软 件件 工工 程程 导导 论论7.1.2 软件测试的目的和原则软件测试的目的和原则测试目的:测试目的:测试是程序的执行过程,目的测试是程序的执行过程,目的在于发现错误;在于发现错误;一个好的测试用例在于能发现一个好的测试用例在于能发现至今未发现的错误;至今未发现的

11、错误;一个成功的测试是发现了至今一个成功的测试是发现了至今未发现的错误的测试。未发现的错误的测试。 也也就就是是说说,设设计计测测试试的的目目标标是是想想以以最最少少的的时时间间和和人人力力系系统统地地找找出出软软件中潜在的各种错误和缺陷。件中潜在的各种错误和缺陷。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202410软软 件件 工工 程程 导导 论论7.1.2 软件测试的目的和原则软件测试的目的和原则测试原则:测试原则:应应应应当当当当把把把把“ “尽尽尽尽早早早早地地地地和和和和不不不不断断断断地地地地进进进进行行行行软软软软件件件件测试测试测试测试” ”作

12、为软件开发者的座右铭;作为软件开发者的座右铭;作为软件开发者的座右铭;作为软件开发者的座右铭;测测测测试试试试用用用用例例例例应应应应由由由由测测测测试试试试输输输输入入入入数数数数据据据据和和和和与与与与之之之之对应的预期输出结果这两部分组成;对应的预期输出结果这两部分组成;对应的预期输出结果这两部分组成;对应的预期输出结果这两部分组成;程序员应避免检查自己的程序;程序员应避免检查自己的程序;程序员应避免检查自己的程序;程序员应避免检查自己的程序;在在在在设设设设计计计计测测测测试试试试用用用用例例例例时时时时,应应应应当当当当包包包包括括括括合合合合理理理理的输入条件和不合理输入条件的输入

13、条件和不合理输入条件的输入条件和不合理输入条件的输入条件和不合理输入条件;测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202411软软 件件 工工 程程 导导 论论7.1.2 软件测试的目的和原则软件测试的目的和原则测试原则:测试原则:充分注意测试中的群集现象;充分注意测试中的群集现象;严格执行测试计划,排除测试严格执行测试计划,排除测试的随意性;的随意性;应当对每一个测试结果作全面应当对每一个测试结果作全面检查;检查;妥善保存测试计划、测试用例、妥善保存测试计划、测试用例、出错统计和最终分析报告,为出错统计和最终分析报告,为维护提供方便。维护提供方便。测试基础用

14、例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202412软软 件件 工工 程程 导导 论论7.1.3 软件测试的对象软件测试的对象软软件件测测试试并并不不等等于于程程序序测测试试。软软件件测测试试应应贯贯穿穿于于软软件件定定义义与与开开发发的的整整个个期期间间。因因此此,需需求求分分析析、概概要要设设计计、详详细细设设计计以以及及程程序序编编码码等等各各阶阶段段所所得得到到的的文文档档资资料料,包包括括需需求求规规格格说说明明、概概要要设设计计规规格格说说明明、详详细细设设计计规规格格说说明明以以及及源源程程序序,都都应应成成为为软软件件测测试试的的对对象象。软软件件测测试

15、试不不应应仅仅限限在在程程序序测测试试的的狭狭小小范范围围内内,而置其它阶段的工作于不顾。而置其它阶段的工作于不顾。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202413软软 件件 工工 程程 导导 论论7.1.3 软件测试的对象软件测试的对象软件测试包括确认和验证工作:软件测试包括确认和验证工作:确确确确认认认认(validationvalidation),是是是是一一一一系系系系列列列列的的的的活活活活动动动动和和和和过过过过程程程程,其其其其目目目目的的的的是是是是想想想想证证证证实实实实在在在在一一一一个个个个给给给给定定定定的的的的外部环境中软件的逻辑

16、正确性。外部环境中软件的逻辑正确性。外部环境中软件的逻辑正确性。外部环境中软件的逻辑正确性。vv静静静静态态态态确确确确认认认认:通通通通过过过过人人人人工工工工分分分分析析析析或或或或程程程程序序序序正正正正确确确确性性性性证证证证明来确认程序的正确性;明来确认程序的正确性;明来确认程序的正确性;明来确认程序的正确性;vv动动动动态态态态确确确确认认认认:通通通通过过过过动动动动态态态态分分分分析析析析和和和和程程程程序序序序测测测测试试试试来来来来检检检检查程序的执行状态,以确认程序是否正确。查程序的执行状态,以确认程序是否正确。查程序的执行状态,以确认程序是否正确。查程序的执行状态,以确

17、认程序是否正确。验验验验证证证证(verificationverification):视视视视图图图图证证证证明明明明在在在在软软软软件件件件生生生生存存存存期期期期各各各各个个个个阶阶阶阶段段段段,以以以以及及及及阶阶阶阶段段段段间间间间的的的的逻逻逻逻辑辑辑辑协调性、完备性和正确性。协调性、完备性和正确性。协调性、完备性和正确性。协调性、完备性和正确性。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202414软软 件件 工工 程程 导导 论论7.1.3 软件测试的对象软件测试的对象软件生存期各个阶段之间需要保持的正确性软件生存期各个阶段之间需要保持的正确性软件

18、生存期各个阶段之间需要保持的正确性软件生存期各个阶段之间需要保持的正确性测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错用户要求用户要求用户:用户:我要什么?我要什么?运行结果运行结果计算机:计算机:程序运行得程序运行得到的结果到的结果设计说明书设计说明书设计原:设计原:我要让程序我要让程序做什么?做什么?源程序源程序程序员:程序员:我要让计算我要让计算机怎么做?机怎么做?需求说明书需求说明书分析员:分析员:我可以提供我可以提供什么?什么?12345相符吗相符吗?理解正确性理解正确性表达正确性表达正确性运行正确性运行正确性输入正确性输入正确性理解正确性理解正确性编码正确性编码正

19、确性理解正确性理解正确性设计正确性设计正确性表达正确性表达正确性7/26/202415软软 件件 工工 程程 导导 论论7.1.4 测试信息流测试信息流测试过程需要三类输入:测试过程需要三类输入:软件配置软件配置软件配置软件配置:包括软件需求规格说明、:包括软件需求规格说明、:包括软件需求规格说明、:包括软件需求规格说明、软件设计规格说明、源代码等;软件设计规格说明、源代码等;软件设计规格说明、源代码等;软件设计规格说明、源代码等;测试配置测试配置测试配置测试配置:包括测试计划、测试计:包括测试计划、测试计:包括测试计划、测试计:包括测试计划、测试计划、测试驱动程序等;划、测试驱动程序等;划、

20、测试驱动程序等;划、测试驱动程序等;测试工具测试工具测试工具测试工具:包括测试数据自动生成:包括测试数据自动生成:包括测试数据自动生成:包括测试数据自动生成程序、静态分析程序、动态分析程程序、静态分析程序、动态分析程程序、静态分析程序、动态分析程程序、静态分析程序、动态分析程序、测试结果分析程序以及驱动测序、测试结果分析程序以及驱动测序、测试结果分析程序以及驱动测序、测试结果分析程序以及驱动测试的测试数据库等。试的测试数据库等。试的测试数据库等。试的测试数据库等。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202416软软 件件 工工 程程 导导 论论7.1.4

21、测试信息流测试信息流测试信息流测试信息流测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错可靠性可靠性分析分析结果结果分析分析测试测试排错排错错误错误改正的软件改正的软件预测的可靠性预测的可靠性 果果 结结 试试测测 预预 期期 结结果果软件配置软件配置测试配置测试配置测试工具测试工具出出 错错 率率 数数 据据7/26/202417软软 件件 工工 程程 导导 论论7.1.5 测试与软件开发各阶段的关测试与软件开发各阶段的关系系软件开发过程是一个自顶软件开发过程是一个自顶向下、逐步细化的过程,而测向下、逐步细化的过程,而测试过程则是依相反的顺序安排试过程则是依相反的顺序安排的、

22、自底向上、逐步集成的过的、自底向上、逐步集成的过程。低一级测试为上一级测试程。低一级测试为上一级测试准备条件。当然不排除两者平准备条件。当然不排除两者平行地进行测试。行地进行测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202418软软 件件 工工 程程 导导 论论7.1.5 测试与软件开发各阶段的关测试与软件开发各阶段的关系系软件测试与软件开发过程的关系软件测试与软件开发过程的关系测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错需求分析需求分析确认测试确认测试设计设计集成测试集成测试编程编程单元测试单元测试需求分析需求分析说明书说明书概要设计

23、概要设计说明书说明书详细设计详细设计说明书说明书源程序源程序代码代码确认确认测试测试集成集成测试测试单元单元测试测试7/26/202419软软 件件 工工 程程 导导 论论7.2 测试用例设计测试用例设计 任任何何工工程程产产品品都都可可以以使使用用以以下两种方法之一进行测试:下两种方法之一进行测试:黑黑盒盒测测试试:已已知知产产品品的的功功能能设设计计规规格格,可可以以进进行行测测试试证证明明每每个个实实现了的功能是否符合要求;现了的功能是否符合要求;白白盒盒测测试试:已已知知产产品品的的内内部部工工作作过过程程,可可以以通通过过测测试试证证明明每每种种内内部部操操作作是是否否符符合合设设计

24、计规规格格要要求求,所有内部成分是否已经过检查。所有内部成分是否已经过检查。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202420软软 件件 工工 程程 导导 论论黑盒测试黑盒测试 黑盒测试主要根据软件的外部黑盒测试主要根据软件的外部特性进行,主要为了发现:特性进行,主要为了发现:是否有不正确或遗漏了的功能?是否有不正确或遗漏了的功能?是否有不正确或遗漏了的功能?是否有不正确或遗漏了的功能?在接口上输入能否正确地接受?在接口上输入能否正确地接受?在接口上输入能否正确地接受?在接口上输入能否正确地接受?能否输出正确的结果?能否输出正确的结果?能否输出正确的结果?能

25、否输出正确的结果?是否有数据结构或外部信息访问错误是否有数据结构或外部信息访问错误是否有数据结构或外部信息访问错误是否有数据结构或外部信息访问错误?性能上是否能够满足要求?性能上是否能够满足要求?性能上是否能够满足要求?性能上是否能够满足要求?是否有初始化或终止性错误?是否有初始化或终止性错误?是否有初始化或终止性错误?是否有初始化或终止性错误?测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2 测试用例设计测试用例设计7/26/202421软软 件件 工工 程程 导导 论论白盒测试白盒测试 白盒测试是对软件的过程性细节白盒测试是对软件的过程性细节作细致的检查,主要对程序模

26、块进行作细致的检查,主要对程序模块进行检查:检查:对程序模块的所有独立的执行路径至少对程序模块的所有独立的执行路径至少对程序模块的所有独立的执行路径至少对程序模块的所有独立的执行路径至少测试一次;测试一次;测试一次;测试一次;对所有的逻辑判定,取对所有的逻辑判定,取对所有的逻辑判定,取对所有的逻辑判定,取“ “真真真真” ”与取与取与取与取“ “假假假假” ”的两种情况都能至少测试一次;的两种情况都能至少测试一次;的两种情况都能至少测试一次;的两种情况都能至少测试一次;在循环的边界和运行界限内执行循环体;在循环的边界和运行界限内执行循环体;在循环的边界和运行界限内执行循环体;在循环的边界和运行

27、界限内执行循环体;测试内部数据结构的有效性。测试内部数据结构的有效性。测试内部数据结构的有效性。测试内部数据结构的有效性。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2 测试用例设计测试用例设计7/26/202422软软 件件 工工 程程 导导 论论但对一个具有多种选择和循但对一个具有多种选择和循环体嵌套的程序,不同的路径数环体嵌套的程序,不同的路径数据可能是天文数字。而且即使精据可能是天文数字。而且即使精确地实现了白盒测试,也不能断确地实现了白盒测试,也不能断言测试过的程序完全正确。言测试过的程序完全正确。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排

28、错7.2 测试用例设计测试用例设计7/26/202423软软 件件 工工 程程 导导 论论例例例例如如如如,100100行行行行源源源源代代代代码码码码,包包包包括括括括一一一一个个个个执执执执行行行行达达达达2020次次次次的的的的循循循循环环环环,共共共共包包包包含含含含不不不不同同同同执执执执行行行行路路路路径径径径数数数数高高高高达达达达5 52020(10101313),如如如如进进进进行行行行穷穷穷穷举举举举测测测测试试试试,假假假假设设设设测测测测试试试试需需需需要要要要1 1毫毫毫毫秒秒秒秒条条条条,一一一一天天天天工工工工作作作作2424小小小小时时时时,一一一一年年年年工工

29、工工作作作作365365天天天天,则则则则 测测测测 试试试试 完完完完 成成成成 需需需需 要要要要31703170年。年。年。年。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2 测试用例设计测试用例设计循环循环20次次7/26/202424软软 件件 工工 程程 导导 论论7.3 白盒测试的测试用例设白盒测试的测试用例设计计7.3.1 逻辑覆盖逻辑覆盖7.3.2 语句覆盖语句覆盖7.3.3 判定覆盖判定覆盖7.3.4 条件覆盖条件覆盖7.3.5 判定条件覆盖判定条件覆盖7.3.6 条件组合覆盖条件组合覆盖7.3.7 路径覆盖路径覆盖测试基础用例设计白盒测试黑盒测试本

30、章小结测试策略人工测试调试排错7/26/202425软软 件件 工工 程程 导导 论论7.3.1 逻辑覆盖逻辑覆盖逻逻辑辑覆覆盖盖是是以以程程序序内内部部的的逻逻辑辑结结构构为为基基础础的的设设计计测测试试用用例例的的技技术术。它它属属于于白白盒盒测测试试。这这一一方方法法要要求求测测试试人人员员对对程程序序的的逻逻辑辑结结构构有有清清楚楚的的了了解解,甚甚至至要要能能掌掌握握源源程程序序的的所所有有细细节节。由由于覆盖测试的目标不同,又可分为:于覆盖测试的目标不同,又可分为:语句覆盖语句覆盖语句覆盖语句覆盖判定覆盖判定覆盖判定覆盖判定覆盖判定条件覆盖判定条件覆盖判定条件覆盖判定条件覆盖条件组

31、合覆盖条件组合覆盖条件组合覆盖条件组合覆盖路径覆盖路径覆盖路径覆盖路径覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202426软软 件件 工工 程程 导导 论论7.3.1 逻辑覆盖逻辑覆盖测试用例设计参考实例测试用例设计参考实例4条路径:条路径:L1:aceL2:abdL3:abeL4:acd测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错(A1)(B=0)(A2)(X1)X=X/AX=X+1FFTTabcde7/26/202427软软 件件 工工 程程 导导 论论7.3.1 逻辑覆盖逻辑覆盖各路径逻辑式:各路径逻辑式:L1L1(a ac ce

32、 e)L2L2( a ab bd d )测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202428软软 件件 工工 程程 导导 论论7.3.1 逻辑覆盖逻辑覆盖各路径逻辑式:各路径逻辑式:L3(abe)L4(acd)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202429软软 件件 工工 程程 导导 论论7.3.2 语句覆盖语句覆盖概述:概述:所所谓谓语语句句覆覆盖盖就就是是设设计计若若干干个个测测试试用用例例,运运行行被被测测程程序序,使使得得每每一个可执行语句至少执行一次。一个可执行语句至少执行一次。实实例例中中正正好好所所有有的的

33、可可执执行行语语句句都都在在路路径径L1上上,所所以以选选择择路路径径L1设设计计测测试试用用例例,就就可可以以覆覆盖盖所所有有可可执执行语句。行语句。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202430软软 件件 工工 程程 导导 论论7.3.2 语句覆盖语句覆盖测试用例设计格式:测试用例设计格式:【输输入入的的(A,B,X),输输出出的的(A,B,X)】实例的测试用例:实例的测试用例:【(2,0,4),(2,0,3)】覆覆盖盖ace【L1】测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202431软软 件件 工工 程程 导导 论

34、论7.3.3 判定覆盖判定覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:概述:所所谓谓判判定定覆覆盖盖就就是是设设计计若若干干个个测测试试用用例例,运运行行被被测测程程序序,使使得得程程序序中中每每个个判判断断的的取取真真分分支支和和取取假假分分支至少经历一次。故又称分支覆盖。支至少经历一次。故又称分支覆盖。实实例例中中选选择择路路径径L1和和L2,或或者者L3和和L4设设计计测测试试用用例例,均均可可以以覆覆盖盖所有判定分支。所有判定分支。7/26/202432软软 件件 工工 程程 导导 论论7.3.3 判定覆盖判定覆盖测试基础用例设计白盒测试黑盒测试本章小结测

35、试策略人工测试调试排错实例的测试用例:实例的测试用例:选择选择选择选择L1L1和和和和L2L2得到测试用例:得到测试用例:得到测试用例:得到测试用例:【(2 2,0 0,4 4), ,(2 2,0 0,3 3)】覆盖覆盖覆盖覆盖aceace【L1L1】【(1 1,1 1,1 1), ,(1 1,1 1,1 1)】覆盖覆盖覆盖覆盖abdabd【L2L2】选择选择选择选择L3L3和和和和L4L4得到测试用例:得到测试用例:得到测试用例:得到测试用例:【(2 2,1 1,1 1), ,(2 2,1 1,2 2)】覆盖覆盖覆盖覆盖abeabe【L3L3】 【(3 3,0 0,3 3), ,(3 3,1

36、 1,1 1)】覆盖覆盖覆盖覆盖acdacd【L4L4】7/26/202433软软 件件 工工 程程 导导 论论7.3.4 条件覆盖条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:概述:所所谓谓条条件件覆覆盖盖就就是是设设计计若若干干个个测测试试用用例例,运运行行被被测测程程序序,使使得得程程序序中中每每个个判判断断的的每每个个条条件件的的可可能能取取值至少执行一次。实例中记:值至少执行一次。实例中记:判断判断判断判断条件条件条件条件取真取真取真取真取假取假取假取假第一个判断第一个判断第一个判断第一个判断A1A1T1T1B=0B=0T2T2第二个判断第二个判断第二

37、个判断第二个判断A=2A=2T3T3X1X1T4T47/26/202434软软 件件 工工 程程 导导 论论实例的测试用例:实例的测试用例:选择选择L1、L2、L3得到测试用例:得到测试用例:选择选择L3得到测试用例:得到测试用例:7.3.4 条件覆盖条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错测试用例测试用例测试用例测试用例通过路径通过路径通过路径通过路径条件取值条件取值条件取值条件取值覆盖分支覆盖分支覆盖分支覆盖分支【(2,0,4),(2,0,3(2,0,4),(2,0,3) ) 】aceace(L1L1)c c,e e【(1,0,1),(1,0,1(1,0,1

38、),(1,0,1) ) 】abdabd(L2L2)b b,d d【(2,1,1),(2,1,2(2,1,1),(2,1,2) ) 】abeabe(L3L3)b b,e e测试用例测试用例测试用例测试用例通过路径通过路径通过路径通过路径条件取值条件取值条件取值条件取值覆盖分支覆盖分支覆盖分支覆盖分支【(1,0,3),(1,0,4(1,0,3),(1,0,4) ) 】abdabd(L3L3)b b,e e【(2,1,1),(2,1,2(2,1,1),(2,1,2) ) 】abeabe(L3L3)b b,e e7/26/202435软软 件件 工工 程程 导导 论论7.3.5 判定条件覆盖判定条件覆

39、盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:概述:所所谓谓判判定定条条件件覆覆盖盖就就是是设设计计足足够够的的测测试试用用例例,使使得得判判断断中中每每个个条条件件的的所所有有可可能能取取值值至至少少执执行行一一次次,同同时时每每个个判判断断本本身身的的所所有可能判断结果至少执行一次。有可能判断结果至少执行一次。7/26/202436软软 件件 工工 程程 导导 论论实例的测试用例:实例的测试用例:实实例例中中只只须须设设计计两两个个测测试试用用例例即即可可覆覆盖盖8个个条条件取值及件取值及4个判断分支:个判断分支:从从表表面面上上看看,判判定定条条件件覆覆盖盖测测

40、试试了了所所有有条条件件的的取取值值,但但实实际际上上有有些些条条件件并并没没有有检检查查到到。如如第第一一个个判判断断中中的的(B=0)和和第第二二个个判判断断中中的(的(X1)。)。7.3.5 判定条件覆盖判定条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错测试用例测试用例测试用例测试用例通过路径通过路径通过路径通过路径条件取值条件取值条件取值条件取值覆盖分支覆盖分支覆盖分支覆盖分支【(2,0,4),(2,0,3(2,0,4),(2,0,3) ) 】aceace(L1L1)c c,e e【(1,1,1),(1,1,1(1,1,1),(1,1,1) ) 】abdabd

41、(L2L2)b b,d d7/26/202437软软 件件 工工 程程 导导 论论7.3.5 判定条件覆盖判定条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错为为彻彻底底检检查查所所有有条条件件的的取取值值,可可以以将将实实例例图图中中的的多多重重判判定定分分解解,形形成成由由多多个个基基本本判判断断组组成成的的流流程程图图,这这样样可以有效地检查所有的条件是否正确。可以有效地检查所有的条件是否正确。(A1)X=X/AX=X+1(B=0)(A=2)(X1)7/26/202438软软 件件 工工 程程 导导 论论7.3.6 条件组合覆盖条件组合覆盖测试基础用例设计白盒测试

42、黑盒测试本章小结测试策略人工测试调试排错概述:概述:所所谓谓条条件件组组合合覆覆盖盖就就是是设设计计足足够够的的测测试试用用例例,运运行行被被测测程程序序,使使得得程程序序中中每每个个判判断断的的所所有有可可能能的的取取值组合至少执行一次。值组合至少执行一次。实实例例中中有有两两个个判判断断,每每个个判判断断各各有有两两个个条条件件,所所以以各各有有4个个条条件件取取值值的的组组合合,可可用用4个个测测试试用用例例覆覆盖盖8个条件取值的组合。个条件取值的组合。7/26/202439软软 件件 工工 程程 导导 论论7.3.6 条件组合覆盖条件组合覆盖测试基础用例设计白盒测试黑盒测试本章小结测试

43、策略人工测试调试排错实例中各判断条件取值组合标记:实例中各判断条件取值组合标记:标记标记标记标记条件条件条件条件覆盖条件覆盖条件覆盖条件覆盖条件判断判断判断判断分支分支分支分支第一个第一个第一个第一个取真取真取真取真取假取假取假取假取假取假取假取假取假取假取假取假第二个第二个第二个第二个取真取真取真取真取真取真取真取真取真取真取真取真取假取假取假取假7/26/202440软软 件件 工工 程程 导导 论论7.3.6 条件组合覆盖条件组合覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错实例测试用例:实例测试用例:测试用例测试用例测试用例测试用例通过路径通过路径通过路径通过路径

44、覆盖条件覆盖条件覆盖条件覆盖条件覆盖组合号覆盖组合号覆盖组合号覆盖组合号【(2,0,4), (2,0,4), (2,0,3)(2,0,3)】aceace(L1L1), 【(2,1,1), (2,1,1), (2,1,2)(2,1,2)】abeabe(L3L3), 【(1,0,3), (1,0,3), (1,0,4)(1,0,4)】abeabe(L3L3), 【(1,1,1), (1,1,1), (1,1,1)(1,1,1)】abdabd(L2L2), 7/26/202441软软 件件 工工 程程 导导 论论7.3.7 路径测试路径测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试

45、排错概述:概述:所所谓谓路路径径覆覆盖盖就就是是设设计计足足够够的的测测试试用用例例,运运行行被被测测程程序序,使使得得程程序序中中所所有有可可能能的的路路径径至至少少执执行一次。行一次。实实例例中中设设计计4个个测测试试用用例例即即可可覆覆盖盖该该程程序序段段的的所所有有路路径径L1、L2、L3和和L4。7/26/202442软软 件件 工工 程程 导导 论论7.3.7 路径测试路径测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错实例测试用例:实例测试用例:测试用例测试用例测试用例测试用例通过路径通过路径通过路径通过路径覆盖条件覆盖条件覆盖条件覆盖条件【(2,0,4),

46、(2,0,4), (2,0,3) (2,0,3) 】aceace(L1L1)【(1,1,1), (1,1,1), (1,1,1) (1,1,1) 】abeabe(L2L2)【(1,1,2), (1,1,2), (1,1,3) (1,1,3) 】abeabe(L3L3)【(3,0,3), (3,0,3), (3,0,1) (3,0,1) 】abdabd(L4L4)7/26/202443软软 件件 工工 程程 导导 论论7.4 黑盒测试的测试用例设黑盒测试的测试用例设计计7.4.1 等价类划分等价类划分7.4.2 边界值分析边界值分析7.4.3 错误推测法错误推测法7.4.4 因果图因果图测试基础

47、用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202444软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分概述概述等价类划分是一种典型的黑等价类划分是一种典型的黑盒测试方法,也是一种非常实用盒测试方法,也是一种非常实用的重要测试方法。的重要测试方法。使用这一方法设计测试用例使用这一方法设计测试用例要经历划分等价类(列出等价类要经历划分等价类(列出等价类表)和选取测试用例两步。表)和选取测试用例两步。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202445软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分步骤步骤

48、1)划分等价类)划分等价类首首先先将将数数目目极极多多的的输输入入数数据据(有有效效的的和和无无效效的的)划划分分为为若若干干等等价价类类。所所谓谓等等价价类类是是指指某某个个输输入入域域的的子子集集合合。在在该该子子集集中中,各各个个输输入入数数据据对对于于揭揭露露程程序序中中的的错错误误都都是是等等效效的的。并并合合理理地地假假定定:测测试试某某等等价价的的代代表表值值等等价价于于对对这一类其它值的测试。这一类其它值的测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202446软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分步骤步骤1)划分

49、等价类)划分等价类等价类划分有两种情况:等价类划分有两种情况:有有效效等等价价类类:是是指指对对于于程程序序的的规规格格来来说说,是是合合理理的的、有有意意义义的输入数据构成的集合。的输入数据构成的集合。无无效效等等价价类类:是是指指对对于于程程序序的的规规格格说说明明来来说说,是是不不合合理理的的、无意义的输入数据构成的集合。无意义的输入数据构成的集合。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202447软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分步骤步骤1)划分等价类)划分等价类划分等价类的原则:划分等价类的原则:如如如如果果果果输输

50、输输入入入入条条条条件件件件规规规规定定定定了了了了取取取取值值值值范范范范围围围围或或或或值值值值的的的的个个个个数数数数,则则则则可可可可以以以以确确确确立立立立一一一一个个个个有有有有效效效效等等等等价价价价类类类类和和和和两两两两个个个个无效等价类。无效等价类。无效等价类。无效等价类。如如如如果果果果输输输输入入入入条条条条件件件件规规规规定定定定了了了了输输输输入入入入值值值值的的的的集集集集合合合合,或或或或者者者者是是是是规规规规定定定定了了了了“ “必必必必须须须须如如如如何何何何” ”的的的的条条条条件件件件,则则则则可可可可确立一个有效等价类和一个无效等价类。确立一个有效等

51、价类和一个无效等价类。确立一个有效等价类和一个无效等价类。确立一个有效等价类和一个无效等价类。如如如如果果果果输输输输入入入入条条条条件件件件是是是是一一一一个个个个布布布布尔尔尔尔值值值值,则则则则可可可可以以以以确确确确立一个有效等价类和一个无效等价类。立一个有效等价类和一个无效等价类。立一个有效等价类和一个无效等价类。立一个有效等价类和一个无效等价类。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202448软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分步骤步骤1)划分等价类)划分等价类划分等价类的原则:划分等价类的原则:如如如如果果果果规

52、规规规定定定定了了了了输输输输入入入入数数数数据据据据的的的的一一一一组组组组值值值值,而而而而且且且且程程程程序序序序要要要要对对对对每每每每个个个个输输输输入入入入值值值值分分分分别别别别进进进进行行行行处处处处理理理理。则则则则可可可可为为为为每每每每一一一一个个个个输输输输入入入入值值值值确确确确立立立立一一一一个个个个有有有有效效效效等等等等价价价价类类类类,针针针针对对对对这这这这组组组组值值值值确确确确立立立立一一一一个个个个无效等价类。无效等价类。无效等价类。无效等价类。如如如如果果果果规规规规定定定定了了了了输输输输入入入入数数数数据据据据必必必必须须须须遵遵遵遵守守守守的的

53、的的规规规规则则则则,则则则则可可可可确确确确立立立立一一一一个个个个有有有有效效效效等等等等价价价价类类类类(符符符符合合合合规规规规则则则则)和和和和若若若若干干干干个个个个无无无无效效效效等价类(从不同角度违反规则)。等价类(从不同角度违反规则)。等价类(从不同角度违反规则)。等价类(从不同角度违反规则)。如如如如果果果果我我我我们们们们确确确确知知知知已已已已划划划划分分分分的的的的等等等等价价价价类类类类中中中中各各各各元元元元素素素素在在在在程程程程序序序序中中中中的的的的处处处处理理理理方方方方式式式式不不不不同同同同,则则则则应应应应将将将将此此此此等等等等价价价价类类类类进进

54、进进一一一一步步步步划划划划分成更小的等价类。分成更小的等价类。分成更小的等价类。分成更小的等价类。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202449软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分步骤步骤2)确立测试用例)确立测试用例在在确确立立了了等等价价类类之之后后,建建立立等等价价类类表表,列列出出所所有有划划分分出出的的等等价类:价类:再再从从划划分分出出的的等等价价类类中中选选择择测试用例。测试用例。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件输入条件输入条件输入条件有效等价类有效等价类有效等价类有效

55、等价类无效等价类无效等价类无效等价类无效等价类7/26/202450软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分步骤步骤2)确立测试用例)确立测试用例测试用例选择原则:测试用例选择原则:为每一个等价类规定一个唯一的编号;为每一个等价类规定一个唯一的编号;为每一个等价类规定一个唯一的编号;为每一个等价类规定一个唯一的编号;设设设设计计计计一一一一个个个个新新新新的的的的测测测测试试试试用用用用例例例例,使使使使其其其其尽尽尽尽可可可可能能能能多多多多地地地地覆覆覆覆盖盖盖盖尚尚尚尚未未未未被被被被覆覆覆覆盖盖盖盖的的的的有有有有效效效效等等等等价价价价类类类类,重重重重复复

56、复复这这这这一一一一步步步步,直直直直到到到到所所所所有有有有的的的的有有有有效效效效等等等等价价价价类类类类都被覆盖为止;都被覆盖为止;都被覆盖为止;都被覆盖为止;设设设设计计计计一一一一个个个个新新新新的的的的测测测测试试试试用用用用例例例例,使使使使其其其其仅仅仅仅覆覆覆覆盖盖盖盖一一一一个个个个尚尚尚尚未未未未被被被被覆覆覆覆盖盖盖盖的的的的无无无无效效效效等等等等价价价价类类类类,重重重重复复复复这这这这一一一一步步步步,直直直直到到到到所所所所有有有有的的的的无无无无效效效效等等等等价价价价类类类类都都都都被被被被覆盖为止。覆盖为止。覆盖为止。覆盖为止。测试基础用例设计白盒测试黑盒

57、测试本章小结测试策略人工测试调试排错7/26/202451软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分设计实例设计实例在在某某一一PASCAL语语言言版版本本中中规规定定:“标标识识符符是是由由字字母母开开头头、后后跟跟字字母母或或数数字字的的任任意意组组合合构构成成。有有效效字字符符数数为为8个个,最最大大字字符符数数为为80个个。”并并规规定定:“标标识识符符必必须须先先说说明明,再再使使用用。”“在在同同一一说说明明语语句句中中,标标识识符符至至少少必必须须有有一个。一个。”测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202452软软

58、件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分实例等价类表实例等价类表测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件输入条件有效等价类有效等价类无效等价类无效等价类标识符个数标识符个数标识符个数标识符个数1 1个(个(个(个(1 1),多个(),多个(),多个(),多个(2 2) 0 0个(个(个(个(3 3)标识符字符数标识符字符数标识符字符数标识符字符数1 18 8个(个(个(个(4 4)0 0个(个(个(个(5 5),),),),88个(个(个(个(6 6),),),),8080个(个(个(个(7 7)标识符组成标识符组成标识符组成标识符组成字母(

59、字母(字母(字母(8 8),数字),数字),数字),数字(9 9)非字母数字字符(非字母数字字符(非字母数字字符(非字母数字字符(1010),),),),保留字(保留字(保留字(保留字(1111)第一个字符第一个字符第一个字符第一个字符字母(字母(字母(字母(1212)非字母(非字母(非字母(非字母(1313)标识符使用标识符使用标识符使用标识符使用先说明后使用(先说明后使用(先说明后使用(先说明后使用(1414)未说明已使用(未说明已使用(未说明已使用(未说明已使用(1515)7/26/202453软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分实例测试用例实例测试用例VA

60、R x, T1234567: REAL; VAR x, T1234567: REAL; (1),(2),(4),(8),(9),(12),(14)(1),(2),(4),(8),(9),(12),(14)BEGIN x:=3.414; BEGIN x:=3.414; T1234567:=2.732;T1234567:=2.732;VAR : REAL; (3)VAR : REAL; (3)VAR x,:REAL; (5)VAR x,:REAL; (5)VAR T12345678:REAL; (6)VAR T12345678:REAL; (6)VAR T12345:REAL; (7) VAR T

61、12345:REAL; (7) 多于多于多于多于8080个字符个字符个字符个字符测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202454软软 件件 工工 程程 导导 论论7.4.1 等价类划分等价类划分实例测试用例实例测试用例VAR T $: CHAR; (10)VAR T $: CHAR; (10)VAR GOTO: INTEGER (11)VAR GOTO: INTEGER (11)VAR 2T: REAL; (13)VAR 2T: REAL; (13)VAR PAR: REAL; (15)VAR PAR: REAL; (15)BEGIN BEGIN PAP:

62、=SIN(3.14 PAP:=SIN(3.140.8)/6;0.8)/6;测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202455软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析概述概述边界值分析也是一种黑盒测试方边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。法,是对等价类划分方法的补充。使用边界值分析方法设计测试用使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入例,首先应确定边界情况。通常输入等价类与输出等价类的边界,就是应等价类与输出等价类的边界,就是应着重测试的边界情况。应当选取正好着重测试的边界情况。应当选取正好等

63、于、刚刚大于或刚刚小于边界的值等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选择等价类中作为测试数据,而不是选择等价类中的典型值或任意值作为测试数据。的典型值或任意值作为测试数据。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202456软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析选择测试用例的原则选择测试用例的原则(1 1)如如如如果果果果输输输输入入入入条条条条件件件件规规规规定定定定了了了了值值值值的的的的范范范范围围围围,则则则则应应应应取取取取刚刚刚刚达达达达到到到到这这这这个个个个范范范范围围围围的的的的边边边边界界界界的的的

64、的值值值值,以以以以及及及及刚刚刚刚刚刚刚刚超超超超越越越越这这这这个个个个范范范范围围围围边边边边界界界界的的的的值值值值作作作作为测试输入数据。为测试输入数据。为测试输入数据。为测试输入数据。(2 2)如如如如果果果果输输输输入入入入条条条条件件件件规规规规定定定定了了了了值值值值的的的的个个个个数数数数,则则则则用用用用最最最最大大大大个个个个数数数数、最最最最小小小小个个个个数数数数、比比比比最最最最大大大大个个个个数数数数多多多多1 1、比比比比最最最最小小小小个个个个数数数数少少少少1 1的的的的数数数数作作作作为为为为测测测测试数据。试数据。试数据。试数据。(3 3)根根根根据据

65、据据规规规规格格格格说说说说明明明明的的的的每每每每个个个个输输输输出出出出条条条条件件件件,使使使使用前面的原则(用前面的原则(用前面的原则(用前面的原则(1 1)。)。)。)。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202457软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析选择测试用例的原则选择测试用例的原则(4) (4) 根根根根据据据据规规规规格格格格说说说说明明明明的的的的每每每每个个个个输输输输出出出出条条条条件件件件,使使使使用用用用前前前前面的原则(面的原则(面的原则(面的原则(2 2)。)。)。)。(5) (5) 如如如如

66、果果果果程程程程序序序序的的的的规规规规格格格格说说说说明明明明给给给给出出出出的的的的输输输输入入入入域域域域或或或或输输输输出出出出域域域域实实实实有有有有序序序序集集集集合合合合(如如如如有有有有序序序序表表表表、顺顺顺顺序序序序文文文文件件件件等等等等),则则则则应应应应选选选选取取取取集集集集合合合合的的的的第第第第一一一一个个个个元元元元素素素素和和和和最最最最后后后后一一一一个个个个元元元元素素素素作为测试用例。作为测试用例。作为测试用例。作为测试用例。(6) (6) 如如如如果果果果程程程程序序序序中中中中使使使使用用用用了了了了一一一一个个个个内内内内部部部部数数数数据据据据

67、结结结结构构构构,则则则则应应应应当当当当选选选选择择择择这这这这个个个个内内内内部部部部数数数数据据据据结结结结构构构构的的的的边边边边界界界界上上上上的的的的值值值值作为测试用例。作为测试用例。作为测试用例。作为测试用例。(7) (7) 分析规格说明找出其它可能的边界条件。分析规格说明找出其它可能的边界条件。分析规格说明找出其它可能的边界条件。分析规格说明找出其它可能的边界条件。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202458软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析设计实例(阅卷给出成绩报告)设计实例(阅卷给出成绩报告)测试基

68、础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错(试题部分)(试题部分)(试题部分)(试题部分)标标标标 题题题题 1 1 8080试题数试题数试题数试题数标准答案标准答案标准答案标准答案 第第第第1 15050题题题题2 2 1 3 4 9 10 59 60 1 3 4 9 10 59 60 79 8079 80标准答案标准答案标准答案标准答案 第第第第5151100100题题题题2 2 1 9 10 59 60 1 9 10 59 60 79 8079 80标准答案标准答案标准答案标准答案 第第第第101101150150题题题题2 2 1 9 10 59 60 1 9 10 5

69、9 60 79 8079 80. . . .7/26/202459软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错(学生答卷部分)(学生答卷部分)(学生答卷部分)(学生答卷部分)某甲学号某甲学号某甲学号某甲学号标准答案标准答案标准答案标准答案 第第第第1 15050题题题题3 3 1 9 10 59 60 1 9 10 59 60 79 8079 80标准答案标准答案标准答案标准答案 第第第第5151100100题题题题3 3 1 9 10 59 60 1 9 10 59 60 79 8079 80. . . .

70、某乙学号某乙学号某乙学号某乙学号标准答案标准答案标准答案标准答案 第第第第1 15050题题题题3 3 1 9 10 59 60 1 9 10 59 60 79 8079 80标准答案标准答案标准答案标准答案 第第第第5151100100题题题题3 3 1 9 10 59 60 1 9 10 59 60 79 8079 80. . . .7/26/202460软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析记录分组记录分组标题标题标题标题各题的标准答案各题的标准答案各题的标准答案各题的标准答案学生的答卷学生的答卷学生的答卷学生的答卷输出报告输出报告按学号排列的成绩单,列出每个

71、学生的成按学号排列的成绩单,列出每个学生的成按学号排列的成绩单,列出每个学生的成按学号排列的成绩单,列出每个学生的成绩、名次;绩、名次;绩、名次;绩、名次;按学生成绩排列的成绩单;按学生成绩排列的成绩单;按学生成绩排列的成绩单;按学生成绩排列的成绩单;平均分数及标准偏差的报告;平均分数及标准偏差的报告;平均分数及标准偏差的报告;平均分数及标准偏差的报告;试题分析报告。试题分析报告。试题分析报告。试题分析报告。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202461软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析测试基础用例设计白盒测试黑盒测试本章

72、小结测试策略人工测试调试排错输入条件输入条件输入条件输入条件测测测测 试试试试 用用用用 例例例例输入文件输入文件输入文件输入文件空输入文件空输入文件空输入文件空输入文件标题标题标题标题没有标题记录标题只有一个字没有标题记录标题只有一个字没有标题记录标题只有一个字没有标题记录标题只有一个字符标题有符标题有符标题有符标题有8080个字符个字符个字符个字符试题数试题数试题数试题数试题数为试题数为试题数为试题数为1 1 试题数为试题数为试题数为试题数为5050 试题数为试题数为试题数为试题数为5151 试题数为试题数为试题数为试题数为100100 试题数为试题数为试题数为试题数为999999 试题数

73、为试题数为试题数为试题数为0 0 试题数含有非数字字符试题数含有非数字字符试题数含有非数字字符试题数含有非数字字符标准答案记录标准答案记录标准答案记录标准答案记录没有标准答案记录,有标题标没有标准答案记录,有标题标没有标准答案记录,有标题标没有标准答案记录,有标题标准答案记录多一个标准答案记录准答案记录多一个标准答案记录准答案记录多一个标准答案记录准答案记录多一个标准答案记录少一个少一个少一个少一个7/26/202462软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件输入条件输入条件输入条件 测测测测 试

74、试试试 用用用用 例例例例学生人数学生人数学生人数学生人数0 0个学生个学生个学生个学生1 1个学生个学生个学生个学生200200个学生个学生个学生个学生201201个学生个学生个学生个学生学生答题学生答题学生答题学生答题某学生只有一个回答记录,但有两个某学生只有一个回答记录,但有两个某学生只有一个回答记录,但有两个某学生只有一个回答记录,但有两个标准答案记录该学生是文件中的第标准答案记录该学生是文件中的第标准答案记录该学生是文件中的第标准答案记录该学生是文件中的第一个学生该学生是文件中的最后一一个学生该学生是文件中的最后一一个学生该学生是文件中的最后一一个学生该学生是文件中的最后一个学生(记

75、录数出错的学生)个学生(记录数出错的学生)个学生(记录数出错的学生)个学生(记录数出错的学生)学生答题学生答题学生答题学生答题某学生有两个回答记录,但只有一个某学生有两个回答记录,但只有一个某学生有两个回答记录,但只有一个某学生有两个回答记录,但只有一个标准答案记录该学生是文件中的第标准答案记录该学生是文件中的第标准答案记录该学生是文件中的第标准答案记录该学生是文件中的第一个学生(记录数出错的学生)一个学生(记录数出错的学生)一个学生(记录数出错的学生)一个学生(记录数出错的学生) 该该该该学生是文件中的最后一个学生学生是文件中的最后一个学生学生是文件中的最后一个学生学生是文件中的最后一个学生

76、7/26/202463软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输出条件输出条件输出条件输出条件 测试用例测试用例测试用例测试用例学生成绩学生成绩学生成绩学生成绩所有学生成绩都相等每个学生的所有学生成绩都相等每个学生的所有学生成绩都相等每个学生的所有学生成绩都相等每个学生的成绩都互不相同部分(不是全体)成绩都互不相同部分(不是全体)成绩都互不相同部分(不是全体)成绩都互不相同部分(不是全体)学生的成绩相同(检查是否按成绩排名学生的成绩相同(检查是否按成绩排名学生的成绩相同(检查是否按成绩排名学生的成绩相同(

77、检查是否按成绩排名次)有个学生得次)有个学生得次)有个学生得次)有个学生得0 0分有个学生分有个学生分有个学生分有个学生得得得得100100分分分分输出报告输出报告输出报告输出报告 有个学生的学号最小(检查按学号排有个学生的学号最小(检查按学号排有个学生的学号最小(检查按学号排有个学生的学号最小(检查按学号排列是否正确)有个学生的学号最大列是否正确)有个学生的学号最大列是否正确)有个学生的学号最大列是否正确)有个学生的学号最大(检查按学号排列是否正确)适当(检查按学号排列是否正确)适当(检查按学号排列是否正确)适当(检查按学号排列是否正确)适当的学生人数,使产生的报告刚好印满一的学生人数,使产

78、生的报告刚好印满一的学生人数,使产生的报告刚好印满一的学生人数,使产生的报告刚好印满一页(检查打印页数)学生人数比刚页(检查打印页数)学生人数比刚页(检查打印页数)学生人数比刚页(检查打印页数)学生人数比刚才多才多才多才多1 1人(检查打印换页)人(检查打印换页)人(检查打印换页)人(检查打印换页)7/26/202464软软 件件 工工 程程 导导 论论7.4.2 边界值分析边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输出条件输出条件输出条件输出条件 测试用例测试用例测试用例测试用例输出报告输出报告输出报告输出报告平均成绩为平均成绩为平均成绩为平均成绩为10010

79、0分(所有学生都得满分)分(所有学生都得满分)分(所有学生都得满分)分(所有学生都得满分)平均成绩为平均成绩为平均成绩为平均成绩为0 0分(所有学生都得分(所有学生都得分(所有学生都得分(所有学生都得0 0分)分)分)分) 标准偏差为最大值(有一半学生得标准偏差为最大值(有一半学生得标准偏差为最大值(有一半学生得标准偏差为最大值(有一半学生得0 0分,其他分,其他分,其他分,其他100100份)标准偏差为份)标准偏差为份)标准偏差为份)标准偏差为0 0(所(所(所(所有学生成绩都相等)有学生成绩都相等)有学生成绩都相等)有学生成绩都相等)输出报告输出报告输出报告输出报告所有学生都答对了第一题所

80、有学生所有学生都答对了第一题所有学生所有学生都答对了第一题所有学生所有学生都答对了第一题所有学生都答错了第一题所有学生都答对了最都答错了第一题所有学生都答对了最都答错了第一题所有学生都答对了最都答错了第一题所有学生都答对了最后一题所有学生都答错了最后一题后一题所有学生都答错了最后一题后一题所有学生都答错了最后一题后一题所有学生都答错了最后一题选择适当的试题数,使第四个报告刚好选择适当的试题数,使第四个报告刚好选择适当的试题数,使第四个报告刚好选择适当的试题数,使第四个报告刚好打满一页试题数比刚才多打满一页试题数比刚才多打满一页试题数比刚才多打满一页试题数比刚才多1 1题,使报题,使报题,使报题

81、,使报告打满一页后,刚好剩下一题未打告打满一页后,刚好剩下一题未打告打满一页后,刚好剩下一题未打告打满一页后,刚好剩下一题未打 7/26/202465软软 件件 工工 程程 导导 论论7.4.3 错误推测法错误推测法概述概述错误推测法的基本想法是:列举错误推测法的基本想法是:列举出程序中所有可能由的错误和容易发出程序中所有可能由的错误和容易发生错误的特殊情况,根据它们选择测生错误的特殊情况,根据它们选择测试用例。试用例。对于模块中常见的错误和程序中对于模块中常见的错误和程序中容易出错的情况,已有一些经验总结容易出错的情况,已有一些经验总结出来。出来。测试基础用例设计白盒测试黑盒测试本章小结测试

82、策略人工测试调试排错7/26/202466软软 件件 工工 程程 导导 论论7.4.3 错误推测法错误推测法实例(阅卷给出成绩报告)实例(阅卷给出成绩报告)错误推测法可以补充一些测试用例:错误推测法可以补充一些测试用例:程序是否把空格作为回答;程序是否把空格作为回答;程序是否把空格作为回答;程序是否把空格作为回答;在回答记录中混有标准答案记录;在回答记录中混有标准答案记录;在回答记录中混有标准答案记录;在回答记录中混有标准答案记录;除除除除了了了了标标标标题题题题记记记记录录录录外外外外,还还还还有有有有一一一一些些些些记记记记录录录录的的的的最最最最后后后后一一一一个个个个字字字字符符符符既

83、既既既不不不不是是是是“2”“2”也也也也不不不不是是是是“3”“3”;有两个学生的学号相同;有两个学生的学号相同;有两个学生的学号相同;有两个学生的学号相同;试题数是负值。试题数是负值。试题数是负值。试题数是负值。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202467软软 件件 工工 程程 导导 论论7.4.4 因果图因果图因果图的适用范围因果图的适用范围因果图适用于描述对于多种条件因果图适用于描述对于多种条件的组合,相应产生多个动作的形式来的组合,相应产生多个动作的形式来考虑设计测试用例的情况。考虑设计测试用例的情况。因果图方法最终生成的是判定表。因果图方法

84、最终生成的是判定表。它适合于检查程序输入条件的各种组它适合于检查程序输入条件的各种组合情况。合情况。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202468软软 件件 工工 程程 导导 论论7.4.4 因果图因果图用因果图生成测试用例的基本步骤用因果图生成测试用例的基本步骤(1)分析软件规格说明描述中,哪)分析软件规格说明描述中,哪些是原因,哪些是结果,并给每个原些是原因,哪些是结果,并给每个原因和结果赋予一个标识。因和结果赋予一个标识。(2)分析软件规格说明描述中的语)分析软件规格说明描述中的语义,找出原因和结果之间、原因与原义,找出原因和结果之间、原因与原因之

85、间对应的是什么关系?根据这些因之间对应的是什么关系?根据这些关系,画出因果图。关系,画出因果图。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202469软软 件件 工工 程程 导导 论论7.4.4 因果图因果图用因果图生成测试用例的基本步骤用因果图生成测试用例的基本步骤(3)由于语法或环境限制,有些原)由于语法或环境限制,有些原因与原因之间、原因与结果之间的组因与原因之间、原因与结果之间的组合情况不可能出现。为了表明这些特合情况不可能出现。为了表明这些特殊情况,在因果图上用一记号标明约殊情况,在因果图上用一记号标明约束或限制条件。束或限制条件。(4)把因果图转换成

86、判定表。)把因果图转换成判定表。(5)把判定表的每一列拿出来作为)把判定表的每一列拿出来作为依据,设计测试用例。依据,设计测试用例。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202470软软 件件 工工 程程 导导 论论7.4.4 因果图因果图在因果图中出现的基本符号在因果图中出现的基本符号(a)恒等:)恒等:C1 E1(b)非:)非:C1 E1(c)或:)或:C1 C2(d)与:)与:C1 C2测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错 E1 E17/26/202471软软 件件 工工 程程 导导 论论7.4.4 因果图因果图表示约束条件

87、的符号表示约束条件的符号测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错EIORMababababacb唯一唯一a和和b中必中必须有一个,须有一个,且仅有一且仅有一个成立个成立互斥互斥排他排他a、b两个两个原因不会同原因不会同时出现时出现包含包含或或a、b、c三个原因三个原因中至少有中至少有一个必须一个必须成立成立屏蔽屏蔽当当a是是1是是b必须是必须是0,而当,而当a为为0是是b的的值不定值不定要求要求当当a出现出现时时b也必也必须出现须出现7/26/202472软软 件件 工工 程程 导导 论论7.4.4 因果图因果图设计实例设计实例自动售货机软件自动售货机软件若若投投入入5

88、角角钱钱或或1元元钱钱的的硬硬币币,押押下下澄澄汁汁或或啤啤酒酒的的按按钮钮,则则送送出出相相应应的的饮饮料料。若若售售货货机机没没有有零零钱钱找找,则则显显示示零零钱钱找找完完的的红红灯灯亮亮,这这时时在在投投入入1元元硬硬币币并并押押下下按按钮钮后后,饮饮料料不不送送出出且且退退出出1元元硬硬币币;若若有有零零钱钱找找,则则显显示示零零钱钱找找完完的的红红灯灯灭灭,在在送送出饮料的同时退出出饮料的同时退出5角硬币。角硬币。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202473软软 件件 工工 程程 导导 论论7.4.4 因果图因果图设计实例设计实例原因和结果

89、分析原因和结果分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错原原原原因因因因1. 1. 售货机有零钱找售货机有零钱找售货机有零钱找售货机有零钱找结结结结果果果果21. 21. 售货机零钱找完灯售货机零钱找完灯售货机零钱找完灯售货机零钱找完灯亮亮亮亮2. 2. 投入投入投入投入1 1元硬币元硬币元硬币元硬币22. 22. 退还退还退还退还1 1元硬币元硬币元硬币元硬币3. 3. 投入投入投入投入5 5角硬币角硬币角硬币角硬币23. 23. 找回找回找回找回5 5角硬币角硬币角硬币角硬币4. 4. 押下澄汁按钮押下澄汁按钮押下澄汁按钮押下澄汁按钮24. 24. 送出澄汁饮料送

90、出澄汁饮料送出澄汁饮料送出澄汁饮料5. 5. 押下啤酒按钮押下啤酒按钮押下啤酒按钮押下啤酒按钮25. 25. 送出啤酒饮料送出啤酒饮料送出啤酒饮料送出啤酒饮料7/26/202474软软 件件 工工 程程 导导 论论7.4.4 因果图因果图设计实例设计实例因果图因果图测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错售货机有零钱找售货机有零钱找投入投入1元硬币元硬币投入投入5角硬币角硬币押下澄汁按钮押下澄汁按钮押下啤酒按钮押下啤酒按钮售货机售货机“零钱找完零钱找完”灯灯亮亮退还退还1元硬币元硬币找回找回5角硬币角硬币送出澄汁饮料送出澄汁饮料送出啤酒饮料送出啤酒饮料123452122

91、23242511121314EE 中间结点:中间结点:11. 投入投入1元硬币且押下饮料按钮元硬币且押下饮料按钮 12. 押下澄汁或啤酒按钮押下澄汁或啤酒按钮 13. 应当找应当找5角零钱并且售货机有零钱找角零钱并且售货机有零钱找 14. 钱已付清钱已付清7/26/202475软软 件件 工工 程程 导导 论论设计实例设计实例判定表判定表序号序号序号序号1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 91 10 01 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 92 20 01 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 93 30

92、01 1 2 2条条条条件件件件1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 11 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 00 00 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 11 11 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 00 0 0 01 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 11 11 1

93、1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 11 10 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 00 00 0 0 01 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 11 10 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 00 01 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 11 10 0 0 01 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 10 01 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 10 01 1 0 0 1 1 0 0 1 1 0 0

94、1 1 0 0 1 10 01 1 0 0中中中中间间间间结结结结果果果果1 1 1 1 0 00 00 0 0 00 0 0 0 0 01 1 1 1 0 00 0 0 0 0 00 00 0 0 01 1 1 1 0 01 11 1 0 01 1 1 1 0 01 1 1 1 0 01 1 1 1 0 01 11 1 0 01 1 1 1 0 00 00 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 00 0 0 01 1 1 1 0 01 11 1 1 10 0 0 0 0 00 0 0 0 0 01 1 1 1 1 10 00 0 0 0结结结结果果果

95、果0 0 0 0 0 00 00 0 0 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 11 11 1 1 10 0 0 0 0 00 00 0 0 00 0 0 0 0 01 1 1 1 0 00 0 0 0 0 00 00 0 0 01 1 1 1 0 00 00 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 00 0 0 01 1 0 0 0 01 10 0 0 00 0 0 0 0 00 0 0 0 0 01 1 0 0 0 00 00 0 0 00 0 1 1 0 00 01 1 0 00 0 0 0 0 00 0 0 0 0 0

96、0 0 1 1 0 00 00 0 0 0测试测试测试测试用例用例用例用例Y Y Y Y Y YY YY Y Y YY Y Y YY Y Y Y Y YY Y Y Y Y YY YY Y123451112131421222324257/26/202476软软 件件 工工 程程 导导 论论7.5 软件测试的策略软件测试的策略测试过程按测试过程按4个步骤进行:个步骤进行:单元测试单元测试组装测试组装测试确认测试确认测试系统测试系统测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202477软软 件件 工工 程程 导导 论论7.5 软件测试的策略软件测试的策略软件测试的

97、过程软件测试的过程测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错单元单元测试测试单元单元测试测试单元单元测试测试集成集成测试测试确认确认测试测试系统系统测试测试被测模块被测模块被测模块被测模块被测模块被测模块设设 计计 信信 息息软软 件件 需需 求求系系 统统 其其 它它 元元 素素 已经过已经过 测试的测试的模块模块已集成已集成的软件的软件已确认已确认的软件的软件可交付可交付的软件的软件7/26/202478软软 件件 工工 程程 导导 论论7.5 软件测试的策略软件测试的策略7.5.1 单元测试(单元测试(unit testing)7.5.2 组装测试(组装测试(int

98、egrated testing)7.5.3 确认测试(确认测试(validation testing)7.5.4 系统测试(系统测试(system testing)7.5.5 测试的步骤及相应的测试种类测试的步骤及相应的测试种类测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202479软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)概述概述单单元元测测试试又又称称模模块块测测试试,是是针针对对软软件件设设计计的的最最小小单单位位程程序序模模块块,进进行行正正确确性性检检验验的的测测试试工工作作。其其目目的的在在于于发发现现

99、各各模模块块内内部部可可能能存存在在的的各各种种差差错错。单单元元测测试试需需要要从从程程序序的的内内部部结结构构出出发发设设计计测测试试用用例例。多多个个模模块块可可以以并并行行地地独独立立进进行行单单元元测试。测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202480软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的工作单元测试的工作测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错模块模块模块模块模块接口模块接口出错处理出错处理局部数据结构局部数据结构边界条件边界条件独立路径独立路径7/2

100、6/202481软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的内容单元测试的内容单单元元测测试试主主要要采采用用白白盒盒测测试试的的测测试试用用例例,辅辅之之以以黑黑盒盒测测试试的的测测试试用用例例,是是指指对对任任何何合合理理的的输输入入和和不不合合理理的的输输入入,都都能能鉴鉴别别和和相相应应。这这要要求求对对所所有有的的局局部部的的和和全全局局的的数数据据结结构构、外外部部接接口口和和程程序序代代码码的的关关键键部部分分,都都要要进进行行桌桌前前检检查查和和严严格格的的代码审查。代码审查。测试基础用例设计白盒测试黑盒测试本章小结测试

101、策略人工测试调试排错7/26/202482软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的内容单元测试的内容(1)模块接口测试:)模块接口测试:调调调调用用用用本本本本模模模模块块块块时时时时的的的的输输输输入入入入参参参参数数数数与与与与模模模模块块块块的的的的形形形形式参数的匹配情况;式参数的匹配情况;式参数的匹配情况;式参数的匹配情况;本本本本模模模模块块块块调调调调用用用用子子子子模模模模块块块块时时时时,它它它它输输输输入入入入给给给给子子子子模模模模块块块块的的的的参参参参数数数数与与与与子子子子模模模模块块块块中中中中的的的的

102、形形形形式式式式参参参参数数数数的的的的匹匹匹匹配情况配情况配情况配情况; ;是否修改了只作为输入用的形式参数;是否修改了只作为输入用的形式参数;是否修改了只作为输入用的形式参数;是否修改了只作为输入用的形式参数;全局量的定义在各模块中是否一致;全局量的定义在各模块中是否一致;全局量的定义在各模块中是否一致;全局量的定义在各模块中是否一致;限制是否通过形式参数来传送。限制是否通过形式参数来传送。限制是否通过形式参数来传送。限制是否通过形式参数来传送。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202483软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元

103、测试(unit testing)当使用外设输入输出时应附加测试:当使用外设输入输出时应附加测试:文件属性是否正确;文件属性是否正确;文件属性是否正确;文件属性是否正确;OPENOPEN语句与语句与语句与语句与CLOSECLOSE语句是否正确;语句是否正确;语句是否正确;语句是否正确;规规规规定定定定的的的的I IOO格格格格式式式式说说说说明明明明与与与与I IOO语语语语句句句句是是是是否否否否匹配;匹配;匹配;匹配;缓冲区容量与记录长度是否匹配;缓冲区容量与记录长度是否匹配;缓冲区容量与记录长度是否匹配;缓冲区容量与记录长度是否匹配;在进行读写操作前是否打开了文件;在进行读写操作前是否打开

104、了文件;在进行读写操作前是否打开了文件;在进行读写操作前是否打开了文件;在结束文件处理时是否关闭了文件;在结束文件处理时是否关闭了文件;在结束文件处理时是否关闭了文件;在结束文件处理时是否关闭了文件;正正正正文文文文书书书书写写写写输输输输入入入入错错错错误误误误以以以以及及及及I IOO错错错错误误误误是是是是否检查并作了处理。否检查并作了处理。否检查并作了处理。否检查并作了处理。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202484软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的内容单元测试的内容(2)局

105、部数据结构测试:)局部数据结构测试:不正确或不一致的数据类型说明;不正确或不一致的数据类型说明;使使用用尚尚未未赋赋值值或或尚尚未未初初始始化化的的变变量量;错误的初始值或错误的缺省值;错误的初始值或错误的缺省值;变量名拼写错或书写错;变量名拼写错或书写错;不一致的数据类型。不一致的数据类型。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202485软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的内容单元测试的内容(3)路径测试:)路径测试:选选择择适适当当的的测测试试用用例例,对对模模块块中中重重要要的的执执行

106、行路路径径进进行行测测试试。应应当当设设计计测测试试用用例例查查找找由由于于错错误误的的计计算算、不不正正确确的的比比较较或或不不正正常常的的控控制制流流而而导导致致的的错错误误。对对基基本本执执行行路路径径和和循循环环进进行行测测试可以发现大量的路径错误。试可以发现大量的路径错误。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202486软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)常见的不正确计算:常见的不正确计算:运算的优先次序不正确或误解了运算的优先次序不正确或误解了运算的优先次序;运算的优先次序;运算的方式错,

107、即运算的对象彼运算的方式错,即运算的对象彼此在类型上不相容;此在类型上不相容;算法错;算法错;初始化不正确;初始化不正确;运算精度不够;运算精度不够;表达式的符号表示不正确。表达式的符号表示不正确。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202487软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)常见的比较和控制流错误:常见的比较和控制流错误:不同数据类型量的相互比较;不同数据类型量的相互比较;不同数据类型量的相互比较;不同数据类型量的相互比较;不正确的逻辑运算符或优先级;不正确的逻辑运算符或优先级;不正确的逻辑运算

108、符或优先级;不正确的逻辑运算符或优先级;因浮点数运算精度问题而造成的量值因浮点数运算精度问题而造成的量值因浮点数运算精度问题而造成的量值因浮点数运算精度问题而造成的量值比较不等;比较不等;比较不等;比较不等;关系表达式中不正确的变量和比较符;关系表达式中不正确的变量和比较符;关系表达式中不正确的变量和比较符;关系表达式中不正确的变量和比较符;差差差差“1”“1”错,即不正确地多循环一次或错,即不正确地多循环一次或错,即不正确地多循环一次或错,即不正确地多循环一次或少循环一次;少循环一次;少循环一次;少循环一次;不适当地修改了循环变量。不适当地修改了循环变量。不适当地修改了循环变量。不适当地修改

109、了循环变量。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202488软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的内容单元测试的内容(4)错误处理测试:)错误处理测试:比比较较完完善善的的模模块块设设计计要要求求能能预预见见出出错错的的条条件件,并并设设置置适适当当的的出出错错处处理理,以以便便在在一一旦旦程程序序出出错错时时,能能对对出出错错程程序序重重作作安安排排,保保证证其其逻逻辑辑上上的的正正确确性性。若若出出现现下下列列情情况况之之一一,则则表表明明模模块块的的错误处理功能包含有错误或缺陷:错误处理

110、功能包含有错误或缺陷:测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202489软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)若若出出现现下下列列情情况况之之一一,则则表表明明模模块的错误处理功能包含有错误或缺陷:块的错误处理功能包含有错误或缺陷:出错的描述难以理解;出错的描述难以理解;出错的描述难以理解;出错的描述难以理解;出错的描述不足以对错误定位,出错的描述不足以对错误定位,出错的描述不足以对错误定位,出错的描述不足以对错误定位,不足以确定出错的原因;不足以确定出错的原因;不足以确定出错的原因;不足以确定出错的原因

111、;显示的错误与实际的错误不符;显示的错误与实际的错误不符;显示的错误与实际的错误不符;显示的错误与实际的错误不符;对错误条件的处理不正确;对错误条件的处理不正确;对错误条件的处理不正确;对错误条件的处理不正确;在对错误处理之前,错误条件已在对错误处理之前,错误条件已在对错误处理之前,错误条件已在对错误处理之前,错误条件已经引起系统的干预。经引起系统的干预。经引起系统的干预。经引起系统的干预。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202490软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的内容单元测试的内容

112、(5)边界测试:)边界测试:在在边边界界上上出出现现错错误误时时常常见见的的。要要特特别别注注意意数数据据流流、控控制制流流中中刚刚好好等等于于、大大于于或或小小于于确确定定的的比比较较值值时时出出错错的的可可能能性性。对对这这些些地地方方要要仔仔细细地地选选择择测测试试用例,认真加以测试。用例,认真加以测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202491软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的步骤单元测试的步骤通通常常单单元元测测试试是是在在编编码码阶阶段段进进行行的的。在在源源程程序序代代

113、码码编编制制完完成成,经经过过评评审审和和验验证证,确确认认没没有有语语法法错错误误之之后后,就就开开始始进进行行单单元元测测试试的的测测试试用用例例设设计计。利利用用设设计计文文档档,设设计计可可以以验验证证程程序序功功能能、找找出出程程序序错错误误的的多多个个测测试试用用例例。对对于于每每一一组组输输入入,应有预期的正确结果。应有预期的正确结果。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202492软软 件件 工工 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)模块并不是一个独立的程序,模块并不是一个独立的程序,在考虑测试模块时,

114、同时要考虑它在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。模拟与被测模块相联系的其它模块。这些辅助模块分为两种:这些辅助模块分为两种:驱动模块驱动模块驱动模块驱动模块:相当于被测模块的:相当于被测模块的:相当于被测模块的:相当于被测模块的主模块。主模块。主模块。主模块。桩模块桩模块桩模块桩模块:用以代替被测模块调:用以代替被测模块调:用以代替被测模块调:用以代替被测模块调用的子模块。用的子模块。用的子模块。用的子模块。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202493软软 件件 工工

115、 程程 导导 论论7.5.1 单元测试(单元测试(unit testing)单元测试的测试环境单元测试的测试环境测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错驱动模块驱动模块被测模块被测模块桩模块桩模块桩模块桩模块桩模块桩模块测试用例测试用例测试结果测试结果7/26/202494软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述概述组组装装测测试试也也叫叫做做集集成成测测试试或或联联合合测测试试。通通常常,在在单单元元测测试试的的基基础础上上,需需要要将将

116、所所有有的的模模块块按按照照设设计计要要求求组组装装成成为为系系统统。在在单单元元测测试试的的同同时时可可进进行行组组装装测测试试,发发现现并并排排除除在在模模块块连连接接中中可可能能出出现现的的问问题题,最最终终构成要求的软件系统。构成要求的软件系统。7/26/202495软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错在系统组装时要考虑的问题是:在系统组装时要考虑的问题是:在把各个模块连接起来时穿越模块在把各个模块连接起来时穿越模块在把各个模块连接起来时穿越模块在把各个模

117、块连接起来时穿越模块接口的数据是否会丢失;接口的数据是否会丢失;接口的数据是否会丢失;接口的数据是否会丢失;一个模块的功能是否会对另一个模一个模块的功能是否会对另一个模一个模块的功能是否会对另一个模一个模块的功能是否会对另一个模块的工程产生不利的影响;块的工程产生不利的影响;块的工程产生不利的影响;块的工程产生不利的影响;各个子功能组合起来,能否达到预各个子功能组合起来,能否达到预各个子功能组合起来,能否达到预各个子功能组合起来,能否达到预期要求的父功能;期要求的父功能;期要求的父功能;期要求的父功能;全局数据结构是否有问题;全局数据结构是否有问题;全局数据结构是否有问题;全局数据结构是否有问

118、题;单个模块的误差积累起来,是否会单个模块的误差积累起来,是否会单个模块的误差积累起来,是否会单个模块的误差积累起来,是否会放大,从而达到不能接受的程度。放大,从而达到不能接受的程度。放大,从而达到不能接受的程度。放大,从而达到不能接受的程度。7/26/202496软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述概述选择什么方式把模块组装起来选择什么方式把模块组装起来形成一个可运行的系统,直接影响形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试到模块测试用例的

119、形式、所用测试工具的类型、模块编号的次序和测工具的类型、模块编号的次序和测试的次序、以及生成测试用例的费试的次序、以及生成测试用例的费用和调试的费用。把模块组装成系用和调试的费用。把模块组装成系统的方式有两种:一次性组装方式统的方式有两种:一次性组装方式和增殖式组装方式。和增殖式组装方式。7/26/202497软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错1)一次性组装方式)一次性组装方式它它是是一一种种非非增增殖殖式式组组装装方方式式。也也叫叫做做整整体体拼拼装装。使使用

120、用这这种种方方式式,首首先先对对每每个个模模块块分分别别进进行行测测试试,然然后后再再把把所所有有模模块块组组装装在在一一起起进进行行测测试试,最最终终得得到要求的软件系统。到要求的软件系统。7/26/202498软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错单元测试和组装顺序单元测试和组装顺序ABCDEFABDCEFd1d2d3d4d5s1s2s3s4s5ABCDEF7/26/202499软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrate

121、d testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错2)增殖式组装方式)增殖式组装方式这这种种组组装装方方法法又又称称渐渐增增式式组组装装,首首先先对对一一个个个个模模块块进进行行模模块块测测试试,然然后后将将这这些些模模块块逐逐步步组组装装成成较较大大的的系系统统,在在组组装装过过程程中中边边连连接接边边测测试试,以以发发现现连连接接过过程程中中产产生生的的问问题题。最最后后通通过过增增殖殖逐逐步步组组装装成成为为要要求求的的软软件系统。件系统。7/26/2024100软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated te

122、sting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自顶向下的增殖方式自顶向下的增殖方式 这这种种组组装装方方式式将将模模块块按按系系统统程程序序结结构构,沿沿控控制制层层次次自自顶顶向向下下进进行行组装。其步骤如下:组装。其步骤如下: 对主模块进行测试;对主模块进行测试;对主模块进行测试;对主模块进行测试; 采用深度优先或宽度优先策略逐个采用深度优先或宽度优先策略逐个采用深度优先或宽度优先策略逐个采用深度优先或宽度优先策略逐个加入其它模块;加入其它模块;加入其它模块;加入其它模块; 进行回归测试;进行回归测试;进行回归测试;进行回归测试; 判断是否所有的模块都已组装到

123、系判断是否所有的模块都已组装到系判断是否所有的模块都已组装到系判断是否所有的模块都已组装到系统中,是则结束测试,否则转到统中,是则结束测试,否则转到统中,是则结束测试,否则转到统中,是则结束测试,否则转到 。7/26/2024101软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自顶向下的增殖方式(深度优先)自顶向下的增殖方式(深度优先) As4s1s2s3ABCDEFABs2s3EABs2s3EABCs3EABCD加入加入B测试测试A加入加入E加加入入C加入加入D加入加入F

124、s57/26/2024102软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错桩模块的几种选择桩模块的几种选择 桩模块桩模块stubA表示传递的数据信息表示传递的数据信息桩模块桩模块stubB桩模块桩模块stubC桩模块桩模块stubD显示跟踪信息显示跟踪信息 显示传递的信息显示传递的信息从一个表(或从一个表(或外部文件)返外部文件)返回一个值回一个值进行一项表查询进行一项表查询以根据输入参数以根据输入参数返回输出参数返回输出参数7/26/2024103软软 件件 工工 程程

125、导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自底向上的增殖方式自底向上的增殖方式 这这种种组组装装方方式式是是从从程程序序模模块块结结构构的的最最底底层层的的模模块块开开始始组组装装和和测测试试。其其步骤如下:步骤如下: 由驱动模块控制最底层模块的并行测由驱动模块控制最底层模块的并行测由驱动模块控制最底层模块的并行测由驱动模块控制最底层模块的并行测试;试;试;试; 用实际模块代替驱动模块,与其它已用实际模块代替驱动模块,与其它已用实际模块代替驱动模块,与其它已用实际模块代替驱动模块,与其它已测试

126、的直属模块组装成子系统;测试的直属模块组装成子系统;测试的直属模块组装成子系统;测试的直属模块组装成子系统; 为子系统配备驱动模块进行新的测试;为子系统配备驱动模块进行新的测试;为子系统配备驱动模块进行新的测试;为子系统配备驱动模块进行新的测试; 判断是否已组装到达主模块,是则结判断是否已组装到达主模块,是则结判断是否已组装到达主模块,是则结判断是否已组装到达主模块,是则结束测试,否则转到束测试,否则转到束测试,否则转到束测试,否则转到 。7/26/2024104软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒

127、测试本章小结测试策略人工测试调试排错自底向上的增殖方式自底向上的增殖方式 Bd4EDd5FCd2Ed1Fd3ABCDEF7/26/2024105软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错驱动模块的几种选择驱动模块的几种选择 桩模块桩模块driverA表示传递的参数信息表示传递的参数信息调用从属模块调用从属模块 从表(或外部文从表(或外部文件)中传送参数件)中传送参数显示参数显示参数兼有驱动程序兼有驱动程序B、C的功能的功能桩模块桩模块driverB桩模块桩模块drive

128、rC桩模块桩模块driverD7/26/2024106软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错混合增殖式测试混合增殖式测试自自顶顶向向下下增增殖殖方方式式的的缺缺点点是是需需要要建立桩模块。建立桩模块。自自底底向向上上增增殖殖方方式式的的缺缺点点是是程程序序一一直直未未能能作作为为一一个个实实体体存存在在,直直到到最最后一个模块加上去后才形成一个实体。后一个模块加上去后才形成一个实体。鉴鉴于于此此,通通常常把把以以上上两两种种方方式式结结合起来进行组装和测试。合起来进

129、行组装和测试。7/26/2024107软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错混合增殖式测试混合增殖式测试常见的综合的增殖方式:常见的综合的增殖方式: 衍变的自顶向下的增殖测试;衍变的自顶向下的增殖测试; 自底向上自顶向下的增殖自底向上自顶向下的增殖测试;测试; 回归测试回归测试 。7/26/2024108软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试

130、排错3)组装测试的组织和实施)组装测试的组织和实施组组装装测测试试是是一一种种正正规规测测试试过过程程,必必须须精精心心计计划划,并并与与单单元测试的完成时间协调起来。元测试的完成时间协调起来。7/26/2024109软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrated testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错3)组装测试的组织和实施)组装测试的组织和实施 制定测试计划时应考虑如下因素:制定测试计划时应考虑如下因素:采用何种系统组装方法进行组装测试;采用何种系统组装方法进行组装测试;采用何种系统组装方法进行组装测试;采用

131、何种系统组装方法进行组装测试;组装测试过程中连接各个模块的顺序;组装测试过程中连接各个模块的顺序;组装测试过程中连接各个模块的顺序;组装测试过程中连接各个模块的顺序;模块代码编制和测试进度是否与组装测模块代码编制和测试进度是否与组装测模块代码编制和测试进度是否与组装测模块代码编制和测试进度是否与组装测试的顺序一致;试的顺序一致;试的顺序一致;试的顺序一致;测试过程中是否需要专门的硬件设备。测试过程中是否需要专门的硬件设备。测试过程中是否需要专门的硬件设备。测试过程中是否需要专门的硬件设备。7/26/2024110软软 件件 工工 程程 导导 论论7.5.2 组装测试(组装测试(integrat

132、ed testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错3)组装测试的组织和实施)组装测试的组织和实施 解解决决了了上上述述问问题题后后,就就可可以以列列出出各各个个模模块块的的编编制制、测测试试计计划划表表,标标明明每每个个模模块块单单元元测测试试完完成成的的日日期期、首首次次组组装装测测试试的的日日期期、组组装装测测试试全全部部完完成成的的日日期期、以以及及需需要要的的测测试试用用例例和和所所期望的测试结果。期望的测试结果。在在完完成成预预定定的的组组装装测测试试工工作作后后,测测试试小小组组应应负负责责对对测测试试结结果果进进行行整整理理、分析,形成测试报告

133、。分析,形成测试报告。7/26/2024111软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述概述确确认认测测试试又又称称有有效效性性测测试试。它它的的任任务务是是验验证证软软件件的的有有效效性性,即即验验证证软软件件的的功功能能和和性性能能及及其其它它特特性性是是否否与与用用户户的的要要求求一一致致。对对软软件件的的功功能能和和性性能能要要求求在在软软件件需需求规格说明书中已经明确规定。求规格说明书中已经明确规定。7/26/2024112软软 件件 工工 程程 导导 论

134、论7.5.3 确认测试(确认测试(validation testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错确认测试的步骤确认测试的步骤选择测试人员选择测试人员有效有效性性测试测试软件软件配置配置审查审查管理管理机构机构裁决裁决专家专家鉴定鉴定会会构造测试用例构造测试用例实际运行测试实际运行测试软件计划软件计划用户文档用户文档开发文档开发文档源程序文本源程序文本支持环境支持环境测试报告测试报告软件配置软件配置交用户交用户运行维护运行维护7/26/2024113软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试

135、基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错1)进行有效性测试(黑盒测试)进行有效性测试(黑盒测试)有有效效性性测测试试是是在在模模拟拟的的环环境境(可可能能就就是是开开发发的的环环境境)下下,运运用用黑黑盒盒测测试试的的方方法法,验验证证被被测测软软件件是是否否满满足足需需求求规规格格说说明明书书列列出出的需求。的需求。7/26/2024114软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错2)软件配置复查)软件配置复查软软件件配配置置复复查查的的目目的的是

136、是保保证证软软件件配配置置的的所所有有成成分分都都齐齐全全,各各方方面面的的质质量量都都符符合合要要求求,具具有有维维护护阶阶段段所所必必需需的的细细节节,而且已经编排好分类的目录。而且已经编排好分类的目录。7/26/2024115软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错3)测试和测试和测试测试 测试测试测试测试是由一个用户在开发环境下是由一个用户在开发环境下是由一个用户在开发环境下是由一个用户在开发环境下进行的测试,也可以是公司内部的用户进行的测试,也可以是公司内部

137、的用户进行的测试,也可以是公司内部的用户进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。软在模拟实际操作环境下进行的测试。软在模拟实际操作环境下进行的测试。软在模拟实际操作环境下进行的测试。软件在一个自然状态下使用。开发者坐在件在一个自然状态下使用。开发者坐在件在一个自然状态下使用。开发者坐在件在一个自然状态下使用。开发者坐在用户旁边随时记下错误情况和使用中的用户旁边随时记下错误情况和使用中的用户旁边随时记下错误情况和使用中的用户旁边随时记下错误情况和使用中的问题。这实在受控制的环境下进行的测问题。这实在受控制的环境下进行的测问题。这实在受控制的环境下进行的测问题。这实在受控

138、制的环境下进行的测试。试。试。试。 测试的目的测试的目的测试的目的测试的目的是评价软件产品的是评价软件产品的是评价软件产品的是评价软件产品的FLURPSFLURPS(即功能、局域化、可使用性、(即功能、局域化、可使用性、(即功能、局域化、可使用性、(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品可靠性、性能和支持)。尤其注重产品可靠性、性能和支持)。尤其注重产品可靠性、性能和支持)。尤其注重产品的界面和特色。的界面和特色。的界面和特色。的界面和特色。7/26/2024116软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试

139、基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错3)测试和测试和测试测试 测测测测试试试试是是是是由由由由软软软软件件件件的的的的多多多多个个个个用用用用户户户户在在在在一一一一个个个个或或或或多多多多个个个个用用用用户户户户在在在在实实实实际际际际使使使使用用用用环环环环境境境境下下下下进进进进行行行行的的的的测测测测试试试试。这这这这些些些些用用用用户户户户是是是是与与与与公公公公司司司司签签签签订订订订了了了了支支支支持持持持产产产产品品品品与与与与发发发发行行行行合合合合同同同同的的的的外外外外部部部部客客客客户户户户,它它它它们们们们要要要要求求求求使使使使用用用用该该该

140、该产产产产品品品品,并并并并愿愿愿愿意意意意返返返返回回回回有有有有关关关关错错错错位位位位错错错错误误误误信信信信息息息息给给给给开开开开发发发发者者者者。开开开开发发发发者者者者通通通通常常常常不不不不在在在在测测测测试试试试现现现现场场场场,因因因因此此此此是是是是在在在在开开开开发发发发者者者者无无无无法法法法控控控控制制制制的的的的环环环环境境境境下下下下进进进进行行行行的的的的。 测测测测试试试试主主主主要要要要衡衡衡衡量量量量产产产产品品品品的的的的FLURPSFLURPS,着着着着重重重重于于于于产产产产品品品品的的的的支支支支持持持持性性性性,包包包包括括括括文文文文档档档档

141、、客客客客户户户户培培培培训训训训和和和和支支支支持持持持产产产产品品品品生生生生产产产产能能能能力力力力。只只只只有有有有当当当当 测测测测试达到一定的可靠度时才进行试达到一定的可靠度时才进行试达到一定的可靠度时才进行试达到一定的可靠度时才进行 测试测试测试测试。7/26/2024117软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错4)验收测试)验收测试验收测试验收测试是以用户为主的测试。是以用户为主的测试。软件开发人员和质量保证人员也应参软件开发人员和质量保证人员也应参

142、加。由用户参加设计测试用例,使用加。由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试用户界面输入测试数据,并分析测试的输出结果。一般使用生产中的实际的输出结果。一般使用生产中的实际数据进行测试。在测试过程中,除了数据进行测试。在测试过程中,除了考虑软件的功能和性能外,还应对软考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、件的可移植性、兼容性、可维护性、错误的恢复功能等进行测试。错误的恢复功能等进行测试。7/26/2024118软软 件件 工工 程程 导导 论论7.5.3 确认测试(确认测试(validation testing)测试基础用例设计白盒测试黑盒测试本章

143、小结测试策略人工测试调试排错5)确认测试的结果)确认测试的结果在全部确认测试的测试用例运行后,在全部确认测试的测试用例运行后,所有的测试结果可以分为两类:所有的测试结果可以分为两类:(1 1)测试结果与预期的结果相符)测试结果与预期的结果相符)测试结果与预期的结果相符)测试结果与预期的结果相符,说明软件的,说明软件的,说明软件的,说明软件的这部分功能或性能特征与需求规格说明书相这部分功能或性能特征与需求规格说明书相这部分功能或性能特征与需求规格说明书相这部分功能或性能特征与需求规格说明书相符合,从而这部分程序可以接受。符合,从而这部分程序可以接受。符合,从而这部分程序可以接受。符合,从而这部分

144、程序可以接受。(2 2)测试结果与预期的结果不符)测试结果与预期的结果不符)测试结果与预期的结果不符)测试结果与预期的结果不符,说明软件的,说明软件的,说明软件的,说明软件的这部分功能或性能特征与需求规格说明不一这部分功能或性能特征与需求规格说明不一这部分功能或性能特征与需求规格说明不一这部分功能或性能特征与需求规格说明不一致,因此需要开列一张软件各项缺陷表或软致,因此需要开列一张软件各项缺陷表或软致,因此需要开列一张软件各项缺陷表或软致,因此需要开列一张软件各项缺陷表或软件问题报告,通过与用户的协商,解决发现件问题报告,通过与用户的协商,解决发现件问题报告,通过与用户的协商,解决发现件问题报

145、告,通过与用户的协商,解决发现的缺陷和错误。的缺陷和错误。的缺陷和错误。的缺陷和错误。7/26/2024119软软 件件 工工 程程 导导 论论7.5.4 系统测试(系统测试(system testing)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述概述所所所所谓谓谓谓系系系系统统统统测测测测试试试试是是是是将将将将通通通通过过过过测测测测试试试试的的的的软软软软件件件件,作作作作为为为为整整整整个个个个基基基基于于于于计计计计算算算算机机机机系系系系统统统统的的的的一一一一个个个个元元元元素素素素,与与与与计计计计算算算算机机机机硬硬硬硬件件件件、外外外外设设设设、某

146、某某某些些些些支支支支持持持持软软软软件件件件、数数数数据据据据和和和和人人人人员员员员等等等等其其其其它它它它系系系系统统统统元元元元素素素素结结结结合合合合在在在在一一一一起起起起,在在在在实实实实际际际际运运运运行行行行(使使使使用用用用)环环环环境境境境下下下下,对对对对计计计计算算算算机机机机系系系系统统统统进进进进行一系列的组装测试和确认测试。行一系列的组装测试和确认测试。行一系列的组装测试和确认测试。行一系列的组装测试和确认测试。系系系系统统统统测测测测试试试试的的的的目目目目的的的的在在在在于于于于通通通通过过过过与与与与系系系系统统统统的的的的需需需需求求求求定定定定义义义义

147、作作作作比比比比较较较较,发发发发现现现现软软软软件件件件与与与与系系系系统统统统定定定定义义义义不不不不符符符符合合合合或或或或与与与与之之之之矛矛矛矛盾盾盾盾的的的的地地地地方方方方。系系系系统统统统测测测测试试试试的的的的测测测测试试试试用用用用例例例例应应应应根根根根据据据据需需需需求求求求分分分分析析析析说说说说明明明明书书书书设设设设计计计计,并并并并在在在在实实实实际际际际使用环境下运行。使用环境下运行。使用环境下运行。使用环境下运行。7/26/2024120软软 件件 工工 程程 导导 论论7.5.5 测试步骤及相应的测试类测试步骤及相应的测试类型型测试基础用例设计白盒测试黑盒

148、测试本章小结测试策略人工测试调试排错软件测试实际上是由一系软件测试实际上是由一系列不同的测试组成。尽管每种列不同的测试组成。尽管每种测试各有不同的目的,但是所测试各有不同的目的,但是所有工作都是为了证实所有的系有工作都是为了证实所有的系统元素组装正确,并且执行着统元素组装正确,并且执行着为各自分配的功能。为各自分配的功能。7/26/2024121软软 件件 工工 程程 导导 论论各测试步骤中的测试种类各测试步骤中的测试种类测试步骤测试步骤测试步骤测试步骤测试种类测试种类测试种类测试种类开发阶段的测试开发阶段的测试开发阶段的测试开发阶段的测试产品阶段的测试产品阶段的测试产品阶段的测试产品阶段的测

149、试设设设设计计计计单元单元单元单元测试测试测试测试模块模块模块模块测试测试测试测试组装组装组装组装测试测试测试测试部件部件部件部件测试测试测试测试有效性有效性有效性有效性测试测试测试测试 测试测试测试测试 测试测试测试测试验收验收验收验收测试测试测试测试系统系统系统系统测试测试测试测试设计评审设计评审设计评审设计评审MMS S代码审查代码审查代码审查代码审查MMH HS S功能测试功能测试功能测试功能测试 ( (黑盒黑盒黑盒黑盒) )H HMMMMMMMMMMMMMMMM结构测试结构测试结构测试结构测试 ( (白盒白盒白盒白盒) )H HMMS S回归测试回归测试回归测试回归测试S SH HM

150、MMMMM可靠性测试可靠性测试可靠性测试可靠性测试H HMMMMMMMMMM强度测试强度测试强度测试强度测试H HMMH H性能测试性能测试性能测试性能测试S SH HMMMMMMMMH H恢复测试恢复测试恢复测试恢复测试MM启动启动启动启动 / / 停止测停止测停止测停止测试试试试MM说明:说明:说明:说明:MM必要的(必要的(必要的(必要的(mandatorymandatory) H H积极推荐(积极推荐(积极推荐(积极推荐(highly highly recommendedrecommended) S S建议使用(建议使用(建议使用(建议使用(suggestedsuggested)7/2

151、6/2024122软软 件件 工工 程程 导导 论论各测试步骤中的测试种类各测试步骤中的测试种类测试步骤测试步骤测试步骤测试步骤测试种类测试种类测试种类测试种类开发阶段的测试开发阶段的测试开发阶段的测试开发阶段的测试产品阶段的测试产品阶段的测试产品阶段的测试产品阶段的测试设设设设计计计计单元单元单元单元测试测试测试测试模块模块模块模块测试测试测试测试组装组装组装组装测试测试测试测试部件部件部件部件测试测试测试测试有效性有效性有效性有效性测试测试测试测试 测试测试测试测试 测试测试测试测试验收验收验收验收测试测试测试测试系统系统系统系统测试测试测试测试配置测试配置测试配置测试配置测试H HMMM

152、M安全性测试安全性测试安全性测试安全性测试H H可使用性测试可使用性测试可使用性测试可使用性测试S SH HMMMM可支撑性测试可支撑性测试可支撑性测试可支撑性测试H HMM安装测试安装测试安装测试安装测试MMMMMM互连测试互连测试互连测试互连测试S SMMMM兼容性测试兼容性测试兼容性测试兼容性测试MMMM容量测试容量测试容量测试容量测试H HMMH H文档测试文档测试文档测试文档测试MMS SH HMM说明:说明:说明:说明:MM必要的(必要的(必要的(必要的(mandatorymandatory) H H积极推荐(积极推荐(积极推荐(积极推荐(highly highly recomme

153、ndedrecommended) S S建议使用(建议使用(建议使用(建议使用(suggestedsuggested)7/26/2024123软软 件件 工工 程程 导导 论论7.5.5 测试步骤及相应的测试类测试步骤及相应的测试类型型测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错各类测试的定义各类测试的定义1 1)功能测试)功能测试)功能测试)功能测试:是在规定的一段时间内运:是在规定的一段时间内运:是在规定的一段时间内运:是在规定的一段时间内运行软件系统的所有功能,以验证这个行软件系统的所有功能,以验证这个行软件系统的所有功能,以验证这个行软件系统的所有功能,以验证这个软

154、件系统有无严重错误。软件系统有无严重错误。软件系统有无严重错误。软件系统有无严重错误。2 2)回归测试)回归测试)回归测试)回归测试:用于验证对软件修改后有:用于验证对软件修改后有:用于验证对软件修改后有:用于验证对软件修改后有没有引进新的错误,即验证修改后的没有引进新的错误,即验证修改后的没有引进新的错误,即验证修改后的没有引进新的错误,即验证修改后的软件是否仍然满足系统的需求规格说软件是否仍然满足系统的需求规格说软件是否仍然满足系统的需求规格说软件是否仍然满足系统的需求规格说明。明。明。明。3 3)可靠性测试)可靠性测试)可靠性测试)可靠性测试:系统需求说明书中有对:系统需求说明书中有对:

155、系统需求说明书中有对:系统需求说明书中有对可靠性的要求时进行。可靠性的要求时进行。可靠性的要求时进行。可靠性的要求时进行。7/26/2024124软软 件件 工工 程程 导导 论论7.5.5 测试步骤及相应的测试类测试步骤及相应的测试类型型测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错各类测试的定义各类测试的定义4 4)强度测试)强度测试)强度测试)强度测试:是要检查在系统运行环境:是要检查在系统运行环境:是要检查在系统运行环境:是要检查在系统运行环境不正常到发生故障的情况下,系统可不正常到发生故障的情况下,系统可不正常到发生故障的情况下,系统可不正常到发生故障的情况下,系统

156、可以运行到何种程度的测试。以运行到何种程度的测试。以运行到何种程度的测试。以运行到何种程度的测试。 5 5)性能测试)性能测试)性能测试)性能测试:是要检查系统是否满足在:是要检查系统是否满足在:是要检查系统是否满足在:是要检查系统是否满足在需求说明书中规定的性能。需求说明书中规定的性能。需求说明书中规定的性能。需求说明书中规定的性能。6 6)恢复测试)恢复测试)恢复测试)恢复测试:是要正是在克服硬件故障:是要正是在克服硬件故障:是要正是在克服硬件故障:是要正是在克服硬件故障(包括掉电、硬件或网络出错等)后,(包括掉电、硬件或网络出错等)后,(包括掉电、硬件或网络出错等)后,(包括掉电、硬件或

157、网络出错等)后,系统能否正常地继续进行工作,并不系统能否正常地继续进行工作,并不系统能否正常地继续进行工作,并不系统能否正常地继续进行工作,并不对系统造成任何损害。对系统造成任何损害。对系统造成任何损害。对系统造成任何损害。7/26/2024125软软 件件 工工 程程 导导 论论7.5.5 测试步骤及相应的测试类测试步骤及相应的测试类型型测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错各类测试的定义各类测试的定义7 7)启启启启动动动动停停停停止止止止测测测测试试试试:是是是是验验验验证证证证在在在在机机机机器器器器启启启启动动动动及及及及关机阶段,软件系统正确处理的能力。关

158、机阶段,软件系统正确处理的能力。关机阶段,软件系统正确处理的能力。关机阶段,软件系统正确处理的能力。8 8)配配配配置置置置测测测测试试试试:是是是是要要要要检检检检查查查查计计计计算算算算机机机机系系系系统统统统内内内内各各各各个个个个设设设设备备备备或或或或各各各各种种种种资资资资源源源源之之之之间间间间的的的的相相相相互互互互连连连连接接接接和和和和功功功功能能能能分配中的错误。包括:分配中的错误。包括:分配中的错误。包括:分配中的错误。包括:v配置命令测试配置命令测试配置命令测试配置命令测试v循环配置测试循环配置测试循环配置测试循环配置测试v修复测试修复测试修复测试修复测试9 9)安安

159、安安全全全全性性性性测测测测试试试试:是是是是要要要要检检检检验验验验在在在在系系系系统统统统中中中中已已已已经经经经存存存存在在在在的的的的系系系系统统统统安安安安全全全全性性性性、保保保保密密密密性性性性措措措措施施施施是是是是否否否否发发发发挥挥挥挥作用、有无漏洞。作用、有无漏洞。作用、有无漏洞。作用、有无漏洞。7/26/2024126软软 件件 工工 程程 导导 论论7.5.5 测试步骤及相应的测试类测试步骤及相应的测试类型型测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错各类测试的定义各类测试的定义10)可使用性测试)可使用性测试:主要从使用的合:主要从使用的合理性和

160、方便性等角度对软件系统理性和方便性等角度对软件系统进行检查,发现人为因素或使用进行检查,发现人为因素或使用上的问题。上的问题。11)可支持性测试)可支持性测试:是要验证系统的:是要验证系统的支持策略对于公司与用户方面是支持策略对于公司与用户方面是否切实可行。否切实可行。12)安装测试)安装测试:安装测试的目的不是:安装测试的目的不是找软件错误,而是找安装错误。找软件错误,而是找安装错误。7/26/2024127软软 件件 工工 程程 导导 论论7.5.5 测试步骤及相应的测试类测试步骤及相应的测试类型型测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错各类测试的定义各类测试的定义

161、13)互连测试)互连测试:是要验证两个或多个:是要验证两个或多个不同的系统之间的互连性。不同的系统之间的互连性。14)兼容性测试)兼容性测试:是要验证软件产品:是要验证软件产品在不同版本之间的兼容性。在不同版本之间的兼容性。15)容量测试)容量测试:是要检验系统的能力:是要检验系统的能力最高能达到什么程度。最高能达到什么程度。16)文档测试)文档测试:是检查用户文档(如:是检查用户文档(如用户手册)的清晰性和精确性。用户手册)的清晰性和精确性。7/26/2024128软软 件件 工工 程程 导导 论论7.6 人工测试人工测试7.6.1 静态分析静态分析7.6.2 人工测试人工测试测试基础用例设

162、计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024129软软 件件 工工 程程 导导 论论7.6.1 静态分析静态分析1)生成各种引用表)生成各种引用表 在源程序编制完成后生成各种引用在源程序编制完成后生成各种引用在源程序编制完成后生成各种引用在源程序编制完成后生成各种引用表,是为了支持对源程序进行静态分析。表,是为了支持对源程序进行静态分析。表,是为了支持对源程序进行静态分析。表,是为了支持对源程序进行静态分析。引用表按功能分类有以下三种:引用表按功能分类有以下三种:引用表按功能分类有以下三种:引用表按功能分类有以下三种:直接从表中查出说明使用错误。直接从表中查出说明使用错

163、误。直接从表中查出说明使用错误。直接从表中查出说明使用错误。如循环层如循环层如循环层如循环层次表、变量交叉引用表、标号交叉引用表等。次表、变量交叉引用表、标号交叉引用表等。次表、变量交叉引用表、标号交叉引用表等。次表、变量交叉引用表、标号交叉引用表等。为用户提供辅助信息。为用户提供辅助信息。为用户提供辅助信息。为用户提供辅助信息。如子程序(宏、函数)如子程序(宏、函数)如子程序(宏、函数)如子程序(宏、函数)引用表、等价(变量、标号)表、常数表等。引用表、等价(变量、标号)表、常数表等。引用表、等价(变量、标号)表、常数表等。引用表、等价(变量、标号)表、常数表等。用来作错误预测和程序复杂度计

164、算。用来作错误预测和程序复杂度计算。用来作错误预测和程序复杂度计算。用来作错误预测和程序复杂度计算。如操作如操作如操作如操作符和操作数的统计表等。符和操作数的统计表等。符和操作数的统计表等。符和操作数的统计表等。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024130软软 件件 工工 程程 导导 论论7.6.1 静态分析静态分析2)静态错误分析)静态错误分析静静态态错错误误分分析析主主要要用用于于确确定定在在源源程程序序中中是是否否有有某某类类错错误误或或“危险危险”结构。它有以下几种:结构。它有以下几种:类型和单位分析类型和单位分析引用分析引用分析表达式分析表

165、达式分析接口分析接口分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024131软软 件件 工工 程程 导导 论论7.6.2 人工测试人工测试1)桌前检查()桌前检查(desk checking)由程序员自己检查自己编写由程序员自己检查自己编写的程序。检查项目有:的程序。检查项目有:检查变量的交叉引用检查变量的交叉引用检查标号的交叉引用检查标号的交叉引用检查子程序、宏、函数检查子程序、宏、函数常量检查常量检查标准检查标准检查测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024132软软 件件 工工 程程 导导 论论7.6.2 人工测

166、试人工测试1)桌前检查()桌前检查(desk checking)检查项目有:检查项目有:风格检查风格检查比较控制检查比较控制检查选择、激活路径选择、激活路径对照程序的规格说明详细对照程序的规格说明详细阅读源代码阅读源代码补充文档补充文档测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024133软软 件件 工工 程程 导导 论论7.6.2 人工测试人工测试2)代码会审)代码会审(code reading review)代代码码会会审审是是由由若若干干程程序序员员和和测测试试员员组组成成一一个个会会审审小小组组,通通过过阅阅读读、讨讨论论和和争争议议,对对程程序序进行

167、静态分析的过程。进行静态分析的过程。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024134软软 件件 工工 程程 导导 论论7.6.2 人工测试人工测试2)代码会审)代码会审代码会审分两步:代码会审分两步:小组负责人提前将设计规格说明书、小组负责人提前将设计规格说明书、小组负责人提前将设计规格说明书、小组负责人提前将设计规格说明书、控制流程图、程序文本及有关要求、控制流程图、程序文本及有关要求、控制流程图、程序文本及有关要求、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审规范等分发给小组成员,作为评审规范等分发给小组成员,作为评审规范等分发给小

168、组成员,作为评审依据。小组成员充分阅读这些材料。依据。小组成员充分阅读这些材料。依据。小组成员充分阅读这些材料。依据。小组成员充分阅读这些材料。召开程序审查会。由程序员逐句讲召开程序审查会。由程序员逐句讲召开程序审查会。由程序员逐句讲召开程序审查会。由程序员逐句讲解程序的逻辑,程序员或其他小组解程序的逻辑,程序员或其他小组解程序的逻辑,程序员或其他小组解程序的逻辑,程序员或其他小组成员可以提出问题,展开讨论,审成员可以提出问题,展开讨论,审成员可以提出问题,展开讨论,审成员可以提出问题,展开讨论,审查错误是否存在。查错误是否存在。查错误是否存在。查错误是否存在。测试基础用例设计白盒测试黑盒测试

169、本章小结测试策略人工测试调试排错7/26/2024135软软 件件 工工 程程 导导 论论7.6.2 人工测试人工测试代码会审后需要做以下几件事:代码会审后需要做以下几件事:把把发发现现的的错错误误登登记记造造表表,并并交交给程序员;给程序员;若若发发现现错错误误较较多多,或或发发现现重重大大错错误误,则则在在改改正正之之后后,再再次次组组织代码会审;织代码会审;对对错错误误登登记记表表进进行行分分析析、归归类类、精炼,以提高审议效果。精炼,以提高审议效果。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024136软软 件件 工工 程程 导导 论论7.6.2 人工

170、测试人工测试3)走查()走查(walkthroughs)走查与代码会审基本相同,其过程分两步:走查与代码会审基本相同,其过程分两步:走查与代码会审基本相同,其过程分两步:走查与代码会审基本相同,其过程分两步:把把把把材材材材料料料料发发发发给给给给走走走走查查查查小小小小组组组组每每每每个个个个成成成成员员员员,让让让让他他他他们认真研究程序;们认真研究程序;们认真研究程序;们认真研究程序;召召召召开开开开走走走走查查查查会会会会,让让让让与与与与会会会会者者者者充充充充当当当当“ “计计计计算算算算机机机机” ”,即即即即首首首首先先先先由由由由测测测测试试试试组组组组成成成成员员员员为为为

171、为被被被被测测测测程程程程序序序序准准准准备备备备一一一一批批批批有有有有代代代代表表表表性性性性的的的的测测测测试试试试用用用用例例例例,提提提提交交交交给给给给走走走走查查查查小小小小组组组组,走走走走查查查查小小小小组组组组开开开开会会会会,集集集集体体体体扮扮扮扮演演演演计计计计算算算算机机机机角角角角色色色色,让让让让测测测测试试试试用用用用例例例例沿沿沿沿程程程程序序序序的的的的逻逻逻逻辑辑辑辑运运运运行行行行一一一一遍遍遍遍,随随随随时时时时记记记记录录录录程程程程序序序序的的的的踪踪踪踪迹迹迹迹,供分析和讨论用。供分析和讨论用。供分析和讨论用。供分析和讨论用。测试基础用例设计白

172、盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024137软软 件件 工工 程程 导导 论论7.7 调试(调试(Debug,排错),排错) 软件调试是在进行了成功的测软件调试是在进行了成功的测试之后才开始的工作,其任务是进试之后才开始的工作,其任务是进一步诊断和改正程序中潜在的错误。一步诊断和改正程序中潜在的错误。调试活动由两部分组成:调试活动由两部分组成:确定程序中可疑错误的确切性质确定程序中可疑错误的确切性质确定程序中可疑错误的确切性质确定程序中可疑错误的确切性质和位置和位置和位置和位置对程序(设计,编码)进行修改,对程序(设计,编码)进行修改,对程序(设计,编码)进行修改,对

173、程序(设计,编码)进行修改,排除这个错误排除这个错误排除这个错误排除这个错误测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024138软软 件件 工工 程程 导导 论论7.7 调试(调试(Debug,排错),排错)7.7.1 调试的步骤调试的步骤7.7.2 几种主要的调试方几种主要的调试方法法7.7.3 调试原则调试原则测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024139软软 件件 工工 程程 导导 论论7.7.1 调试的步骤调试的步骤调试的步骤如下:调试的步骤如下:1)从错误的外部表现入手,确)从错误的外部表现入手,确定程序中

174、出错的位置;定程序中出错的位置;2)研究有关部分的程序,找出)研究有关部分的程序,找出错误的内在原因;错误的内在原因;3)修改设计和代码,以排除这)修改设计和代码,以排除这个错误;个错误;测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024140软软 件件 工工 程程 导导 论论7.7.1 调试的步骤调试的步骤调试的步骤如下:调试的步骤如下:4)重复进行暴露了这个错误的原始)重复进行暴露了这个错误的原始测试或某些有关测试,以确认:测试或某些有关测试,以确认:该错误是否被排除;该错误是否被排除;该错误是否被排除;该错误是否被排除;是否引进了新的错误是否引进了新的错误

175、是否引进了新的错误是否引进了新的错误5)如果所作的修改无效,则撤销这)如果所作的修改无效,则撤销这次改动,重复上述过程,直到找次改动,重复上述过程,直到找到一个有效的解决办法为止。到一个有效的解决办法为止。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024141软软 件件 工工 程程 导导 论论7.7.1 调试的步骤调试的步骤调试的活动:调试的活动:测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错测试用例测试用例调试调试改正改正原因原因猜测的原因猜测的原因执行执行结果结果错误现场错误现场7/26/2024142软软 件件 工工 程程 导导 论论7

176、.7.1 调试的步骤调试的步骤查找错误的难点:查找错误的难点:1)现象与原因所处的位置可能相距)现象与原因所处的位置可能相距甚远。甚远。2)当其它错误得到纠正时,这一错)当其它错误得到纠正时,这一错误所表现出的现象可能会暂时消误所表现出的现象可能会暂时消失,但并未实际排除。失,但并未实际排除。3)现象实际上是由一些非错误原因)现象实际上是由一些非错误原因(如舍入不精确)引起的。(如舍入不精确)引起的。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024143软软 件件 工工 程程 导导 论论7.7.1 调试的步骤调试的步骤查找错误的难点:查找错误的难点:4)现象可

177、能是由于一些不容易发现)现象可能是由于一些不容易发现的人为错误引起的。的人为错误引起的。5)错误是由于时序问题引起的,与)错误是由于时序问题引起的,与处理过程无关。处理过程无关。6)现象是由于难于精确再现的输入)现象是由于难于精确再现的输入状态(如实时应用中输入顺序不状态(如实时应用中输入顺序不确定)引起。确定)引起。7)现象可能是周期出现。)现象可能是周期出现。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024144软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法1)强行排错:)强行排错:通过内存全部打印来排错通过内存全部打印

178、来排错在程序特定部位设置打印在程序特定部位设置打印语句语句自动调试工具自动调试工具测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024145软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法2)回溯法排错:)回溯法排错:分析错误征兆,确定最先分析错误征兆,确定最先发现发现“症状症状”的位置的位置人工沿程序的控制流程,人工沿程序的控制流程,向回追踪源程序代码,直向回追踪源程序代码,直到找到错误根源或确定错到找到错误根源或确定错误产生的范围误产生的范围测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/202414

179、6软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法3)归纳法排错:)归纳法排错:归归纳纳法法是是一一种种从从特特殊殊推推断断一一般般的的系系统统化化思思考考方方法法。归归纳纳法法排排错错的的基基本本思思想想是是:从从一一些些线线索索(错错误误征征兆兆)着着手手,通通过过分分析析它它们之间的关系找出错误。们之间的关系找出错误。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024147软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法归纳法排错的步骤:归纳法排错的步骤:收集有关的数据收集有关的数据组织数

180、据(组织数据(3W1HWhat、Where、When、How)提出假设提出假设证明假设证明假设测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024148软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法归纳法排错步骤图示归纳法排错步骤图示测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错收集有关数据收集有关数据组织数据组织数据研究数据研究数据间的关系间的关系提出假设提出假设证明假设证明假设纠正假设纠正假设YesYesNoNoWhatWhatWhereWhereWhenWhenHowHow归纳法中组织数据的归纳法中组织数

181、据的3W1H表表不能不能不不能能能能能能7/26/2024149软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法4)演绎法排错:)演绎法排错:演绎法是一种从一般原理或前提演绎法是一种从一般原理或前提出发,经过排除和精化的过程推导出出发,经过排除和精化的过程推导出结论的思考方法。演绎法排错是测试结论的思考方法。演绎法排错是测试人员首先根据已有的测试用例,设想人员首先根据已有的测试用例,设想及枚举出所有可能出错的原因作为假及枚举出所有可能出错的原因作为假设;然后在用原始测试数据或新的测设;然后在用原始测试数据或新的测试,从中逐个排除不可能正确的假设;试,从中逐个排

182、除不可能正确的假设;最后再用测试数据验证余下的假设确最后再用测试数据验证余下的假设确实是出错的原因。实是出错的原因。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024150软软 件件 工工 程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法演绎法排错的步骤:演绎法排错的步骤:列举所有可能出错的原因列举所有可能出错的原因利用已有的测试数据,排利用已有的测试数据,排除不正确的假设除不正确的假设改进余下的假设改进余下的假设证明余下的假设证明余下的假设测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024151软软 件件 工工

183、程程 导导 论论7.7.2 几种主要的调试方几种主要的调试方法法演绎法排错的步骤图示演绎法排错的步骤图示测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错列举可能列举可能的原因的原因排除不适排除不适当的原因当的原因对保留的假对保留的假设继续推断设继续推断证明证明假设假设纠正纠正错误错误收集更多的数据收集更多的数据有剩余有剩余没有剩余没有剩余不能不能能能7/26/2024152软软 件件 工工 程程 导导 论论7.7.3 调试原则调试原则(1)确定错误性质和位置的原则:)确定错误性质和位置的原则:用头脑去分析思考与错误征兆用头脑去分析思考与错误征兆有关的信息有关的信息避开死胡同避开

184、死胡同只把调试工具当作辅助手段来只把调试工具当作辅助手段来使用使用避免用试探法,最多只能把它避免用试探法,最多只能把它当作最后手段当作最后手段测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024153软软 件件 工工 程程 导导 论论7.7.3 调试原则调试原则(2)修改错误的原则:)修改错误的原则:在出现错误的地方,很可能还有在出现错误的地方,很可能还有在出现错误的地方,很可能还有在出现错误的地方,很可能还有别的错误别的错误别的错误别的错误修改错误的一个常见失误是只修修改错误的一个常见失误是只修修改错误的一个常见失误是只修修改错误的一个常见失误是只修改了这个错误

185、的征兆或这个错误改了这个错误的征兆或这个错误改了这个错误的征兆或这个错误改了这个错误的征兆或这个错误的表现,而没有修改错误的本身的表现,而没有修改错误的本身的表现,而没有修改错误的本身的表现,而没有修改错误的本身当心修正一个错误的同时有可能当心修正一个错误的同时有可能当心修正一个错误的同时有可能当心修正一个错误的同时有可能会引入新的错误会引入新的错误会引入新的错误会引入新的错误修改错误的过程将迫使人们暂时修改错误的过程将迫使人们暂时修改错误的过程将迫使人们暂时修改错误的过程将迫使人们暂时回到程序设计阶段回到程序设计阶段回到程序设计阶段回到程序设计阶段测试基础用例设计白盒测试黑盒测试本章小结测试

186、策略人工测试调试排错7/26/2024154软软 件件 工工 程程 导导 论论7.8 本章小结本章小结软件测试的基础软件测试的基础测试用例设计测试用例设计白盒测试的测试用例设计白盒测试的测试用例设计黑盒测试的测试用例设计黑盒测试的测试用例设计软件测试的策略软件测试的策略人工测试人工测试调试(调试(Debug,排错)排错)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024155软软 件件 工工 程程 导导 论论谢谢!谢谢!第七章第七章 软件测试软件测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7/26/2024156软软 件件 工工 程程 导导 论论

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号