软件测试及软件质量控制优秀PPT.ppt
《软件测试及软件质量控制优秀PPT.ppt》由会员分享,可在线阅读,更多相关《软件测试及软件质量控制优秀PPT.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1软件测试及软件软件测试及软件质量限制质量限制 第六章第六章2 2 软软件件系系统统的的开开发发过过程程中中,软软件件测测试试占占据据着着重重要要地地位位。尽尽管管人人们们实实行行了了多多种种保保证证软软件件质质量量的的措措施施,由由于于软软件件系系统统的的客客观观困困难难性性,人人们们的的主主观观相相识识不不行行能能完完全全符符合合客客观观实实际际,完完备备无无缺缺,每每个个阶阶段段的的技技术术审审查查也也不不行行能能毫毫无无遗遗漏漏地地查查出出和和订订正正全全部部的的设设计计和和分分析析上上的的错错误误,在在软软件件生生命命周周期期的的各各个个阶阶段段,都都不不行行避避开开地地会会产产
2、生生差差错错,这这些些差差错错迟迟早早会会在在软软件件的的生生产和运用过程中暴露出来。产和运用过程中暴露出来。3 3 软软件件工工程程实实践践的的阅阅历历表表明明,发发觉觉软软件件的的时时刻刻越越晚晚,改改正正这这些些错错误误所所花花费费的的代代价价也也越越高高,假假如如在在软软件件投投入入运运用用之之前前没没有有发发觉觉和和订订正正软软件件的的大大部部分分错错误误,人人们们付付出的代价会更高,往往会造成恶劣的后果。出的代价会更高,往往会造成恶劣的后果。从从广广义义上上来来说说,软软件件测测试试工工作作散散布布在在软软件件生生命命周周期期的的各各个个开开发发阶阶段段,人人们们相相识识到到,软软
3、件件测测试试是是保保证证软软件件质质量量的的主主要要手手段段,各各阶阶段段的的评评审审工工作作和和验验证证工工作作,均均是是广广义义概概念念上上的的测测试试工工作作。而而主主要要的的测测试试是是在在编编码码和和测测试试这这两两个个阶阶段段进进行行的的。因因此此,狭狭义义的的软软件件测测试试就就是程序测试。是程序测试。4 46.1 6.1 软件测试基本概念软件测试基本概念 G.J.Myers给出了关于测试的一些规则,被软件工程领域认可:(1)测试是为了发觉程序中的错误而执行程序的过程;(2)好的测试方案极有可能发觉迄今为止尚未发觉的错误;(3)成功的测试是发觉了至今为止尚未发觉的错误。5 56.
4、1 6.1 软件测试基本概念软件测试基本概念 这这些些规规则则,事事实实上上是是软软件件测测试试的的狭狭义义概概念念程序测试。程序测试。狭狭义义的的软软件件测测试试:测测试试是是为为了了发发觉觉错错误误而而执执行行程程序序的的过过程程。是是依依据据软软件件开开发发的的各各个个阶阶段段的的说说明明和和程程序序的的内内部部结结构构而而细细心心设设计计的的一一批批测测试试用用例例(有有输输入入数数据据及及预预期期的的结结果果),并并利利用用这这些些测测试试用用例例执执行行程序及发觉错误的过程。程序及发觉错误的过程。6 66.1 6.1 软件测试基本概念软件测试基本概念 广广义义的的软软件件测测试试是
5、是对对软软件件支支配配、软软件件系系统统分分析析、软软件件设设计计、软软件件编编码码进进行行的的查查错错活活动动,包包括括代代码码执执行行和和人人工工审审查查活活动动,测测试试的的目目的的是是找找出出软软件件生生命命周周期期的的各各个个阶阶段段的的错错误误,有有利利于于以以后后进进行行修修改改和和订订正正。但但测测试试本本身身不不修修正正错错误误,调调试试才才会会修修正正错错误误。即即找找错错的的活活动动是是测测试试;分分析析错错误误的的性性质质与与位位置置,进进行行纠纠错错的的活活动动是是调调试试,保保证证算算法法的的正正的的确确现现。软软件件测测试试与与程程序序测测试试都是查找错误的活动,
6、差别在于查找错误的范围不同。都是查找错误的活动,差别在于查找错误的范围不同。7 76.1 6.1 软件测试基本概念软件测试基本概念 由于测试的目标是暴露程序的错误,从心理学角度看,由设计者自己进行测试是不恰当的,设计小组和测试小组应当分别设立,有利于进行客观和公正的软件测试。测试是有限的,由于通常的测试过程不行能穷尽一切状况,即使经过了严格的测试之后,仍旧可能存在没有被发觉的错误隐藏在程序中,不能证明程序中没有错误。8 86.1 6.1 软件测试基本概念软件测试基本概念 因此,测试仅仅有可能找出程序的错误,测试不能证明程序是正确的。软件工程中全部其它阶段都是“建设性”的,软件工程师力图从抽象概
7、念动身,逐步设计出具体的软件系统,而测试人员的工作表面上看却是“破坏性”的,竭力证明软件中含有错误,不能按预定要求正确工作。凡是进行对比的方式均可理解为测试验证。9 96.1.2 6.1.2 软件测试的对象软件测试的对象 软件测试应当贯穿于软件生命期的各个阶段,各阶段的工作是相互连接、相互影响的,前一阶段发生的问题自然要影响到下一阶段的工作。为了把握各个环节的正确性,人们须要进行各种确认和验证工作。软件确认是广义上的软件测试,它是企图证明软件在一个给定的外部环境中软件的逻辑正确性的一系列活动和过程,如需求说明书的确认、程序的确认等。10106.1.2 6.1.2 软件测试的对象软件测试的对象
8、程序的确认又分为静态确认与动态确认。静态确认一般不在计算机上执行程序,而是通过程序正确性证明、静态分析或人工分析来确认程序的正确性;动态确认主要通过动态分析和动态测试,用执行程序的过程来检查执行的状态,确认程序是否有问题;11116.1.2 6.1.2 软件测试的对象软件测试的对象 正确性证明主要是企图绕过困难的测试,干脆证明程序的正确性。如程序的输入输出断言法。设程序段为S,其前断言为P,后断言为R。假如执行S以前P为真,则执行S后R也为真,则证明S是正确的,记为PSR。12126.1.2 6.1.2 软件测试的对象软件测试的对象 任何程序总可以分成S1、S2、Sn个结点,对应的断言为R1、
9、R2、Rn,起初R1为输入断言,R2为输出断言,也是下一个输入断言,Rn为最终的输出断言,我们总可以,将S1、S2、Sn逐个证明,自顶向下或自底向上都可证明程序的正确性,该分支已发展为计算机代数学;13136.1.2 6.1.2 软件测试的对象软件测试的对象 软件验证也属于广义上的软件测试,它试图证明在软件生命期的各个阶段、各阶段的逻辑协调性、完备性和正确性。包括系统分析员理解用户要求的正确性、表达的正确性、设计人员对需求规格说明理解的正确性、设计与设计表达的正确性、程序编码的正确性和运行软件程序时输入的正确性、运行结果的正确性等,运行结果与用户预期的结果是否一样等,这说明任何一个环节上发生了
10、问题都可能在软件测试中表现出来。14146.1.3 6.1.3 测试信息流测试信息流 将测试的过程用数据流图表示,可得测试信息流如图6-1所示。(至软件配置)软件配置 1 测试结果 2 错误 3 修正的软件测试配置 测试结果测试工具 测试 评价 调试 正确 预测结果 出错率 4 数据 可靠性 分析图图6-1 测试信息流测试信息流 15156.1.3 6.1.3 测试信息流测试信息流 1.测试过程须要三类输入:(1)软件配置:包括软件开发文档(用户文档、需求规格说明、软件设计说明、源程序代码)、目标执行程序、数据结构;(2)测试配置:包括测试支配、测试用例、测试驱动程序等;事实上在整个软件开发过
11、程中,测试配置只是软件配置的一个子集;1616 (3 3)测测试试工工具具:为为提提高高软软件件测测试试效效率率,运运用用测测试试工工具具为为测测试试工工作作服服务务;如如:测测试试数数据据自自动动生生成成程程序序,静静态态分分析析程程序序、动动态态分分析析程程序序、测测试试结结果分析程序及标准例程测试数据库等。果分析程序及标准例程测试数据库等。6.1.3 6.1.3 测试信息流测试信息流1717 测试之后,对全部测试结果进行分析,将实测试之后,对全部测试结果进行分析,将实际测试的结果与预期的结果进行比较。假如发觉际测试的结果与预期的结果进行比较。假如发觉出错的数据,则意味着软件有错误,须要纠
12、错,出错的数据,则意味着软件有错误,须要纠错,应进行调试,确定错误的位置和出错的性质,改应进行调试,确定错误的位置和出错的性质,改正这些错误,同时修正相关文档。修正过的文档正这些错误,同时修正相关文档。修正过的文档一般需经过再次测试,直到通过测试为止。一般需经过再次测试,直到通过测试为止。6.1.3 6.1.3 测试信息流测试信息流1818 通通过过收收集集和和分分析析测测试试结结果果的的有有关关数数据据,可可以以建立软件评估的牢靠性模型。建立软件评估的牢靠性模型。假假如如常常常常出出现现须须要要修修改改设设计计的的严严峻峻错错误误,那那么么软软件件的的质质量量和和牢牢靠靠性性就就值值得得怀怀
13、疑疑,同同时时也也表表明明须要进一步测试。须要进一步测试。相相反反,假假如如软软件件功功能能能能够够正正确确完完成成,出出现现的的错误易于修改,那么就可能有两种评价:错误易于修改,那么就可能有两种评价:6.1.3 6.1.3 测试信息流测试信息流1919一种是软件的质量和牢靠性达到可以接受的程度。一种是软件的质量和牢靠性达到可以接受的程度。另一种是所做的测试还不足以发觉软件的严峻错误。另一种是所做的测试还不足以发觉软件的严峻错误。假假如如得得到到的的评评价价是是没没有有发发觉觉错错误误,很很有有可可能能测测试试的的配配置置考考虑虑得得不不够够充充分分和和细细致致,软软件件仍仍有有潜潜藏藏的错误
14、,以后改正错误须要付出昂扬的代价。的错误,以后改正错误须要付出昂扬的代价。6.1.3 6.1.3 测试信息流测试信息流2020 2.2.软件错误可以从不同角度进行分类:软件错误可以从不同角度进行分类:(1 1)从错误对程序的影响程度来分:)从错误对程序的影响程度来分:严严峻峻性性错错误误:严严峻峻影影响响程程序序的的运运行行,甚甚至至不能运行;不能运行;一一般般性性错错误误:常常常常影影响响程程序序的的运运行行,特特殊殊状况下表现正常;状况下表现正常;6.1.3 6.1.3 测试信息流测试信息流2121 微微小小错错误误:一一般般状状况况下下程程序序能能运运行行,特特殊殊状况下表现异样;状况下
15、表现异样;无影响性错误:不影响程序的运行。无影响性错误:不影响程序的运行。6.1.3 6.1.3 测试信息流测试信息流2222 (2 2)从开发过程的转换环节上分:)从开发过程的转换环节上分:构造错误:编码实现与设计不一样;构造错误:编码实现与设计不一样;设计错误:设计逻辑与说明不一样;设计错误:设计逻辑与说明不一样;说明书错误:说明书与用户要求不一样;说明书错误:说明书与用户要求不一样;需求错误:不满足用户的实际要求;需求错误:不满足用户的实际要求;配置错误:软件配置不满足实际环境。配置错误:软件配置不满足实际环境。6.1.3 6.1.3 测试信息流测试信息流2323(3 3)从测试结果的表
16、现上分类:)从测试结果的表现上分类:1 1)功能错误:由系统需求分析不完整引起的;)功能错误:由系统需求分析不完整引起的;2 2)结构错误:由总体设计的错误引起的;)结构错误:由总体设计的错误引起的;3 3)过程错误:由具体设计的错误引起的;)过程错误:由具体设计的错误引起的;4 4)数据错误:由软件编码或具体设计的错误引起的;)数据错误:由软件编码或具体设计的错误引起的;5 5)编码错误:由软件编码引起的错误;)编码错误:由软件编码引起的错误;6 6)其它错误:由文档和其它系统元素引起的错误;)其它错误:由文档和其它系统元素引起的错误;6.1.3 6.1.3 测试信息流测试信息流24246.
17、1.4 6.1.4 软件测试步骤与软件开发各软件测试步骤与软件开发各阶段的关系阶段的关系软件测试一般分为四个步骤:软件测试一般分为四个步骤:(1 1)单单元元测测试试(也也称称模模块块测测试试):针针对对软软件件设设计计的的基基本本单单元元程程序序模模块块,进进行行正正确确性性检检验验的的测测试试工工作作。目目的的在在于于发发觉觉各各个个模模块块内内部部可可能能存存在在的的各各种种差差错错。单单元元测测试试须须要要从从程程序序内内部部结结构构动动身身设设计计测测试用例,多个模块可以平行、独立地进行测试;试用例,多个模块可以平行、独立地进行测试;25256.1.4 6.1.4 软件测试步骤与软件
18、开发各软件测试步骤与软件开发各阶段的关系阶段的关系 (2)集成测试(也称组装测试,联合测试):在单元测试的基础上,将全部模块按设计要求集成在一起进行测试,以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。26266.1.4 6.1.4 软件测试步骤与软件开发各软件测试步骤与软件开发各阶段的关系阶段的关系 (3 3)确确认认测测试试(也也称称验验收收测测试试,有有效效性性测测试试):主主要要检检验验软软件件的的功功能能和和性性能能是是否否与与需需求求说说明明书书中中的的规定一样。规定一样。(4 4)系系统统测测试试:将将软软件件系
19、系统统作作为为一一个个元元素素,放放入入整整个个实实际际的的计计算算机机系系统统中中,与与计计算算机机硬硬件件、其其他他软软件件、运运用用人人员员等等系系统统元元素素结结合合在在一一起起,在在实实际际运运用环境下进行综合全面的测试。用环境下进行综合全面的测试。27276.1.4 6.1.4 软件测试步骤与软件开发各软件测试步骤与软件开发各阶段的关系阶段的关系 前面多次强调,运用软件生命期(瀑布模型)前面多次强调,运用软件生命期(瀑布模型)模型,软件开发过程是一个自顶向下,逐步细化的模型,软件开发过程是一个自顶向下,逐步细化的过程,而软件测试过程则是与开发过程相反的次序过程,而软件测试过程则是与
20、开发过程相反的次序进行的,是一个自底向上,逐步集成的过程,低一进行的,是一个自底向上,逐步集成的过程,低一层测试为上一层测试准备测试条件和数据驱动环境,层测试为上一层测试准备测试条件和数据驱动环境,也包含两者平行进行测试。也包含两者平行进行测试。28286.1.4 6.1.4 软件测试步骤与软件开发各软件测试步骤与软件开发各阶段的关系阶段的关系 因因此此,发发觉觉引引起起错错误误的的缘缘由由依依次次也也与与开开发发过过程程的的相相次次序序反反,首首先先对对每每一一个个模模块块进进行行单单元元测测试试,消消退退程程序序模模块块内内部部逻逻辑辑上上和和功功能能上上的的错错误误和和缺缺陷陷,再再比比
21、照照软软件件设设计计进进行行集集成成测测试试(有有时时也也叫叫整整体体测测试试),检检测测和和解解除除子子系系统统或或系系统统结结构构上上的的错错误误,再再比比照照需需求求进进行行确确认认测测试试(也也称称为为有有效效性性测测试试),最最终终进进行行系系统统测测试试,运运行行系系统统,看看软软件件系系统统是是否否满满足足功功能能和和性能及其它要求。性能及其它要求。29296.1.4 6.1.4 软件测试步骤与软件开发各软件测试步骤与软件开发各阶段的关系阶段的关系需求分析软件设计软件编码确认测试集成测试单元测试系统测试图图6-2 6-2 软件测试与软件开发过程间的关系软件测试与软件开发过程间的关
22、系30306.1.4 6.1.4 软件测试步骤与软件开发各软件测试步骤与软件开发各阶段的关系阶段的关系需求分析 说明书概要设计 说明书详细设计 说明书源程序 代码确认测试集成测试单元测试系统测试图图6-3 6-3 软件测试与开发文档之间的关系软件测试与开发文档之间的关系31316.1.5 6.1.5 软件测试原则软件测试原则(1 1)将将软软件件测测试试贯贯穿穿于于软软件件开开发发的的各各个个阶阶段段中中,在在开开发发过过程程中中尽尽早早地地发发觉觉和和预预防防错错误误,杜杜绝绝隐隐患患,提高软件质量;提高软件质量;(2 2)测测试试用用例例必必需需包包含含输输入入数数据据和和与与之之对对应应
23、的的预预期输出结果,细心设计测试用例;期输出结果,细心设计测试用例;(3 3)测试时应避开设计者检查自己设计的程序;)测试时应避开设计者检查自己设计的程序;(4 4)设设计计测测试试用用例例时时,应应包包括括合合理理的的与与不不合合理理的的输入条件;输入条件;32326.1.5 6.1.5 软件测试原则软件测试原则(5 5)充充分分留留意意测测试试中中出出现现的的错错误误群群集集现现象象,若若发发觉觉错错误误数数目目较较多多,则则可可能能残残存存的的错错误误数数目目也也较较多多,这这种种错错误误出出现现的的群群集集现现象象,已已为为很很多多程程序序测测试试实实践所证明;践所证明;(6 6)严严
24、格格执执行行测测试试支支配配,以以软软件件需需求求说说明明书书为为基基准设计测试用例,解除测试的随意性;准设计测试用例,解除测试的随意性;33336.1.5 6.1.5 软件测试原则软件测试原则(7 7)对对每每一一个个测测试试结结果果做做全全面面检检查查,不不能能遗遗漏漏错错误误出出现现的的征征兆兆,软软件件修修改改后后要要进进行行回回来来测测试试,即即用用修修改改前前测测试试过过的的测测试试用用例例进进行行测测试试,再再用用新新的的测试用例测试;测试用例测试;(8 8)妥妥当当保保存存测测试试支支配配、测测试试用用例例、出出错错统统计计数数据和最终分析报告,为维护供应便利。据和最终分析报告
25、,为维护供应便利。在在一一个个程程序序段段中中,还还存存在在着着尚尚未未发发觉觉的的错错误概率与已发觉的错误数正相关。误概率与已发觉的错误数正相关。34346.1.5 6.1.5 软件测试原则软件测试原则残存错误的可能性已发现的错误数图6-4 软件错误的群集现象示意图35356.2 6.2 软件测试的方法软件测试的方法 软软件件的的测测试试方方法法很很多多,不不同同的的动动身身点点得得到到不不同同的测试方法。有:的测试方法。有:从测试过程来分:静态分析法、动态测试法;从测试过程来分:静态分析法、动态测试法;从从视视察察结结构构的的透透亮亮性性方方式式来来分分:白白盒盒法法、黑黑盒盒法法、灰灰盒
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 质量 控制 优秀 PPT
限制150内