web项目和单元测试

由于web程序和一般的软件开发不同,自动化测试的效率和必要性一直较低,因此人工测试一直是web项目的最主要测试手段。

但这并不表示web项目就不需要进行自动化测试。对于web项目而言,自动化测试可以分为单元测试和功能测试。功能测试主要针对具体页面进行测试,个人觉得意义不大,因为既然是针对具体页面进行测试,采用人工测试的方式更为直接,高效,且灵活。因此以下主要针对单元测试进行讨论。

首先,由于web项目的特殊性,能够进行单元测试的地方也不会很多。一般来说,单元测试会集中在业务逻辑层。

如果是很简单的功能,那做单元测试的必要性就很低。一般来说,需要做单元测试的地方是:逻辑复杂的功能模块。

代码要能够做单元测试,对程序的结构有一定的要求。首先,单元测试的模块必须是个闭合的系统,有固定的输入和输出。因此在系统设计阶段就应该进行充分的考虑:代码的可测试性。

如何做到代码的可测试性呢。主要有以下能力和技巧:

1          把(逻辑)复杂的问题抽象为(数学)模型的能力,这也是最重要的一点。细节上如,将数据库中的数据映射成程序中的数组,针对数组进行处理。

2          好的程序架构。即程序要模块化。单元测试多是针对类或者函数进行。单元测试要求测试对象是个闭合的系统,如果你进行测试的程序块和“外界”有着千丝万缕的联系,那你的程序必然是不可测试的。

3          因为web程序的特殊性,有时候,要做到完全闭合会很困难,或者说要花费很大的精力去改写程序。那这时候,适当的用一些小技巧来实现可测试是必要的。因为测试的目的是为了保证产品质量,如果为了单元测试而延误了工期,那就本末倒置了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值