【2017年整理】浅谈单元测试方法和步骤.docxVIP

【2017年整理】浅谈单元测试方法和步骤.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【2017年整理】浅谈单元测试方法和步骤

关于单元测试,本站曾经介绍过很多相关的文章。比如: HYPERLINK /art/201106/268749.htm \t _blank 详细讲解单元测试的内容 HYPERLINK /art/201106/268752.htm \t _blank 浅谈单元测试的意义 在软件开发过程中,单元测试和编码共属实现阶段,编码完成并编译通过后才开始进行单元测试。进行动态的单元测试前要先对程序进行静态分析和代码审查。 这是因为: 第一,使用动态测试技术要准备测试用例,进行结果记录和分析,工作量大,发现错误太多会降低动态测试效率; 第二,目前的动态测试技术局限性比较大,有相当类型的错误靠动态测试是难以发现的。 因此,先使用静态分析和代码审查技术,能充分地发挥人的判断和思维优势,检查出对机器而言很难发现的错误。典型的包括代码和设计规格的一致性,代码逻辑表达式的正确性。这些检查在动态测试阶段将会是非常繁琐而又非常困难的; 第三,有些错误在动态测试时是无法检查的; 第四,使用代码审查技术,一旦发现错误,就知道错误的性质和位置,调试代价较低; 第五,使用静态分析方法一次就能揭示一批错误,并且随后就可以立即纠正错误。 由于单元测试针对程序单元,而程序单元并不是一个独立可运行的程序,因此,在考虑测试模块时,同时要考虑到它和外界其他模块的联系,用一些辅助模块去模拟与被测模块关联的其他模块。这些模块分为两种: 1、驱动模块。 相当于所测模块的主程序。它接收测试数据,把这些测试数据传送给被测模块,最后再输出实测结果。 2、桩模块。 由被测模块调用,用以代替由被测单元所调用的模块的功能,返回适当的数据或进行适当的操作使被测单元能继续运行下去,同时还要进行一定的数据处理,如打印入口和返回等,以便检验被测模块与其下级模块的接口。 驱动模块和桩模块为程序单元的执行构成了一个完整的环境。如图下所示。驱动模块用以模拟被测单元的上层模块,测试执行时由驱动模块调用被测单元使其运行,桩模块模拟被测单元执行过程中所调用的模块,测试执行时桩模块使被测单元能完整闭合地运行。 单元测试的测试环境 驱动模块和桩模块在软件开发结束后就不使用了,但是为了单元测试,两者都要进行开发,但是不需要与最终产品以其交付用户。因此驱动模块和桩模块的设计要尽量简单,避免因其错误而干扰被测单元的运行及测试结果判断。实际上许多程序单元不能用简单的驱动模块和桩模块进行充分的单元测试,完全的测试可以放到组装测试时再进行。 如果一个模块要完成多种功能,可以将这个模块看成由几个小程序组成,必须对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。 在单元测试中,测试用例的设计与测试集合的准备是至关重要的。首先要构造测试用例的运行环境,即确定用例运行的前提条件,明确被测模块/单元所需的程序环境(全局变量赋值或初始化实体),启动测试驱动,设置桩,调用被测模块,设置预期输出条件判断,最后恢复环境 (包括清除桩)。 然后,设计黑盒测试用例,即接口测试用例。 第一步设计基本功能测试用例,证明被测单元至少在某种正常情况下能够运行了; 第二步设计功能正面测试用例,找出被测单元对于设计要求的正确输入可能做出的不正确处理; 第三步设计功能反面测试用例,找出被测单元对于设计要求的错误输入可能做出的不正确处理; 最后一步设计性能测试用例,找出单元对于设计要求的性能可能做不到的错误。 最后,设计白盒测试用例,即覆盖测试用例,找出单元内部控制结构和数据使用可能存在的问题。 注意,在进行白盒测试期间,不要匆忙地删除所发现的死代码或者冗余代码,因为这很可能导致错误的产生。因为在测试别人代码的时候,很可能由于测试用例不够,或者没有对被测程序整体结构的把握,而出现错误理解。 [基础训练] 1.下列有关金属元素的特征叙述正确的是( ) A.金属元素的原子具有还原性,离子只有氧化性 D.金属元素的化合价一定显正价 C.金属元素在不同化合物中的化合价均不相同 D.金属元素的单质在常温下均为金属晶体 2.下列有关金属元素特征的叙述中正确的是 ( ) A.金属元素的原子只有还原性,离子只有氧化性 B.金属元素在化合物中一定显正价 C.金属元素在不同化合物中的化合价均不同 D.金属单质在常温下都是金属晶体 3.金属的下列性质中,不能用金属的电子气理论加以解释的是 ( ) A.易导电 B.易导热C.有延展性 D.易锈蚀 4.下列晶体中由原子直接构成的单质有 ( ) A.白磷 B.氦C.金刚石 D.金属镁 5.金属具有延展性的原因是( ) A.金属原子半径都较大,价电子较少 B.金属受外力作用变形时,金属阳离子与自由电子间仍保持较强烈作用 C.金属中大量自由电子受外力作用时,运动速度加快 D.自由电子受外力作用时能迅

文档评论(0)

love1987421 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档