一个项目如何进行安全测试

一、为什么要进行安全测试

安全事故没有发生的时候,大家都相安无事,安全问题一旦发生,就会产生非常严重的后果,甚至可能导致企业倒闭。所以安全测试是我们测试中不可或缺的一环。

二、测试流程

安全角度评审——>代码、依赖安全性扫描——>安全测试用例——>安全测试执行

三、安全测试

3.1 需求评审
需求评审阶段,我们除了关注需求的合理性和价值,还要加入破坏者思维去审视这个需求——这个需求哪里有漏洞,可以让我去破坏他的规则。
比如商家做活动,评论的点赞越多就发送礼品,那么我是不是可以通过接口去不断的刷点赞,让接口tps过载,导致别人无法点赞,这样我就有更大的机会拿取礼品。所以这样就引申出来一个安全性需求——我们需要对活动的点赞和评论做限流处理。
3.2 代码、依赖安全性扫描
1.静态代码扫描(sonar)
SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
可以从七个维度检测代码质量:
(1)复杂度分布(complexity):代码复杂度过高将难以理解
(2) 重复代码(duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方
(3) 单元测试统计(unit tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况
(4) 代码规则检查(coding rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范
(5) 注释率(comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读
(6) 潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug
(7) 结构与设计(architecture & design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度
2.web安全漏洞扫描工具

参考:https://blog.csdn.net/liuhaiguang2012/article/details/79394971
参考:https://www.cnblogs.com/fulu/p/13562595.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过...
    真的有神阅读 3,949评论 0 0
  • 通过实施一个用于规范和管理项目QA工作的平台产品——HP ALM,它将完成不同开发人员,测试人员和管理人员之间的沟...
    sinocax阅读 430评论 0 1
  • 1 背景 一个项目开发必然会涉及团队协作,而工程质量就需要团队去保证。一般我们期望的代码:无潜在风险、无重复逻辑、...
    zyl06阅读 3,248评论 5 16
  • 背景 随着区块链的这2年的快速发展,Go语言和针对GO语言测试工具也越来越完善,特别是Go语言的静态代码扫描工具完...
    老余2017阅读 11,460评论 1 17
  • 由来 《Sonar code quality testing essential》一书中从七个维度定义了代码的这种...
    我为峰2014阅读 9,060评论 0 21