单元测试与系统安全的规约

在这里插入图片描述

单元测试规约

需要单元测试的原因:
在这里插入图片描述

是否能够交付产品级别的项目

在这里插入图片描述

根据项目的不同需求,进行性能测试和稳定性测试

单元测试

保证接口能够正常使用

在这里插入图片描述

越早发现成本越低,单元测试的提早发现,对于软件的质量有显著的保障,也可以,提高软件质量优化代码,提高代码质量,找到潜在的问题,可以在重构的时候注意到更好的解决方案

同样的一个代码,晚一轮发现,所用的时间会翻倍

单元测试没有发现的bug,会导致集成测试时产生问题,需要返回啦单元测试

系统测试的时候找bug会非常困难

单元测试的air原则

单元测试的代码框架不会对其他部分产生影响,系统可以一个参数开启,关闭单元测试

在这里插入图片描述

Maven实现单元测试,系统可以一个参数开启,关闭单元测试

每个模块不能相互依赖,要保证独立性

没用新的代码加入,以前的单元测试可以重复使用

单元测试设计代码bcde原则

在这里插入图片描述

Border边界测试

在这里插入图片描述

区间测试eg:手机号11位,测试10位,12位置,如果是一个范围要测试上点、内点、离点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jp4tswFj-1637205600470)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118090412839.png)]

定义了一个listpage方法根据输入的车次号匹配输出车次信息,车次号先通过正则判断,成功输出信息

测试用例 “t31”、“A31”、“T333333”、“a2”…

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWwYCzOO-1637205600477)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211116203700851.png)]

JUnit4 实现了Hamcrest的断言

JUnit

在这里插入图片描述

还可以有断言和假设

Spring TestContext Framework

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8DvmuNAv-1637205600490)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118092927397.png)]

maven-surefire-plugin+Jacoco选择性统计代码覆盖率

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5tpY3A84-1637205600494)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118093116198.png)]

sleep test 跳过测试

实例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWgb8jJj-1637205600499)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118093439638.png)

Spring TestContext Framework的测试类,主要测试的是数据层面的userMapper,和数据元dateSource

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKWZx8BB-1637205600503)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118093707247.png)]

测试是否能够被sql注入
在这里插入图片描述

数据源链接是否已经被用完,在数据库和mybaits配置的时候比如长链接10短链接3000,在docker、服务器、K8s的不同环境下,性能是不同的,可以通过这个测试,测试具体应该怎么配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKrEfajz-1637205600514)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118094344540.png)]

测试主键重复

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qxTf6Exd-1637205600520)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118094405568.png)]

测试分页信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7lCBALh3-1637205600522)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118094641105.png)]

系统安全规约

在这里插入图片描述

在这里插入图片描述

前后端都要设置,不是前端不显示就完事了,后段也要控制,验证身份,加密数据,参数校验

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YZFY9M0e-1637205600540)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211116211905874.png)]

相同权限的A和B都要只能访问自己的数据,部门级不处理会造成部门级别的数据泄漏

权限控制是实例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nLMUirU5-1637205600547)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118100248400.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RyXSloHJ-1637205600551)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118101620499.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCzRD3a8-1637205600553)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118101753382.png)]

定义map查询权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ov8V8ER9-1637205600556)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118102230453.png)]

在这里插入图片描述

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iv3rlMNK-1637205600564)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211116213526357.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1)Execute:调度执行StatementHandler、ParmmeterHandler、ResultHandler执行相应的SQL语句;

2)StatementHandler:使用数据库中Statement(PrepareStatement)执行操作,即底层是封装好了的prepareStatement;

3)ParammeterHandler:处理SQL参数;

4)ResultHandler:结果集ResultSet封装处理返回。

使用JDBC 可以直接在JDBC层进行设置

加密的流程

sql拦截器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7jSffPEk-1637205600575)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118104103067.png)]

在这里插入图片描述

有注解就可以解密

拦截器实现数据层api的加密

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W0PTHcIH-1637205600584)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118105144135.png)]

加密之后 继续进行

sql注入

在这里插入图片描述

在这里插入图片描述

in后面的写法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vu13BvhZ-1637205600779)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118105925218.png)]

XXS跨站点脚本攻击及其防御之术

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pbsskU7u-1637205600780)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118110517652.png)]

重放攻击

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A92VkoIG-1637205600782)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118110737010.png)]

调用短信服务产生bug一直调用短信接口,

避免使用$ 要尽量使用#

时间戳可以防范1分钟内的重放攻击

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hIXQGaRa-1637205600790)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118111040021.png)]

解决办法 时间戳+1次性的有效数字

使用Sentinel实现API接口防刷

在接口处就防刷

在这里插入图片描述

限流,超过系统可提供的请求,多余的请求加入队列,对于恶意用户ip加入黑名单

在这里插入图片描述

开启熔断器厚执行异常的操作,定时看熔断器是否开启或者关闭

流程分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-na3G3s8p-1637205600881)(/Users/zhaokaijie/Library/Application Support/typora-user-images/image-20211118111643046.png)]

有些需要有后段的风控模块辅助进行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值