软件测试模块单元测试省公开课一等奖全国示范课微课金奖课件_第1页
软件测试模块单元测试省公开课一等奖全国示范课微课金奖课件_第2页
软件测试模块单元测试省公开课一等奖全国示范课微课金奖课件_第3页
软件测试模块单元测试省公开课一等奖全国示范课微课金奖课件_第4页
软件测试模块单元测试省公开课一等奖全国示范课微课金奖课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块(单元)测试测试单个子程序或过程1/18单元测试单元测试(模块测试)元素对程序中较小组成元素——单个子程序或过程进行测试动机单元测试减轻了调试难度,因为错误一旦发觉,就知道它在哪个详细模块中单元测试提供了同时测试多个模块可能,将并行工程引入了软件测试。目标将模块功效与定义模块功效规格说明或接口规格说明进行比较,揭示出模块与其规格说明之间存在矛盾。2/18单元测试针正确问题模块接口:检验进出单元数据流是否正确局部数据结构:测试内部数据是否完整?比如:不正确类型说明,错误初始化等。路径测试:发觉因为不正确判定或不正常控制流而产生错误,比如:不正确逻辑操作或优先级,不适当地修改循环变量。边界条件:测试边界处程序是否正确工作?犯错处理:测试犯错处理办法是否有效?比如:提供错误信息不足,难以找到错误原因等。3/185.1测试用例设计需要信息模块规格说明:模块输入和输出以及模块功效模块源代码测试用例设计方法单元测试总体上是面向白盒测试(静态、动态)后续测试针对较大元素不易进行白盒测试后续测试着眼于发觉其它类型错误,不一定与程序逻辑结构相关使用一个或各种白盒测试方法分析模块逻辑结构,然后使用黑盒测试方法对照模块规格说明补充测试用例4/185.2增量测试测试单独模块可能需要一个特殊驱动模块和一个或多个桩模块驱动模块是为测试编写一个小模块,用来将测试用例驱动或传输数据到被测模块。驱动模块还需要向测试人员显示被测模块结果。桩模块充当被测模块调用模块,模拟该模块功效,接收被测模块调用指令。比如测试模块B时需要一个驱动模块,和一个模拟模块E桩模块ABDCFE5/185.2增量测试单元测试除了要考虑怎样设计一个有效测试用例集之外,还有一个主要问题,就是模块组装方式两类测试方法非增量测试:先独立地测试每个模块,然后再将全部这些模块组装成完整程序测试,又称为瓦解(big-bang)测试。增量测试:将被测模块组装到测试完成模块集合中,然后再进行测试。注:在进行增量模块测试时,单元测试和集成是同步进行,集成测试就是模块测试隐含部分,往往并不作为一个独立测试步骤。6/18非增量测试和增量测试增量测试非增量测试工作量小:使用前面测试过模块来取代非增量测试中所需要驱动模块或桩模块。工作量较大:要设计驱动模块和桩模块能够较早发觉模块中与不匹配接口、不正确假设等编程错误。到了测试过程最终阶段,模块之间才能“相互看到”轻易进行调试,新出现错误往往与最近添加模块相关直到整个程序组装之后,模块之间接口相关错误才会出现,难以定位测试能够进行地更彻底,每个模块经受了更多检验使用驱动模块和桩模块而非实际模块,对被测试模块测试只影响本身在测试上花费时间多,设计驱动模块和桩模块所用时间少测试时间少,但设计驱动模块和桩模块需要大量时间并行性差能够同时并行测试很多模块7/185.3自顶向下测试与自底向上测试自顶向下测试从程序顶部或初始模块开始测试。选择后续模块进行增量测试标准是:最少一个调用该模块模块事先经过了测试。有各种可能测试序列时,应该考虑先测试关键模块和I/O模块为了测试上层模块,需要设计桩模块,桩模块通常要向被测模块提供测试数据,如读取外部数据文件自底向上测试从不调用其它模块终端模块开始测试,选择下一个模块进行增量测试标准是:该模块调用全部模块都已经事先经过了测试。为了测试低层模块,需要为它们设计驱动模块:即包含着有效测试输入、调用被测模块且显示输出模块。8/18例子图中共有12个模块A到L模块I包含IO写操作模块J包含IO读操作ACDBJIHGFLKE9/18自顶向下增量测试首先测试模块A,需要设计代表模块B,C,D桩模块;如图接着用实际模块代替桩模块,如B,并添加B桩模块;如图增量序列有各种可能,比如:ABFJDICGEKHL,加入I后如图AstubCstubDstubBstubFstubEBJFDstubHI10/18自顶向下增量测试中桩模块显示跟踪信息显示传递信息返回一个值依据输入返回一个值ABCD11/18自底向上增量测试第一步是测试E,J,G,K,L和I中部分或全部模块,既能够串行也能够并行进行;需要设计驱动模块,有驱动模块能够供几个测试模块使用接着测试模块序列有各种可能,假如接下来是测试较关键模块F,H,则用它们代替对应驱动模块,并加入它们驱动模块,如图JDriverDriverLKIDriverFDriverDDriverH12/18自底向上增量测试中驱动模块调用隶属模块调用隶属模块,并传递参数调用隶属模块,并要求得到参数兼有B,C功效ABCD13/18自顶向下测试和自底向上测试比较自顶向下优点假如主要缺点发生在程序顶层将非常有利早期程序框架能够进行演示,即提早发觉主要控制问题缺点必须开发桩模块桩模块可能要比最初表现更复杂创建测试环境可能极难,甚至无法实现观察测试输出比较困难自底向上优点假如主要缺点发生在程序底层将非常有利提早发觉程序当中主要算法问题测试环境比较轻易建立观察测试输出比较轻易缺点必须开发驱动模块直到最终一个模块添加进去,程序才形成一个整体14/185.4执行测试审核测试用例当测试用例造成模块输出实际结果与预期结果不匹配情况时,存在两种可能:该模块存在错误,或者测试用例不正确。所以,执行测试前应审核测试用例集。使用自动化测试工具能够降低测试过程中劳动,如流程分析工具等。执行测试时,应该查找程序副作用,即模块是否执行了不该执行操作。程序员不应测试自己编写模块,最好交换测试;编写调用模块程序员是测试被调模块最正确人选。模块测试目标不是证实模块能够正确地运行,而是证实模块中存在着错误。15/18单元测试经过准则命名符合规则控制流程正确;变量存取无误差;全部软件单元到达质量度量指标;功效与设计说明一致;性能到达软件设计指标;覆盖测试到达要求覆盖率;对发觉问题已进行修改并经过回归测试。16/18单元测试与集成测试每个模块完成单元测试后,需要按照结构图把它们连接起来,进行集成测试。集成测试往往不作为一个独立测试步骤,尤其对增量式模块测试而言,它是其中隐含部分。集成测试人员应包含含有两种背景人员:熟知模块内部细节,并能从足够高层次上观察整个系统集成测试内容单元间接口测试全局数据结构测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论