读《单元测试之道》有感-20182621李冬晴
什么是单元测试?百度词条解释,单元测试是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
首先需要对单元测试进行分层
- 基础代码层即为公共函数,或者一个函数,也可以是一个类。
- 业务代码层即为处理业务逻辑的代码,即包括业务逻辑处理的函数,也包括所有对外开放的接口。
单元测试也不仅是后端需要,前端也是有需要进行单元测试的,前端也有大量的公共组建、公共方法、逻辑处理。
- 单元测试包括:基础代码函数测试、业务代码函数测试、单元级接口测试。
单元测试,测试对象是单一服务。
这里单元级别接口测试与集成测试的接口测试有何不同,单元级接口测试需要将所有需要用到的外部服务mock(数据库、其他服务、第三方系统等),将测试对象限定在当前单一服务代码上,仅测试当前服务代码的处理。
单元测试的优点:
- 可以快速debug,发现问题所在
- 有利于培养编写人员的测试能力
- 对于代码的修改维护,提供一层保障
- 利于代码的解耦,和代码的整洁。当复杂函数有多个测试点时,为了满足单元测试的需要需要对函数进行解耦、更好的封装,这无疑不是对于解耦和提高代码整洁度的好方法。
当然单元测试也有缺点:
- 降低了开发效率,需要思考测试方法,需要实现各种mock
- 有一定的维护成本,代码发生修改时,单元测试代码也需要同步维护
浙公网安备 33010602011771号