读书笔记-单元测试艺术(一)-单元测试的基本知识

一、定义单元测试和集成测试

1.什么是单元测试

单元测试是一段自动化代码,用来调用被测试的方法或类,而后验证基于该方法或类的逻辑行为的一些假设。

单元测试几乎总是用单元测试框架来写的。它写起来很顺手,运行起来不费时,它是全自动的,可信赖的,可读性强的、可维护的。

2.什么是集成测试

集成测试(integration test)意味着把两个或多个相依赖的软件模块作为一组进行测试。

缺点:存在“意外缺陷”,在代码修改后,如果不能对以前的功能运行测试,很可能会无意中破坏已有的功能。可通过“回归”处理

3.单元测试和集成测试的区别

集成测试运行多个集成到一起的代码单元,用来确认软件中应该出现的一个或多个结果;

而单元测试通常只孤立地运行和测试某一个单元

image

二、几个概念

1.什么是回归

“回归”是指以前好的功能,现在却出现问题了

2.什么是被测系统

单元测试是在“被测系统”(system under test,SUT)上执行的;

3.什么是遗留代码

遗留代码(legacy code),即与不再支持或制造的操作系统或其他计算机技术相关的源代码。

也有称“没有测试的代码”为遗留代码。

4.什么是逻辑代码

逻辑代码(logical code)是指任何一个小段包含逻辑的代码,尽管可能不大。只要包含一个或多个以下要素的就是逻辑代码:if语句,循环,switch或case语句,计算,或任何其他类型的判断代码。

5.什么是重构

重构(refractor)是指改变一段代码而不改变其功能。如果改变方法的名称,你就做过重构。如果曾近把一个大方法分成几个小法,那么你就重构过代码。代码依然做同样的事情,但它更容易维护、阅读、调试和变更。

三、优秀的单元测试

自动的、可重复的

容易实现的

一旦写好,将来都可使用

任何人都可运行

单击一个按钮就可运行

可以快速地运行

四、测试驱动开发

写单元测试,不仅仅是如何写,更是在开发过程中何时写,如此这般便引入了测试驱动开发

image

测试驱动开发的技巧

1.写一个失败测试,证明最终产品还缺少代码或功能

2.编写生成代码,满足测试的期望,使测试通过

3.重构代码

原文地址:https://www.cnblogs.com/kimisme/p/5559791.html