测试技术之单元测试的意义
白羽 2018-05-21 来源 :网络 阅读 2035 评论 0

摘要:最近一直在弄各种单元测试的事情,此前做单元测试过程中也踩过很多坑,比如开发代码结构不合适做单元测试,开发人员不愿意配合做,代码耦合性比较大等等诸多原因,导致曾一直认为单元测试其实就是虚张声势的纸老虎,至少在混沌初开的互联网是不可行的。本文带你了解测试技术之单元测试的意义,希望本文对大家学测试技术有所帮助。

  从单元测试角度思考待测试程序:


  作为软件系统的最小组成单位,单元测试具有以下属性:

  1 它是由一个程序员完成的。

  2 它有一个详细的设计说明,包括输入定义、输出定义和加工说明。

  3 它是一个可识别的看得见的程序组成部分,并容易被组合成程序。

  4 能被单独地汇编和测试。

  5 它的规模比较小,逻辑比较简单。


  因此单元测试具有以下意义

  单元测试集中注意力于程序的基本组成部分,首先保证每个单元测试通过,才能使下一步把单元组装成部件并测试其正确性具有基础。单元是整个软件的构成基础,像硬件系统中的零部件一样,只有保证零部件的质量,这个设备的质量才有基础,单元的质量也是整个软件质量的基础。因此,单元测试的效果会直接影响软件的后期测试,最终在很大程度上影响到产品的质量。

  其实在最小单元上做测试,使每个测试都想做的事情,因为只有从最小单元向上保证,我们对自己的测试对象才更有信心,或者说能做到对待测试的工程做到最大程度上的把控。

  单元测试可以平行开展,这样可以使多人同时测试多个单元,提高了测试的效率。

  单元规模较小,复杂性较低,因而发现错误后容易隔离和定位,有利于调试工作。

  单元的规模和复杂性特点,使单元测试中可以使用包括白盒测试的覆盖分析在内的许多测试技术,能够进行比较充分细致的测试,是整个程序测试满足语句覆盖和分支覆盖要求的基础。

  单元测试的测试效果是最显而易见的。做好单元测试,不仅后期的系统集成联调或集成测试和系统测试会很顺利,节约很多时间;而且在单元测试过程中能发现一些很深层次的问题,同时还会发现一些很容易发现而在集成测试和系统测试很难发现的问题;更重要的是单元测试不仅仅是证明这些代码做了什么,是如何做的,而且证明是否做了它该做的事情而没有做不该做的事情。

  单元测试的好与坏不仅直接关系到测试成本(因为如果单元测试中易发现的问题拖到后期测试发现,那么其成本将成倍数上升),而且也会直接影响到产品质量,因为可能就是由于代码中的某一个小错误就导致了整个产品的质量降低一个指标,或者导致更严重的后果。


  总结一下:

  1 单元测试是一种验证行为—— 测试和验证程序中每一项功能的正确性,为以后的开发提供支持;

  2 单元测试是一种设计行为—— 编写单元测试将使我们从调用者观察、思考,特别是要先考虑测试,这样就可把程序设计成易于调用和可测试的,并努力降低软件中的耦合,还可以使编码人员在编码时产生预测试,将程序的缺陷降低到最小;

  3 单元测试是一种编写文档的行为—— 是展示函数或类如何使用的最佳文档;

  4 单元测试具有回归性—— 自动化的单元测试有助于进行回归测试(这是我认为测试最大帮助的);


  单元测试的内容

  单元测试由一组独立的测试构成,每个测试针对软件中的一个单独的程序单元。单元测试并非检查程序单元之间是否能够合作良好,而是检查单个程序单元行为是否正确。

  在单元测试时,测试人员根据详细设计说明书和源程序清单,了解到该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理和不合理的输入都要能鉴别和响应。这就要求对程序所有的局部和全局的数据结构、外部接口和程序代码的关键部分进行桌面检查和代码审查

 

   本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!

 


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved