自顶向下集成课件

上传人:F****n 文档编号:88125006 上传时间:2019-04-19 格式:PPT 页数:39 大小:173KB
返回 下载 相关 举报
自顶向下集成课件_第1页
第1页 / 共39页
自顶向下集成课件_第2页
第2页 / 共39页
自顶向下集成课件_第3页
第3页 / 共39页
自顶向下集成课件_第4页
第4页 / 共39页
自顶向下集成课件_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《自顶向下集成课件》由会员分享,可在线阅读,更多相关《自顶向下集成课件(39页珍藏版)》请在金锄头文库上搜索。

1、内容提要,1.集成测试的目的 2.集成测试的方法 3.实例讲解,内容提要, 1.集成测试的目的 2.集成测试的方法 3.实例讲解,1.集成测试的目的,在我看来,目的就是保证每一功能模块的功能正确和性能良好,以至于这些模块组装在一起时他们可以很好地协调工作,保证整个系统功能和性能的良好。,内容提要,1.集成测试的目的 2.集成测试的方法 3.实例讲解,2.集成测试的方法,2.1 分析、准备工作 2.2 制定集成策略 2.3 具体实施 2.4 需要注意的问题,2.1 分析、准备工作,a. 阅读相关文档,主要是概要设计说明书,了解整个系统的组织结构以及开发人员制定的开发顺序等内容,先从整体上把握这个

2、系统,以便制定合适的集成策略。,b. 了解系统的开发环境,使用的语言、开发工具,以便提出必要的资源需求。,2.1 分析、准备工作,2.2 制定集成策略,常用的增量 (Incremental)型集成方式: 自顶向下集成(Top-Down) 自底向上集成(Bottom-Up),自顶向下集成,从最具控制力的模块开始,按控制层次减弱的顺序向系统中增加模块,直至实现整个系统。,待测系统,自顶向下集成,先为最顶层的模块制造桩模块,组成一个测试系统,对它进行测试来发现待测模块存在的问题。,待测系统,桩模块,自顶向下集成,这个测试系统的测试通过后,用实际模块替换掉先前制造的桩模块,进而又形成了新的待测系统。,

3、待测系统,自顶向下集成,为新的待测系统制造新的桩模块,形成又一个测试系统,同样对它进行测试来发现待测系统的问题。,待测系统,桩模块,自顶向下集成,当所有实际的模块都被使用进来的时候,目前的待测系统其实就是项目所要开发的系统,此时的集成测试就自然的过渡到了确认测试。,待测系统,自底向上集成,从控制力最弱的模块开始,按控制层次增强的顺序向系统中增加模块,直至实现整个系统。,待测系统,自底向上集成,先为最底层的模块制造驱动模块,组成一个测试系统,对它进行测试来发现待测模块存在的问题。,待测系统,驱动模块,自底向上集成,这个测试系统的测试通过后,用实际模块替换掉先前制造的驱动模块,进而又形成了新的待测

4、系统。,待测系统,为新的待测系统制造新的驱动模块,形成又一个测试系统,同样对它进行测试来发现待测系统的问题。,待测系统,自底向上集成,驱动模块,当所有实际的模块都被使用进来的时候,就也形成了项目所要开发的系统,此时的集成测试也过渡到了确认测试。,待测系统,自底向上集成,两种方式的总结,自底向上集成对小型到中型系统比 较有效。 自顶向下集成适用于几乎所有范围或体系结构。 在实际工作中可以灵活的混合使用。,2.3 具体实施,2.3.1 制造桩 2.3.2 制造驱动,2.3.1制造桩,目的是模拟待测系统运行的实际环境,为其提供可用来调用的模块。桩和待测系统的关系是待测系统调用桩,桩是用来满足待测系统

5、调用其他功能模块的需要的。 比如我们要测试一只笔能否写字,就要拿来一张纸,这张纸就是测试笔时所使用的桩。,如果为一个类制造桩,所要关心的是该类中定义使用的其他类的实例(对象)。即要搞清该类都使用了哪些外部的资源。然后我们以最简单的方式来提供这些资源。,制造桩的问题,一般都会归结到编写函数上,即便这个桩是一个类。通常的C+函数有返回值和不返回值两种情况,当待测模块调用一个有返回值的函数时,我们就可以编写一个简单返回数值的函数供其调用;当待测模块调用无返回值的函数,我们就编写一个打印简单提示信息的函数供其调用,仅仅用来当函数得到调用时提示一下。,2.3.2制造驱动,目的是模拟待测系统运行的实际环境

6、,提供调用待测系统的模块。驱动和待测系统的关系是驱动调用待测系统,驱动是用来满足待测系统被其他模块调用的需要的。 还是用测试笔写字的例子,只有笔(待测系统)和纸(桩)还不能实现写字,还必须有一只手拿着笔才可以,这时的手即是驱动。,如果为一个类制造驱动,所要关心的是该类提供了哪些供调用的公有(public)函数,即要了解怎样才能使用这个类的功能。然后在驱动模块中对这些函数进行调用,观察这些函数的工作情况。这时就需要对函数的调用参数,调用方式等方面设计测试用例。,如右图,要对CDownload类进行驱动的话,就在程序的某处这样写: CDownload m_Download; m_Download.

7、Download( /*参数*/ ); m_Download.Stop( /*参数*/ ); ,2.4需要注意的问题,1.类内部使用全局变量。 2.类内部使用全局函数。 3.类内部使用库函数。 4.使用宏定义。 上述这些情况也是模块(类)与外界发生联系的方式,但这些情况往往在相关文档中描述较少,在程序中又很隐蔽,这就需要我们测试人员对源程序多做一些内部的观察,还要与开发人员多进行沟通。,内容提要,1.集成测试的目的 2.集成测试的方法 3.实例讲解,3.实例讲解,一个假想的学校人员管理系统,模块关系图,测试CSchoolManagerDlg,待测模块,测试系统,桩模块,建立一个新的CSchoo

8、l类来代替原来的CSchool类,但他要比原先的CSchool类简单。对于CSchoolManagerDlg类有用的只是CSchool类的公有函数,所以新建的桩模块不需要有原来CSchool类的属性,只保留所有的公有函数就可以了。并且这些函数只须在被调用时返回一个简单值或提示用户。,待测系统,测试系统,桩模块,继续,继续,系统中还有一些模块,如存储表,用来输入数据的对话框等,他们都是由CSchoolManagerDlg直接使用,而CSchool、CTeacher、CStudent类都不直接使用。,1.在MFC程序中,要测试对话框类,不仅要导入类的 文件,还要将对话框的模版导入进来。 2.在测某一模块时,一定要明确该模块的功能,不属于该模块的功能就不需要测。比如对于一个充当主界面的对话框,他的一个消息响应函数调用了另一个函数。我们测试这个功能时,只要消息响应函数正确的调用了相应函数,就算测试通过了,而不用关心被调用函数到底怎样了。,几点问题,3.在测某一模块时,千万不要为了整个测试系统能正确运行而去改变模块内部的东西,虽然这些对我们是可见的,我们要以只读的态度去看待这些源代码。,本次课内容回顾,?,参考资料,软件工程-实践者的研究方法(美 ROGER S PRESSMAN著) 面向对象系统的测试 集成测试指南,Everyone,Any Question ?,谢谢 大家,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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