互联网单元测试困难点

一、 被测对象结构的原因

当单元测试跑过之后并不代表系统没有问题,跑不到前端和容器层和缓存内部redis中的数据,跑不到消息和开关,这种单元测试价值非常有限。
1、前端代码包括js、css、图片、html
2、服务端代码
1)代码:单元测试命中点是代码层面的东西,解决代码正确性的问题,解决不了数据正确性的问题
2)数据库:①互联网业务代码逻辑并不复杂,基本是一些增删改查,主要是很多数据表组合起来形成了很多复杂的业务。②互联网的业务基本都在数据层,单元测试不太考虑数据层的内容

3)缓存: redis缓存
4)消息: kafka消息
5)开关: 很多逻辑在开关里面,开关的组合会产生不同的逻辑
3、容器层:基础软件配置
4、网络层
 二、互联网是真正实践敏捷
1、代码:快抛型,代码从写出来到上线到重构时间有限,这种情况下的单元测试,成本和收益要进行考虑
2、代码逻辑并不复杂:微服务化加剧后,大应用拆成多个小应用,结构更加简单
3、单元测试收益有限:①维护成本高 ② CRUD逻辑和日志,异常处理
三、 比单元测试重要的事情多得很
1、 应用架构是否合理?
2、接入监控、接入灰度
3、 用户的业务诉求deadline:明天这个业务是否还能活下来
4、用户优先级问题处理:互联网问题处理oncall,有可能代码、集群、性能等问题
5、业务梳理:①做的业务是什么 ②代码熟悉
 四、单元测试的部分业务
 1、金融类底层业务
 2、高质量要求核心部件
 3、普通方式很难测的业务
 4、复杂计算类业务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值