说说单元测试的重要性
单元测试的重要性不言而喻,自我开发生涯以来,从很少注视过过场场,到非常重视。
单元测试为什么会让人忽视呢?
通常情况像一些查询或者增删改之类,拿我来说,即便报错我大概一扫,我就知道错误是什么了,该如何排查,因为就拿SpringMVC来说或者MyBatis等,再不济就是Spring的依赖注入问题,拿MyBatis来说,要么就是sql问题,要么就是参数问题,再不济就是与Spring动态扫描有关或者是mybatis中专门写sql的配置文件某个地方语法错误等,这些错误都是可预见的,说句不好听的话,再不济百度一搜,顿时分分秒就KO了。但是大家有没有想过这样一个问题?为什么我们老是在犯这些重复性错误呢?原因是什么呢?
不重视。
当然了就专业来说,我们是软件开发工程师,专注于开发,至于测试方面,我们又不是专门的测试,管我们什么事。郑州看心理医生哪家好http://www.hyde8731.com/
我只能说:此言差异。
为什么呢?
坦白的说,程序的Bug基本都是由于我们这些开发人员导致的,比如说代码风格乱七八糟,写完代码看到功能实现了,就什么都不管了,也不多测测,以至于每次都是测试人员来测,发现谁的错误就通知谁,而谁谁就开始改了。
我认真想了下,其实很多错误是可以避免的。
打个比方,就拿我公司来说,我们没有测试没有前端没有运维,而我作为Java后台开发,同时兼任前端、测试、运维,记得在第一个项目初期时,为了加快项目进度,尽快让老板看到对应的效果,我们快速开发,能粘贴复制尽量不手写,遇到问题百度搜索,找到对应的解决方案,代码复制过来,看能不能跑起来,能跑起来,就不管了,功能实现就好,跑不起来,继续百度或者Google,当然一般情况百度比较多。
前期项目急,甚至表单校验懒得写,甚至有些代码注释都不写,命名的话想到规范就规范,想不起,凑合吧,对于那时的我来说,这些都不是最重要的,最重要的是,每周完成工作任务,提交代码,功能实现。当然欲速则不达,再怎么快,总会因为这样的错,那样的错导致项目进度延迟。而且这些错误是可以完全避免的。
比如我们使用的框架是Spring+MyBatis+SpringMVC,采用的表现层技术是JSP,数据库为MySQL。
JSP对于广大的Java同行们,并不陌生。
话走得有点偏。本篇着重于凸显单元测试之重要性。