文档详情

软件工程软件测试.ppt

发布:2025-01-23约8.06千字共50页下载文档
文本预览下载声明

网络图。把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种关系可选择高效的测试用例。4、因果图法因果图是一种形式化语言,是一种组合逻辑凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例。3、错误推测法5.3软件测试的步骤测试步骤及策略所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分4步进行:单元测试单元测试单元测试被测模块被测模块集成测试设计信息已测试的模块确认测试已集成的模块软件需求系统测试已确认的软件可交付的软件系统其他元素一、模块测试(ModuleTesting)1、测试内容模块模块接口测试局部数据结构测试重要路径测试错误处理测试边界条件测试I/O参数值的个数、类型、次序、格式是否正确,I/O文件属性、操作是否正确等。数据说明是否正确、一致,变量及其初值定义是否正确等。检查“错误处理程序”本身的错误。边界条件常包括循环边界,最大最小值、控制流中等于、大于、小于的比较值等。重要路径通常是指完成模块功能的主要路径,一般是控制结构。也称单元测试(unittesting)2、模块测试步骤 考虑到被测模块与其它模块的联系,因此测试时需要使用两类辅助模块来模拟其他模块。 驱动模块(driver)—模拟主程序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据。 桩模块(stub)—又称为假模块,用于模拟那些由被测模块所调用的下属模块功能。 一般,驱动模块比桩模块容易设计。但都是额外开销。测试方法以白盒法为主。被测模块驱动模块桩模块桩模块桩模块二、组装测试(IntegrationTesting)1、组装测试的任务①确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为渐增式及非渐增式。②测试方法以黑盒法为主,按照组装方案进行测试。也称为联合测试或集成测试,重点测试模块的接口部分,需设计测试过程使用的驱动模块或桩模块。问题:渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测试。两种方案:设计驱动模块或桩模块,对每一个新组装的子系统进行测试,对发现问题较多的子系统或模块应该用白盒法作回归测试。自底而上增值自顶而下增值2、渐增式组装测试自顶而下增值M1M4M3M2M6M5程序模块示意图S5M1S1S1S1S2S2S2S3S3S3第一步,测试主控模块M1设计桩模块S1、S2、S3,模拟被M1调用的M2、M3、M4。M2M3M4第二步,依次用M2、M3、M4替代桩模块S1、S2、S3,每替代一次进行一次测试。S4S4S4S5S5第三步,对由主控模块M1和模块M2、M3、M4构成的子系统进行测试,设计桩模块S4、S5。M5M6第四步,依次用模块M5和M6替代桩模块S4、S5,并同时进行新的测试。组装测试完毕。自底而上增值M3M6M5D1D2D3D1D1D2D2D3D3M2M4M1第四步,把已测试的子系统按程序结构连接起来完成程序整体的组装测试。D4D4D4D5D5D5M1M4M3M2M6M5程序模块示意图第一步,对最底层的模块M3、M5、M6进行测试,设计驱动模块D1、D2、D3来模拟调用。第三步,设计驱动模块D4、D5和D6模拟调用,分别对新子系统进行测试。第二步,用实际模块M2、M1和M4替换驱动模块D1、D2、D3。D6深度优先与宽度优先 无论是自顶而下增值还是自底而上增值,还可选择深度优先或者宽度优先增值。举例:按自顶而下增值法,写出下图中分别按照深度优先或者宽度优先增值的模块组装次序。ABCDHGJEFIKLMN问题自顶而下增值与自底而上增值各有何优、缺点?为什么在实际的组装测试中,都应该采用混合增值的方法?请自己设计2-3个混合增值的测试方法。确定集成过程的原则自顶而下增值优点:能够尽早发现系统主控方面的问题。缺点:无法验证桩模块是否完全模拟了下属模块的功能。自底而上增值优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。缺点:最后才能发现系统主控方面的问题。集成过程的原则①尽早测试关键模块。②尽早测试包含I

显示全部
相似文档