26 | 深入浅出之静态测试方法
茹炳晟
该思维导图由 AI 生成,仅供参考
你好,我是茹炳晟,今天我和你分享的主题是:深入浅出之静态测试方法。
我在分享《不破不立:掌握代码级测试的基本理念与方法》这个主题时,系统地介绍了代码级测试常见的五种错误类型(包括语法特征错误、边界行为特征错误、经验特征错误、算法错误,以及部分算法错误),以及对应的四大类测试方法(包括人工静态方法、自动静态方法、人工动态方法,以及自动动态方法)。
今天,我将和你详细讨论人工静态测试方法和自动静态测试方法,来帮你理解研发流程上是如何保证代码质量的,以及如何搭建自己的自动静态代码扫描方案,并且应用到项目的日常开发工作中去。
人工静态方法本质上属于流程上的实践,实际能够发现问题的数量很大程度依赖于个人的能力,所以从技术上来讲这部分内容可以讨论的点并不多。但是,这种方法已经在目前的企业级测试项目中被广泛地应用了,所以我们还是需要理解这其中的流程,才能更好地参与到人工静态测试中。
而自动静态方法,可以通过自动化的手段,以很低的成本发现并报告各种潜在的代码质量问题,目前已经被很多企业和项目广泛采用,并且已经集成到 CI/CD 流水线了。作为测试工程师,我们需要完成代码静态扫描环境的搭建。接下来我会重点和你分享这一部分内容。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了代码级测试方法中的静态测试方法,包括人工静态方法和自动静态方法。在人工静态方法中,详细介绍了代码走查、结对编程和同行评审的执行方式和实际应用情况。自动静态方法相比编译器具有更严格、个性化的检查能力,并能以极低成本发现多种代码问题。通过实际案例展示了自动静态方法在检查语法特征错误和内存空间释放后继续被赋值错误方面的应用。文章还介绍了如何搭建自动静态代码扫描方案并应用到项目的日常开发工作中,以及如何将SonarQube服务器与Maven项目集成,实现实时的自动静态分析。总的来说,本文以深入浅出的方式介绍了静态测试方法在代码质量控制和度量中的重要性,为读者提供了实用的技术指导和思考题,帮助他们解决实际工作中遇到的问题。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》,新⼈⾸单¥68
《软件测试 52 讲》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(23)
- 最新
- 精选
- arthursonar是个特别好的工具,还可以自定义很多规则进行扫描。 Python中可以pylint进行检查,也很方便。
作者回复: 是的,扩展性很强,很好的补充
2018-09-034 - Jecy-8之前公司用fortify,也是通过Jenkins 集成每次提交代码自动扫描
作者回复: 嗯嗯,fortify也是用得比较多的,不过近几年好像sonar更主流了
2018-09-021 - 中艳sonar是否适用于java代码吗?
作者回复: 完全适合,而且也支持很多其他的语言
2018-09-28 - 涅槃Ls打卡26
作者回复: 感谢支持
2018-09-03 - 缪倩我们是小公司,一直觉得自动静态代码是大公司专属的,看了这篇文章,我居然也装出来一个sonar环境,接下来打算在公司里面推广用起来了,收获满满!2018-08-28121
- Jia静态代码扫描工具,都有自己的语言偏好性,和扫描偏好性。所以最好的方法是多用几个工具,综合来看。 常见的工具包括收费的企业级应用,比如Coverity。 其它免费的应用,比如Findbugs(Spotbugs), Java Checker Framework, PREfast, Splint, SPIN, Microsoft SLAM, PMD, Facebook Infer. 当然,如果用KLEE, LLVM, Clang, 也可以订制出自己扫描偏好的工具。2018-08-2713
- sylan2151.人工静态方法,这个要看项目开发的习惯和良心了,貌似国内这部分做的并不好,所以很多功能测试都能发现不少的低级错误,相对来说,国外这块更成熟一些,特别是一些推崇「去 QE 化」的公司。 2.自动静态方法相对来说,还是比较靠谱的,毕竟一条规则可以适用于所有项目,一次投入可以有一直产出的效果,目前主要存在规则范围,以及规则准确度的问题,然后就是通用检测工具和定制检测工具的选型等问题。 3.我们公司的人工静态方法是有一个开发代码 Review 阶段,自动静态方法是有一个定制开发的代码红线扫描规则,每次编译时自动扫描,效果还挺好,可以规避大部分的低级错误。 以上,欢迎沟通交流,公众号「sylan215」2018-08-277
- 姜姜python代码的静态扫描可以用sonar吗?2018-08-3014
- Jia对于前面的提问,用sonar来分析C语言,请参考https://docs.sonarqube.org/plugins/servlet/mobile?contentId=7996665#content/view/7996665 需要用到developer license, 是收费的。2018-08-272
- h之前公司用的coverity和klocwork2020-01-131
收起评论