西安工业大学《软件工程》第七章测试ppt课件.ppt
《西安工业大学《软件工程》第七章测试ppt课件.ppt》由会员分享,可在线阅读,更多相关《西安工业大学《软件工程》第七章测试ppt课件.ppt(27页珍藏版)》请在三一办公上搜索。
1、第七章 测 试,无论采用何种开发模型开发出来的大型软件系统,由于客观系统的复杂性,人的主观认识的狭隘性,不可能对要开发的系统具有完美的认识。虽然在软件开发的每一阶段都进行了技术审查和管理复审,也不可能把设计中所有潜在的错误检查出来并进行纠正,而且在编码阶段也会引入新的错误,软件设计环节的错误,如果不进行纠正,在使用阶段可能造成的损失会很大。所以软件在交付使用之前必须进行严格的测试,通过测试找出软件在需求分析、设计和编码阶段隐藏的错误,并加以改正。,计算机科学与工程学院,软件工程(Software Engineer),7.1测试的基本概念和原则,1 测试的必要性 在测试理论形成的早期,一些软件开
2、发公司由于忽视软件的测试,造成了巨大的经济损失。所以测试对提高软件的质量具有很大的重要性。虽然在软件生命周期的各个阶段都有严格的技术审查和管理复审,但是经验表明,审查不能发现所有的差错;在编码过程中,程序员的编程水平对软件的影响很大,但是不管经验多丰富的程序员在编程中都会引入一些错误。如果这些错误在软件交付前没有被测试出来,投入使用后往往带来严重后果。,计算机科学与工程学院,软件工程(Software Engineer),2 测试的概念 1) 软件测试 软件测试是对软件计划、软件设计和软件编码进行查错和纠错的活动,这个过程包括了代码执行活动和人工活动。2) 程序测试 程序测试是对编码阶段出现的
3、语法错、语义错、运行错进行查找的编码执行过程。3) 动态测试 动态测试包括白盒测试和黑盒测试。黑盒测试是根据软件的功能而设计测试用例而进行测试的过程,白盒测试是根据测试的内部结构而设计测试数据,发现程序的错误。4) 静态测试 静态测试包括代码审查和静态分析。,计算机科学与工程学院,软件工程(Software Engineer),3软件测试的目的 G.Myers关于软件测试目的的观点是:(1) 测试是为了发现程序中的错误而执行程序的过程;(2) 好的测试方案是极有可能发现迄今尚未发现的尽可能多的错误的测试;(3) 成功的测试是发现了迄今尚未发现的错误的测试。,计算机科学与工程学院,软件工程(So
4、ftware Engineer),测试复杂性 在理论上看,不论采用哪种测试,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序。我们称包含所有可能的测试称为穷尽测试。而在实际中,穷尽测试是不可能做到的。图8.1 黑盒测试复杂性例子 无论采用黑盒法还是白盒法,要做到穷尽测试,在时间上和代价上都不可能,只能选择部分测试用例尽可能多地行测试,找到尽可能多的错误,也即是进行有穷测试。,计算机科学与工程学院,软件工程(Software Engineer),5 测试的基本原则 (1) 测试前要认定被测试的软件有错,不要认为被测试的程序是正确的;(2) 要确定测试软件的预先测试结果;(3) 尽量避免
5、测试自己编写的程序;(4) 测试时要考虑合理的输入和不合理的输入数据;(5) 测试时应以软件需求规格说明书中的需求为标准;(6) 要确定找到的新错与已找到的旧错成正比;(7) 所使用的测试用例应该纪录下来,以后测试时再用,以供后来的测试和维护使用。,计算机科学与工程学院,软件工程(Software Engineer),7.2测试步骤,1测试过程,计算机科学与工程学院,软件工程(Software Engineer),2 测试的步骤 测试时,首先进行单元测试,再进行组装测试,最后进行确认测试。,计算机科学与工程学院,软件工程(Software Engineer),7.3设计测试方案,1白盒法测试的
6、基本技术 在工程实践中,白盒法的基本测试思想:分析被测试程序的逻辑结构,选择逻辑执行路径子集设计测试方案。用尽可能少的测试用例子集确定被测试程序的实际执行状态与预期的状态是否一致,期望发现尽可能多的错误。在工程实践中提出了以下几种选择逻辑路径子集的覆盖标准。,计算机科学与工程学院,软件工程(Software Engineer),语句覆盖:执行足够的测试用例,使得被测试程序中每个可执行语句至少被执行一次。判定覆盖:判定覆盖又称为分支覆盖,它的基本思想是:执行足够的测试用例,使得被测试程序中每个语句至少执行一次,并且每个判定分支也至少执行一次 .条件覆盖 :执行足够的测试用例,使判定条件中的每个条
7、件至少获得一次可能取值的机会。判定/条件覆盖:执行足够的测试用例,使得被测试程序中每个判定分支至少获得一次通过,同时各判定中每个条件至少获得一次可能取值的机会。条件组合覆盖:执行足够的测试用例,使得被测试程序中每个判定条件的各种组合至少获得一次为真和假的机会。点覆盖 边覆盖 路径覆盖:执行足够的测试用例,使得被测试程序中的每条可能路径至少执行一次,计算机科学与工程学院,软件工程(Software Engineer),2 黑盒法测试的基本技术 1) 等价分类法 将程序模块的所有可能输入数据(有效与无效的)划分为若干等价类,在指定等价类中任取一组数据作为一个测试用例,作为该等价类的代表,并且假定:
8、如果该组数据可以检查出程序的错误,则该等价类中其他组数据也可以产生同样的错误,相反,如果该组数据没有查出错误,则使用该等价类中其他数据组执行程序也是正确的。,计算机科学与工程学院,软件工程(Software Engineer),) 边界值分析:程序在处理边界情况时最容易发生错误,许多程序错误出现在下标、数据结构和循环等等的边界附近。3) 错误推测法 在很大程度上该方法靠直觉和经验进行。它的基本思想是:列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。,计算机科学与工程学院,软件工程(Software Engineer),7.4单元测试,1 单元测试的内容 1)模块接口
9、测试 通过测试模块接口的数据流是否可以通畅地流入出模块,如果数据不能正常地进出,则其他测试都不能进行。 2)局部数据结构 测试模块内部数据是否完整,内容、形式、相关关系是否正确。 3)逻辑覆盖(执行路径)问题 不可能对模块内部的所有逻辑执行路径进行测试,所以选择最有可能发现错误的执行路径进行测试是至关重要的。 4) 出错处理问题 一个好的模块应该能够分析出错的原因、报告出错和提供很好的处理错误,保证程序能正常的运行。因此应该详细测试错误处理的通路。,计算机科学与工程学院,软件工程(Software Engineer),2 单元测试步骤 单元测试按照如下的步骤进行:1)配置测试环境,设计所需要的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 西安 工业大学 第七 测试 ppt 课件
链接地址:https://www.31ppt.com/p-1431812.html