单元测试的一些基本概念
我们(程序员)多多少少都写过单元测试,有的可能几年前写的几行代码(比如我), 姑且也算写过吧,但是有些东西还是不是很清楚,比如什么是单元测试?怎么才算是好的单元测试?等等很多,查了些资料,总结一下。
1、什么是单元测试
单元测试是一段代码(通常是一个方法)调用另外一段代码,随后检验一些假设的正确性。如果假设的结果错了,单元擦拭注定会失败。一个单元指的是一个方法或函数。
2、好的单元测试具有哪些特性
- 自动的,可重复的
- 容易实现的
- 一旦写好,将来都可以使用
- 任何人都可以运行
- 单击一个按钮或输入一条命令就可以运行
- 能够快速的运行
3、什么是集成测试?
把两个或者多个相依赖的模块作为一个组进行测试。他运行多个集成在一起的代码单元,用来来确定软件中应该出现的一个活多个预期结果。
4、什么是逻辑代码?
逻辑代码是指任何一小段包含逻辑的代码,只要包含一个或者多个以下要素的就是逻辑代码:if、switch、 for、foreach、while等等任何其他类型的判断代码。(由于编程语言不同,关键字有可能不同)
5、什么是测试驱动开发(TDD)?
测试驱动开发即测试优先开发。传统的开发流程如下图所示
TDD的开发流程大致如下,它是螺旋性的,写单元测试、写实现代码、重构。然后写下一个。体现增量开发,每次一小步,每次都能提高质量或增加功能。
TDD开发其实就3步:首先写一个失败的测试,证明最终的产品缺少代码或功能;然后编写实现代码,满足测试的期望,使测试通过;最后是重构也可以继续写下个单元测试,所谓的重构是调整代码,使得代码可读性更强,消除冗余等。
转载于:https://www.cnblogs.com/liuyh208/p/3277469.html
单元测试的一些基本概念相关推荐
- Spring Boot 的单元测试和集成测试
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 万想 来源 | 公众号「锅外的大佬」 学习如何使用本教程中提供的工具,并在 Spr ...
- JavaScript单元测试ABC
前言 当前,在软件开发中单元测试越来越受到开发者的重视,它能提高软件的开发效率,而且能保障开发的质量.以往,单元测试往往多见于服务端的开发中,但随着Web编程领域的分工逐渐明细,在前端Javascri ...
- iOS 开发-单元测试
前言 维基百科对单元测试的定义如下: 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可 ...
- 软件测试宝藏图_tSQLt –数据库单元测试中被遗忘的宝藏
软件测试宝藏图 This article is an overview of tSQLt, which is one of the best SQL unit testing frameworks, ...
- iOS开发-单元测试
前言 维基百科对单元测试的定义如下: 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可 ...
- iOS 单元测试- 入门学习2
前言 维基百科对单元测试的定义如下: 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可 ...
- C# 学习笔记9 接口,反射,单元测试
接口 接口和抽象类 开闭原则 概念 开闭原则规定"软件中的对象(类,模块,函数等等)应该对于扩展(增加功能)是开放的,但是对于修改是封闭的",这意味着一个实体是允许在不改变它的源代 ...
- Unittest单元测试框架UI自动化
今天我们讲解在python中如何使用unittest框架实现UI自动化,对于如何使用webdriver的API进行网页的操作今天不再赘述,错过的小伙伴请戳下方链接直达~~ 1.unittest单元测试 ...
- android单元测试作用,关于 Android 单元测试
本文不会用各种高大上的理由试图去说服你写单元测试,只是描述笔者在单元测试这条路上一路走来的思考和简单的示例,如果顺便能让你觉得单元测试其实也没那么遥远.回头也在实际项目中尝试一下,估计就是本文最大的收 ...
最新文章
- 【HNOI2011】数学作业(BZOJ 2326)
- 杭电1010java实现dfs
- pandas 更改单元格的值_懂Excel轻松入门Python数据分析包pandas(二十四):连续区域...
- 【IOS下载】Cisco IOS下载
- 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
- Android中关于Volley的使用(四)利用NetworkImageView来加载图片
- 未来计算机作文700字,未来的科技作文700字
- clinux 防火墙增加白名单_linux配置防火墙 Centos7下 添加 端口白名单
- 深入解读HBase2.0新功能之高可用读Region Replica
- 回顾:前端模块化和AMD、CMD规范(全)
- GNS3 VM 的安装使用和路由器的添加
- Django面试题库
- html设置div大小位置不变,div大小 div固定大小设置
- 世界前五大IT咨询公司
- 浅谈IM(InstantMessaging) 即时通讯/实时传讯
- XYplorer 20.90.0900中文版 — 资源管理器
- Word制作三线表格并插入公式
- mac版本钉钉6.0.18版本无法获取摄像头权限问题
- ITUNE清理“其他”的内容
- matlab存储excel数据,怎么把matlab表格数据写入excel-怎么把matlab中处理的数据存入到excel中...