一、单元测试规约
软件测试指的就是通过手工对被测对象进行测试操作。以此来验证实际结果与预期之间是否存在差异。
软件测试目的:
验证软件的正确性
找出软件中的bug
1.单元测试的AIR原则
A:Automatic 自动化
I:Idependent 独立性
R:Repeatable 可重复性
2.BCDE原则
B:Border 边界值测试
C:Correct 正确的输入,并得到预期的结果
D:Design 与设计文档相结合
E:Error 证明程序有错
二、系统安全规约
1.权限控制
安全问题:越权访问:垂直越权,水平越权;
越权访问漏洞防范措施:
前后端同时对用户输入信息进行校验,双重验证机制。
调用功能前,验证用户是否有权限调用相关功能。
执行关键操作前必须校验用户身份,验证用户是否具备操作数据的权限。
直接对象引用的ID要加密,防止攻击者枚举ID,敏感数据特殊化处理。
永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤。
2.敏感数据处理
特殊信息授权处理、特殊信息脱敏处理、特殊信息加密存取、特殊信息加密传输。
敏感数据之敏感数据存取加密:
两个Handler
SQL注入防御处理:
过滤危险字符
使用预编译语句
JDBC:PrepareStatement
重放攻击案例
预防重放攻击:
使用Sentinal实现API接口防刷
关键资源防刷