软件工程系统测试.ppt
《软件工程系统测试.ppt》由会员分享,可在线阅读,更多相关《软件工程系统测试.ppt(85页珍藏版)》请在课桌文档上搜索。
1、软件实现,2,软件测试,软件测试基本概念软件测试技术实例,3,软件测试基本概念,什么是软件测试?目标是什么?测试步骤测试阶段信息流,4,软件测试的概念,4.软件测试的工作量一般占软件开发总工作量的40%以上,有的测试成本占到其它步骤总成本的35倍。,1.软件测试是按照特定的规则,发现软件错误的过程;,2.软件测试是对软件规格说明、设计和编码的最后复审;,3.软件测试在软件生存周期中横跨两个阶段:模块和单元测试在编码阶段,综合测试在独立的测试阶段;,5,软件测试的目标,软件测试是为了发现错误而执行程序的过程;测试是程序的执行过程,目的在于发现错误;软件测试中需要数据,即为测试而精心设计的测试用例
2、,利用测试用例去运行程序,帮助发现程序错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。软件测试绝对不是要证明程序的正确性,也证明不了程序的正确性.,6,软件测试与软件调试的区别,7,软件测试的原则(1),3.进行回归测试,对程序的任何修改,使用以前测试用例,重新进行测试,有助于发现修改程序引起的新错误。,1.设计测试用例,要给出测试的预期结果。一个测试用例,必须由两部分组成:对输入数据的描述及其这些输入数据所产生的程序预期结果的精确描述。,2.设计非法输入用例。当有非法输入时,测试程序是否能够拒绝接受那些非法输入并给出提示信息。,8,软件测试的原
3、则(2),4.集中测试容易出错的程序段。测试统计结果表明:一段程序中发现的错误越多,则其中存在错误的概率也就越大。为了提高测试效率,在深入测试时,要集中测试那些容易出错的程序段。5.开发小组与测试小组应分离,二者在思想上、方法上是不一样的,前者是建设性的,后者是“破坏性”的。因此二者分离是成立测试小组的基本要求。,9,软件测试方法和技术,10,软件测试方法和技术,1.人工测试 代码复审采用人工方式进行,目的在于检查程序的静态错误。2.机器测试(1)在设定的测试数据上执行被测程序的过程,也称为动态测试;(2)动态测试包括:测试用例、执行被测程序和分析执行结果并发现错误的过程。,11,软件测试步骤
4、,12,单元测试,在单元测试期间着重从下述5个方面对模块进行测试。,1.模块接口 主要检查下述几个方面:参数的数目、次序、属性或单位系统与变元是否一致;是否修改了只作输入用的变元;全局变量的定义和用法在各个模块中是否一致。,2.局部数据结构,3.重要的执行通路,13,4.出错处理通路 当评价出错处理通路时,应该着重测试下述一些可能发生的错误:(1)对错误的描述是难以理解的;(2)记下的错误与实际遇到的错误不同;(3)在对错误进行处理之前,错误条件已经引起系统干预;(4)对错误的处理不正确;(5)描述错误的信息不足以帮助确定造成错误的位置。,5.边界条件,14,集成测试,不论是子系统测试还是系统
5、测试,都兼有检测和组装两重含义,通常称为集成测试。由模块组装成程序时有两种方法:1、非渐增式测试方法 2、渐增式测试方法:a.自顶向下 b.自底向上。,15,自顶向下集成,方法:从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。在把附属于(及最终附属于)主控制模块的那些模块组装到程序结构中去时,或者使用深度优先的策略,或者使用宽度优先的策略。,16,自顶向下集成,把模块结合进软件结构的具体过程由下述4个步骤完成:,第一步,对主控制模块进行测试,测试时用存根程序代替所有直接附属于主控制模块的模块;,第二步,根据选定的结合策略(深度优先或宽度优先),每次用一个实际模块代换一个存
6、根程序(新结合进来的模块往往又需要新的存根程序);,第三步,在结合进一个模块的同时进行测试;,第四步,为了保证加入模块没有引进新的错误,可能需要进行回归测试(即,全部或部分地重复以前做过的测试)。,17,自顶向下结合,18,自底向上集成,实现自底向上结合策略的步骤:,第二步,写一个驱动程序(用于测试的控制程序),协调测试数据的输入和输出;,第三步,对由模块组成的子功能族进行测试;,第一步,把低层模块组合成实现某个特定的软件子功能的族;,19,第四步,去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来形成更大的子功能族。上述第二步到第四步实质上构成了一个循环。,自底向上集成,20,自底向上
7、结合,21,不同集成测试策略的比较,一般说来,一种方法的优点正好对应于另一种方法的缺点。自顶向下测试方法的主要优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。自顶向下测试方法的主要缺点:需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。可以看出,自底向上测试方法的优缺点与上述自顶向下测试方法的优缺点刚好相反。,22,不同集成测试策略的比较,混合策略:(1)改进的自顶向下测试方法。基本上使用自顶向下的测试方法,但是在早期使用自底向上的方法测试软件中的少数关键模块。一般的自顶向
8、下方法所具有的优点在这种方法中也都有,而且能在测试的早期发现关键模块中的错误;但是,它的缺点也比自顶向下方法多一条,即测试关键模块时需要驱动程序。(2)混合法。对软件结构中较上层使用的自顶向下方法与对软件结构中较下层使用的自底向上方法相结合。这种方法兼有两种方法的优点和缺点,当被测试的软件中关键模块比较多时,这种混合法可能是最好的折衷方法。,23,回归测试是指重新执行已经做过的测试的某个子集,以保证软件发生变化时没有带来非预期的副作用。,回归测试,24,任何成功的测试都会发现错误,而且错误必须被改正。每当改正软件错误的时候,软件配置的某些成分(程序、文档或数据)也被修改了。回归测试就是用于保证
9、由于调试或其他原因引起的变化,不会导致非预期的软件行为或额外错误的测试活动。,回归测试,25,回归测试可以通过重新执行全部测试用例的一个子集人工地进行,也可以使用自动化的捕获回放工具自动进行。利用捕获回放工具,软件工程师能够捕获测试用例和实际运行结果,然后可以回放(即重新执行测试用例),并且比较软件变化前后所得到的运行结果。,回归测试,26,回归测试集是指已执行过的测试用例的子集。回归测试集包括3类不同的测试用例:(1)检测软件全部功能的代表性测试用例;(2)专门针对可能受修改影响的软件功能的附加测试;(3)针对被修改过的软件成分的测试。,27,确认测试,需求分析阶段产生的软件需求规格说明书,
10、准确地描述了用户对软件的合理期望,因此是软件有效性的标准,也是进行确认测试的基础。,确认测试也称为验收测试,它的目标是验证软件的有效性。,验证指的是保证软件正确地实现了某个特定要求的一系列活动。,确认指的是为了保证软件确实满足了用户需求而进行的一系列活动。,软件有效性的一个简单定义是:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的。,28,确认测试(Alpha测试与Beta测试),Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。Alpha测试是在受控的环境中进行的。,Beta测试由软件的最终用户们在一个或多个客户场所进行。Beta测试是软件在开发者
11、不能控制的环境中的“真实”应用。,29,软件测试与开发各阶段关系,30,测试阶段信息流,31,软件测试技术,其中最困难的问题是设计测试用的输入数据。,设计测试方案是测试阶段的关键技术问题。,测试方案包括具体的测试目的(例如,预定要测试的具体功能),应该输入的测试数据和预期的结果。,把测试数据和预期的输出结果称为测试用例。,32,软件测试技术,两种常用的测试方法白盒测试:结构测试黑盒测试:功能测试,33,软件测试技术,白盒测试把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否
12、与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。,34,软件测试技术,黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。,35,软件测试技术,白盒测试对程序模块的所有的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。,36,软件测试技术,白盒方法穷尽测试实例:,37,包含的不同执行路径数达520条,对每一
13、条路径进行测试需要1毫秒,假定一年工作365 24小时,要想把所有路径测试完,需3170年。,软件测试技术,38,软件测试技术,黑盒方法穷尽测试实例:,39,在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试,可能采用的测试数据组:232232264 如果测试一 组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。,软件测试技术,40,软件测试技术,软件的穷尽测试是不现实的,因此测试无法证明正确性。如何花最少的费用,得到最好的测试效果?-测试用例的设计。,41,软件测试技术,一、白盒测试称为结构测试,测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 系统 测试
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-235740.html