1.1单元测试的作用:
手动或者工具对被测试对象进行测试操作;
发现系统的BUG
对软件组成部分的测试,检验软件的正确性
提高软件质量
促进代码效率
提升研发效率
1.2.研发测试与测试生命周期W模型
常见单元测试
测试的maven的配置,配置在测试时哪些类不进行单例测试
边界值定义:
AIR原则
原则:可重复性,独立性,自动化
BCDE原则:
测试框架的使用
示例数据库相关的
BCDE
Border:边界值测试
Correct:正确的输入,并得到预期的结果
Eroor:证明程序有错
Design:与设计文档相结合
可重复性:
独立性
自动化
越权访问是Web程序中一种常见的漏洞,超过权限来进行访问
越权的处理方式:
1.前后端同时对用户输入信息进行校验
2.调用功能前,验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否超过数据的权限
4.直接对象引用的资源ID要加密,防止攻击者枚举ID,敏感数据特殊化处理
5.对于用户的输入,对于可控参数进行严格的检查和过滤
防止越权的解决思路:
设置拦截器,后续补充…
敏感数据内容示例:服药记录,健康状况,考试分数,姓名,身份证号码,所购商品,信用卡号,工资报酬,银行卡号,订单信息,个人行程,个人照片,家庭成员
脱敏数据处理的原则:
保持原有数据特征、保持数据之间的一致性、保持业务的关联性、多次脱敏之间的数据一致性
前端对于数据的处理:特殊内容加* 号代替
日志处理的方式
配置日志中部分内容的隐藏处理:
使用# 符号,不使用KaTeX parse error: Expected 'EOF', got '#' at position 4: 符号 #̲符号会匹配传入的参数检验, 符号就是传入具体的值
前端提交后端的信息需要进行过滤处理,对请求的url中信息(去空格,json内容等)进行处理
特殊信息授权、特殊信息脱敏、特殊信息加密存取、特殊信息加密传输
对Url中增加时间搓和签名 和 一窜随机数字作为Url的参数信息,后端对前端中的时间戳和签名进行检验,
防重
短信服务接口重复发送短信的流程:
基于 nonce 防重放攻击之术
防刷
使用sentinel实现Api实现Api接口防刷
关键资源的防刷处理流程: