我经历过的项目中有完全不写的,也有必须覆盖80%的,它们之间的区别是什么?(个人的经验可能不具备典型性,欢迎大家拍砖)

  • 项目A:先说说我开始写JSP的时候,后端struts、前端jsp,做好的一个功能,在jsp页面上刷新测试。项目也这样如期上线了,也没感觉到哪里不对。
  • 项目B:做ios和android APP开发的时候,写好一个功能后,点击run,然后在手机或模拟器上点击验证刚才写的代码。一个手机app也如期上线了,也没感觉到哪里不对。
  • 项目C:做手机游戏后台开发的时候,服务器需要向手机端提供restfull API,这个时候开始对每个API写了TDD(Test-driven development)的测试用例,每个api都必须要写。前后端是不同的人开发,这样后端开发人员在没有前端开发配合的情况下也独立完成了后端的开发。
  • 项目D:做华为外包项目时,项目很大,每个模块都是打成jar包,每个类的单元测试覆盖要达到80%。

前面几个项目差别非常大,项目A为企业信息管理系统,项目B是B2C的手机APP,项目C是手游,项目D是SaaS项目。从项目规模上来看,越大的项目越需要写单元测试,项目组中的开发人员越多,单元测试的重要性越大。从技术成熟度上看,越是成熟的开发语言和开发框架,单元测试的支持越好,比如iOS7之前估计没人写单元测试,现在估计也很多团队不写单元测试。从项目的发起者角度来看,越是大公司的项目越需要写单元测试,小公司可能由于时间和成本的原因就没写。

那你现在的项目要不要写单元测试呢,如果前后端分离的项目,后端必须要写api的黑盒测试。如果项目规模很大,模块与模块之间的API的层次很多,黑盒和白盒都需要写了。如果是一个人独立完成的简单项目,根据个人喜好来决定。

你的项目该不该写单元测试?相关推荐

  1. 在maven项目中使用Junit进行单元测试

    在maven项目中使用Junit进行单元测试(一) 在maven项目中使用Junit进行单元测试一 创建maven项目 编写测试用代码 小结 这是第一篇博文,所以我决定先从比较简单的内容写起,同时熟悉 ...

  2. 为什么从前那些.NET开发者都不写单元测试呢?

    楔子 四年前我虽然也写了很多年代码,由于公司虽然规模不小,却并非一家规范化的软件公司,因此在项目中严格意义上来说并没有架构设计.也不写单元测试,后来有幸加入了一家公司,这家公司虽然也是一家小公司,但是 ...

  3. 写单元测试的好处(转)

    许多开发者都有个习惯,常常不乐意去写个简单的单元测试程序来验证自己的代码.对自己的程序一直非常有自信,或存在侥幸心理每次运行通过后就直接扔给测试组测试了.然而每次测试组的BUG提交过来后就会发现自己的 ...

  4. java 单元测试_在springboot中写单元测试解决依赖注入和执行后事务回滚问题

    往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...

  5. springboot 事务嵌套问题_在springboot中写单元测试解决依赖注入和执行后事务回滚问题...

    往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...

  6. 灵魂拷问:到底要不要写单元测试,如何正确进行单元测试?

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/new_com/article/details/116098959 为什么要写单元测试 一聊起测试用例,很多人第一反应就是,我们 ...

  7. 为什么要写单元测试?如何写单元测试?

    01.为什么要写单元测试 一聊起测试用例,很多人第一反应就是,我们公司的测试会写测试用例的,我自己也会使用postman或者swagger之类的进行代码自测.那我们研发到底要不要写单元测试用例呢?参考 ...

  8. Spock in Java 慢慢爱上写单元测试

    前言 最近小组里面引进了Spock这个测试框架,本人在实际使用了之后,体验非常不错,本篇文章一是为了巩固输入的知识,二是为了向大家推广一下. 在了解学习Spock测试框架之前,我们应该先关注单元测试本 ...

  9. 写单元测试应该注意什么

    写单元测试应该注意什么 转载于:https://www.cnblogs.com/yishenweilv/p/10899695.html

最新文章

  1. android studio 2.1正式版,Android Studio 1.2 正式版发布
  2. 网络通信-2(TCP通信、ServerSocket、Socket)
  3. Spring 框架中的单例Beans 是线程安全的么?
  4. SAP 电商云 Spartacus UI 单元测试的依赖隔离设置举例
  5. Qt文档阅读笔记-QtConcurrent Map Example官方实例解析
  6. 关于 Jason.NET 的质问
  7. 解决IE8上传文件时javascript取文件的本地路径的问题C:\fakepath\..
  8. linux dd 清屏 of=/dev/mem,Linux系统简介分区基础命令(ADMIN01-2)(示例代码)
  9. SpringBoot:javalist和set区别
  10. SpringBoot 之多个过滤器(Filter) ,监听器(Listener),切面(AOP),拦截器(Interceptor)的指定排序问题总结篇
  11. 4.21-4.26旅行记之山城重庆(二)
  12. 消息被重复消费,怎么避免?
  13. Atitit.attilax重要案例 项目与解决方案与成果 v6 qa15
  14. php扩展leonis,LNMP环境部署
  15. 职场中,什么样的人最容易升职?
  16. LVS负载均衡器的原理简单介绍
  17. opend和open的区别_open 和 opened 的具体区别~~
  18. 稻城亚丁徒步攻略,与你共同感受这片净土
  19. 【BZOJ1211】【HNOI2004】树的计数(prufer序,组合数)
  20. Swift 语言概览

热门文章

  1. 小波变换中的多贝西小波(DB小波函数)概述
  2. matlab 重复博弈,横向稳定杆的侧倾角刚度仿真与试验研究
  3. (四)vivado Simulator仿真软件的使用
  4. 2021年茶艺师(初级)模拟考试及茶艺师(初级)模拟考试题
  5. 操作系统实验二实验报告
  6. 转:CPU与内存的那些事
  7. 《部落与弯刀》,我的第一个真正意义上的规则驱动开放世界游戏,快做完了
  8. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国法律史10212k1
  9. 河大计算机2015年招生计划,985高校2015年招生计划(河南省之二)
  10. switzerland, we're coming