转载自:htp://ww.ltesting.net

以国内互联网的开发节奏,在前端业务项目中全面覆盖单元测试有时显得不太可行,主要是因为以下.

这些绊脚石:
●UI交互复杂,路径难以覆盖全面.
●工期紧,开发对实践TDD , BDD所带来的长远效益没有信心
●产品经理们时不时打着「敏捷开发」的旗号改需求,使得刚刚辛辛苦苦写完的测试脚本完全作废
在这样的处境下,一味强调单元测试的逻辑覆 盖率是没有太大意义的,明确在哪里应用单测的能取得最大的边际效益是更有意义的事情。
以下笔者根据自己的- -些在单测的实战经验,列出了三项关于「单元测试应该测什么」的观点并附以一些例子与大家交流:

单元测试并非测试的全部拿来主义地对待单元测试单测只是一-种局部模块测试,是诸多测试方案中的一种,认识到这一点可以避免我们为了测试而测试,或者为了指标而测试。
同时也应该认识到单测本身的覆盖能力也是有限的,全部用例的PASS和100%的覆盖率都不能保证被测试模块的所有逻辑路径都有正确的行为。

是否对一个模块使用单元测试往往取决于这个模块的逻辑稳定性和业务类型
例如对于一一个底层npm包项目,单元测试几乎 是他唯一的代码质 量保障手段,这时就应该尽可能通
过单元测试验证它在各种应用场景下的行为是否符合预期,来最低成本地保证它每次发包和更新的质
量。对这类项目,彻底应用BDD开发模式也会获得越来越高的开发效率收益。
而对于-一个功能复杂的UI组件,除了单元测试,还有E2E测试,自动化回归测试,QA手动测试
(

单元测试到底测什么?相关推荐

  1. 说实话,写了这么多程序了,还从来没有用JUnit作为单元测试工具测试过,今天就来学习一下

    1.    说实话,写了这么多程序了,还从来没有用JUnit作为单元测试工具测试过,心理面感到真的是惭愧.原来的所有测试,我都是通过在控制台打印输出语句看结果,这样就可以根据自己打印的信息自己去判断, ...

  2. 压力测试到底测什么?压力测试方案是什么?

    云计算时代,企业对于应用性能要求倍显严格.如何保障企业应用高效运行,压力测试环节必不可少,那么压力测试到底测什么?如何制定适合自己都压力测试方案呢? 首先,进行总体测试规划,规划集成测试的目的.测试时 ...

  3. 前端单元测试到底要怎么写?看这一篇就够了

    本文因未标注原创,如需转载,请顶部标注来源本公众号. 简介 随着 Web 应用的复杂程度越来越高,很多公司越来越重视前端单元测试.我们看到的大多数教程都会讲单元测试的重要性.一些有代表性的测试框架 a ...

  4. 【一文清晰】单元测试到底是什么?应该怎么做?

    我是java程序员出身,后来因为工作原因转到到了测试开发岗位.测试开发工作很多年后,现在是一名自由职业者 1.什么是单元测试 2.该怎么做单元测试 一.什么是单元测试? 单元测试(unit testi ...

  5. Web测试、App测试、接口测试到底测什么?

    一.WEB测试主要测试场景 1.UI测试: 界面是否美观,风格.字体.样式是否一致,文字内容是否正确; 2.功能测试: 所实现的功能是否和需求一致; 系统里的各种链接,是否可以正确打开,是否有空白页面 ...

  6. 该死的单元测试,写起来到底有多痛?

    今天带大家看看单元测试到底该怎么写. 到底什么是单元测试 这个问题看似非常简单,单元测试嘛,不就是咱们开发自己写些测试类,来测试自己写的代码逻辑对不对. 这句话没有问题,但是不够准确. 首先我们要明白 ...

  7. junit 内部类测试_Springboot 使用单元测试

    本文公众号来源:美码师作者:美码师本文已收录至我的GitHub 目标 了解 单元测试的背景 了解如何 利用 springboot 实现接口的测试 了解如何 利用 mokito 做代码的 mock 一. ...

  8. vue each_Vue 应用单元测试的策略与实践 05 - 测试奖杯策略

    本文首发于 Vue 应用单元测试的策略与实践 05 - 测试奖杯策略 | 吕立青的博客 欢迎关注知乎专栏 -- 前端的逆袭(凡可 JavaScript,终将 JavaScript.) 欢迎关注我的博客 ...

  9. Android单元测试(七):Robolectric,在JVM上调用安卓的类

    2019独角兽企业重金招聘Python工程师标准>>> 今天讲讲Android上做单元测试的最后一个难点,那就是在JVM上无法调用安卓相关的类,不然的话,会报类似于下的错误: jav ...

最新文章

  1. 5月第3周业务风控关注 |网信办公布整治教育类应用的成果 关闭“作业狗”等20余款应用...
  2. ViewPager+Fragment切换时无法更新数据问题解析(源代码分享)
  3. 操作系统-信号量的使用
  4. 初步体验数据驱动之美---TreeView
  5. 时速云入选2018中国企业服务创新成长50强
  6. 什么?iPhone 11起售价不到5400元?
  7. Centos 6.2 单网卡安装pptpd 经验
  8. 原生js实现一个随机点餐的小效果
  9. seqkit根据基因id_基因家族成员的鉴定/基因在染色体上的位置
  10. win7 未授予用户在此计算机上的请求登录类型,Win7提示未授予用户在此计算机上的请求登录类型...
  11. 泛微oa服务器文件,泛微OA根据文档的docid查询文档附件存放的路径
  12. java电子邮件收发系统的设计与实现_基于Java Mail的电子邮件收发系统的设计与实现毕业论文.doc...
  13. 三菱PLC编程指令简介
  14. 日志服务器文档,日志服务器的搭建.docx
  15. 做一个jQuery插件---带“旋转木马”效果的轮播图
  16. vLive虚拟直播,助力企业打造线上云年会
  17. 统计指标 --- 集中趋势
  18. LCD1602液晶显示屏应用
  19. ICPR 2018|阿里巴巴读光OCR及MTWI数据集亮相引关注
  20. error: ‘uint8_t’,‘uint16_t’ ,‘uint32_t’ does not name a type

热门文章

  1. 二、【React-Router6】一级路由 Routes + Route
  2. uevent 驱动_uevent机制
  3. 当前即时战略游戏的缺陷和军事战略游戏的要点
  4. java最快的orm框架_java有哪些简洁的ORM框架?
  5. 比较两个Word文档内容的差异
  6. 散列表应用---电话号码查询系统
  7. LiveGBS GB28181流媒体服务
  8. ermlra 电机 震动 马达
  9. 第6课 《修改病句》
  10. Weblogic漏洞 - Weblogic 弱口令漏洞