单元九:整合软件测试 报告人:谢兆贤 2015/9/X
纲要 整合测试介绍 整合测试事前准备工作 整合模块界定 整合模块步骤与方法 整合测试的过程 整合测试结论 整合测试范例 课后练习
再单元测试之后,按照模块的功能、性能及模块与模块之间接口的测试。 测试各程序代码单元间能否相互合作完成某种功能。 整合测试介绍 再单元测试之后,按照模块的功能、性能及模块与模块之间接口的测试。 测试各程序代码单元间能否相互合作完成某种功能。 整合测试可以由程序设计师或软件品保工程师进行。 整合测试最终目是要检验软件结构中各模块的的每个功能与性能接口功能是否正常。 整合测试包括由一个模块启用另一个相连的模,检验模块间的数据传输正确性。
整合测试介绍 整合测试的表示图
收集并阅读系统设计书与模块设计书中的相关模块接口的描述。 找出模块间的互动、关联和数据流通状况。 整合测试事前准备工作 收集并阅读系统设计书与模块设计书中的相关模块接口的描述。 找出模块间的互动、关联和数据流通状况。 不管测试是否测试档是否有对整合测试有规定,都要使用原本或是加上规定来做。 如果要编写整合实例,就要按照设计文件去编写。
模块的界定,会因为具体的软件结构不同而有不同的界定。 整合模块界定 模块的界定,会因为具体的软件结构不同而有不同的界定。 对于使用流程语言软件的模块,模块可以是一组函数或过程,此函数拥有独立功能和完整接口,可以去跟其他模块连接、相互作用。 对于使用面向对象语言软件的模块,可以是一组对象,此对象拥有某一功能和完整接口,可以去跟其他模块连接、相互作用。 对于使用网页跟用户窗口接口,模块就是一个网页和子网页,或一个窗口和子窗口。
但是选择不同种类整合方法,会影响模块测试的形式,还有测试工具的类别型、模块编号的次号和顺序。 整合模块步骤与方法 一般步骤 确定子系统有哪些模块,并且都通过单元测试步骤。 有开发人员组装这些模块,生出一个子系统,使各个模块功能可以发挥出来。 设计测试用例,并且搭建所需要的测试环境。 纪录测试结果,总结测试问题。 但是选择不同种类整合方法,会影响模块测试的形式,还有测试工具的类别型、模块编号的次号和顺序。
整合模块步骤与方法 常用的整合方式有 由上而下的增值方式 由下而上的增值方式 混合增值方式(三明治法)
由上而下的增值方式 整合模块步骤与方法 将模块依据系统的程序结构,沿控制层次由上而下进行整合。 会提早验证主要的控制和判断点,如果知道主要控制有问题,可以尽早发现它能够减少以后的返工。
优点 整合模块步骤与方法 系统的整合测试可以减至最少。 最高阶层的接口最先被测试,且被测试的机会最多。 高阶层的模块是低阶层模块最佳的测试启动(Driver)模块。 系统的错误若在上阶层,则可及早发现。
缺点 整合模块步骤与方法 需要制造残根或虚拟模块。 残根或虚拟模块的设计通常比较复杂。 以残根或虚拟模块执行输入、输出功能较困难。 测试个案的产生可能会很困难。 测试结果较难观察。 低阶层次模块,若想做平行测试,将会受制 于其上阶层模块是否已完成。
整合模块步骤与方法 由上到下增值方式
由下而上的增值方式 整合模块步骤与方法 从程序结构的最底层模块开始组装和测试。 因为模块是由下而上进行组装,对于一个给定层次的模块,它的子模块已经组装并测试完成,所以不需要残根模块。 模块的测试过程需要从子模块得到的信息可以直接执行子模块得到。
优点 缺点 整合模块步骤与方法 测试个案较容易设计。 测试结果较易观察。 系统错误如果在下方,则可及早发现。 最低阶的测试较彻底。 必须制造启动模块。 整体的系统要等到最后一模块(通常是最顶端模块)加上之后才能见到全貌。
整合模块步骤与方法 由下到上增值方式
整合模块步骤与方法 混合增值方式 因为由上而下增值方式和由下而上增值方式各有优缺点,而混合增值方式(三明治法)就是把由上而下和由下而上这两种增值方式结合起来进行整合和测试。 使用两个方式的优点,但是屏除其缺点。
整合测试的目的是确保每个单元在组合后,还能以原定意图协作执行,并且保证增量行为正确 整合测试的过程 整合测试的目的是确保每个单元在组合后,还能以原定意图协作执行,并且保证增量行为正确 整合测试的过程包括:制定整合测试计划、设计整合测试、实作整合测试、执行整合测试、评估整合测试等过程
制定整合测试计划 设计整合测试 实作整合测试 执行整合测试 评估整合测试 整合测试的过程 制定一份设计模型和整合建构计划。 设计一份整合测试用例的测试过程。 实作整合测试 实施整合测试用例的测试过程。 执行整合测试 执行出来后的测试结果 评估整合测试 把测试结果评估
整合测试的过程 整合测试过程 制定集成测试计划 设计整合测试 实作整合测试 执行整合测试 评估整合测试
回归测试 整合测试的过程 每当增加一个新的单元或是功能去集成测试,有可能会使软件产生变化,这些变化可能会导致原本功能会有问题。 回归测试是重新执行一些子集的测试,以确保不会产生变化跟意想不到的副作用。
整合测试中程序设计部门负责的是整合之后,软件模块间的互相呼叫测试、模块性能测试及模块接口的测试。 整合测试结论 整合测试中程序设计部门负责的是整合之后,软件模块间的互相呼叫测试、模块性能测试及模块接口的测试。 整合测试可以当作黑箱测试,不必直接对源代码进行测试,反而只是测试含有单元的模块,这是跟单元测试最大的差异。
整合测试范例 「整合测试案例-范本-测试报告」 报表格式说明 操作范例说明
整合模块的方法有几种?说明其差异为何? 問題 课后练习 今天領導要我們找一款新的剪輯軟件來使用,但不知道其軟件的狀況,所以要求程序員小斌做一份「整合测试」的報告 提示 安裝Avidemux軟件(http://rj.baidu.com/soft/detail/16298.html?ald) 下載或自製一段影片 設計並且執行整合測試 評分 整合測試報告(電子文檔) 課堂上台報告(影片、設計概念、和心得)