一分钟理解自动化单元测试

一直以来都对自动化测试颇有好感,最近利用空闲时间了解了一下,分享给大家。

首先科普一下测试界的金字塔。
这里写图片描述

UI测试表示面向用户的界面测试,也就是外部质量。

单元测试表示内部代码的逻辑测试,也就是内部质量。

集成/接口测试则是系统各模块间的测试,连接系统内外的测试。

根据金字塔,很显然UI测试很重要在金字塔顶端,但是在如今的软件行业,我们应该把测试的重心放到单元测试上,其次再到接口测试,有了底层内部质量的保证,整个产品的质量才会有所保证,如果仍然用传统的测试方式只注重界面,忽略了内部代码质量,对产品后期的维护和扩展极其不利,我想我们开发人员最不想干的就是这种事:表面上系统运行完美,但是叫改BUG或添加新功能时原来的代码一行都看不懂。

OK,再来说,单元测试是什么?

单元指的是代码中最小的不可分割的一部分,可以是一个if,可以是一个for,也可以是一个函数,一般我们就以一个函数为一个单元,因为好的编程习惯是会把复杂的逻辑拆分成许多不可细分的函数。
单元测试无非就是测试看看我写的这个函数对不对。有没有正确的返回值,异常、参数处理等等。

那自动化测试是什么?

以单元测试来说,一般我们要测试一个函数A对不对,首先是要另外写一个main函数B,调用函数A,传入对应的参数看看返回值什么的。但是这么做一两个函数还好,如果我有1000个要测试的函数岂不是要写1000个mian函数B,于是就出现了自动化测试。
如上金字塔的每个层面都有其对应的自动化测试,自动化单元测试就是自动的去测试函数,而不需要我们花太多不必要的时间。

那么,如何进行自动化单元测试呢?

good news,为了方便的进行自动化,聪明的人们已经为我们准备了许多自动化测试的工具或框架,如java的Junit、testNG,C#的NUnit,python的unittest、pytest等,几乎所有的主流语言都有其对应的自动化测试工具或框架。如果你用的不爽,想要自己搞一个自动化测试的工具或框架出来那就再好不过了。

第一篇就介绍到这,下一篇开始讲如何用Junit进行自动化单元测试。

猜你喜欢

转载自blog.csdn.net/u012882327/article/details/72460434