为什么要单元测试

一般得软件开发分层进行已经不是什么秘密,假设是一个普通的B/S架构的软件系统,如果我们在测试的任何阶段都采用从顶层(view,通俗的讲就是打开Browser,按照一定的顺序点击,并观察输出结果)自下进行测试,则有以下缺点:  
   
  1.   难于测试,即使仅仅是想测试简单的business层的功能都必须自顶向下操作整个步骤。  
   
  2.   一旦发现BUG,问题地点难以定位,因为一般的普通测试属于功能测试,早已经跨越多个层次。  
   
  3.   不能自动化测试,JUnit编写的脚本可以保证在下次修改了某些代码后重新测试,而你只要按下那个钮,但是如果仅仅使用人力测试,那么非常耗费成本。  
   
  4.   因为原因3而导致不愿意测试,或将测试向后推延,导致问题发生过晚修改成本极高。  
        测试的成本高会导致人们懒于测试,而这偏偏与越早发现BUG越好的事实相背。  
   
  5.   测试覆盖率,人的手工测试可能产生遗漏或偏差,但自动化测试可以弥补不断重复测试导致的偶然遗漏或偏差  
   
  6.   错误提示和测试报告,通过自动测试工具发现问题可以附件错误提示,以确定错误真正发生的原因,而不用随便依靠感觉猜测。同时依靠其他工具可以生成精美的测试报告,减免收工作业。  
   
  7.   为了Refactor,如果想重构你的代码,而没有完整的测试脚本,那和走钢丝没啥两样  
   
  最后为了软件质量,也为了自信的继续编码  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值