• 单元测试

  单元测试应该如何做?这个争论非常大。从极限的TDD到几乎不做单元测试都有。我面试过的程序员,只有不到5%所在公司有比较标准的单元测试。我对单元测试的态度是:要做,但不是什么都要做。我们把单元测试放在协议测试、端到端测试不容易到达、检测的地方。比如一些条件判断、异常检查、复杂的计算等。这些特点是基本上不需要mock就能进行的、可以独立运行的方法。而其他地方的方法,都保障是顺序、单线执行的。这一层我称之为BO(Business Object)是真正的业务逻辑。这部分容易写单元测试,也容易覆盖。必须做到100% 代码覆盖率。这部分代码在整个系统占比不高,所以单元测试量也不是太大。

  编写人:程序员

  • 协议测试

  协议测试可以通过一些自动化工具,如Postman进行。将系统业务逻辑编辑成若干顺序执行的条目,在部署后由工具自动跑。由于之前的业务逻辑已经由单元测试保证。所以这一层不再关注于业务逻辑。而关注于其他顺序执行的方法是否被执行过。为此我们开发了一个AOP,对所有Bean的方法执行情况进行统计,列出未执行过的方法。这样执行协议测试后,就可以查看哪些方法还没被跑过。可以设计新的协议测试Case。

  编写人:程序员

  • 端到端测试

  端到端测试成本最高,因此应该尽量缩减。主要应该集中于用户感受、前端逻辑等范围,协议测试和单元测试已经覆盖的,在这里不必重复,这样可以加快测试进度。端到端测试也可以查看方法执行情况,判断Case的覆盖率。

  编写人:产品/测试

posted on 2017-10-11 09:57  邓志国  阅读(223)  评论(0编辑  收藏  举报