单元测试的艺术——入门篇

发表于:2017-8-01 11:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Helius-黑牛    来源:个人博客

  前记:前段时间团队在推行单元测试,对于分配的测试任务也很快的完成,但觉得自己对单元测试的理解也不够透彻,所以就买了《单元测试的艺术》这本书来寻找一些我想要的答案。这本书并不是手把手教你写单元测试代码的,而是教你一些思想,循序渐进,最终达到能够写出可靠的、可维护的、可读的测试。本篇文章是入门篇,主要是讲解单元测试的概念、与集成测试的区别以及如何使用框架进行最基础的单元测试等。
  一、单元测试的基础
  1.1、什么是单元测试
  单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行检验。单元测试几乎都是用单元测试框架编写的。单元测试容易编写,能快速运行。单元测试可靠、可读、并且可维护。只要产品代码不发生变化,单元测试的结果是稳定的。
  特征:
  ●自动化、可重复执行;
  ●很容易实现;
  ●第二天还有意义;
  ●任何人都应该能一键运行它;
  ●运行速度应该很快;
  ●结果应该是稳定的;
  ●能完全控制被测试的单元;
  ●完全隔离(独立于其他测试的运行);
  1.2、什么是集成测试
  集成测试是对一个工作单元进行的测试,这个测试对被测试的工作单元没有完全的控制,并使用该单元的一个或多个真实依赖物,例如时间,网络、数据库、线程或随机数产生器等。
  1.3、单元测试与集成测试的区别在哪里?
  单元测试与集成测试最大的区别在于:集成测试依赖于一个或多个真实的模块,当运行集成测试时,出现失败的情况后你并不能立即判断是哪里出了问题,因此找到缺陷的根源会比较困难。
  二、TDD(测试驱动开发)
  2.1、传统的开发流程
  [虚线代表是一个可选的行为]
  2.2、TDD的开发流程
  [这是一个螺旋式的过程]
  由上面的两个图中可以看出TDD与传统开发模式的区别:先编写一个会失败的测试,然后创建产品代码,并确保这个测试通过,接下来是重构代码或者创建另一个会失败的测试。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号