软件测试52讲
茹炳晟
eBay中国研发中心,测试基础架构技术主管
立即订阅
13351 人已学习
课程目录
已完结 63 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从“小工”到“专家”,我的软件测试修炼之道
免费
测试基础知识篇 (11讲)
01 | 你真的懂测试吗?从“用户登录”测试谈起
02 | 如何设计一个“好的”测试用例?
03 | 什么是单元测试?如何做好单元测试?
04 | 为什么要做自动化测试?什么样的项目适合做自动化测试?
05 | 你知道软件开发各阶段都有哪些自动化测试技术吗?
06 | 你真的懂测试覆盖率吗?
07 | 如何高效填写软件缺陷报告?
08 | 以终为始,如何才能做好测试计划?
09 | 软件测试工程师的核心竞争力是什么?
10 | 软件测试工程师需要掌握的非测试知识有哪些?
11 | 互联网产品的测试策略应该如何设计?
GUI自动化测试篇 (10讲)
12 | 从0到1:你的第一个GUI自动化测试
13 | 效率为王:脚本与数据的解耦 + Page Object模型
14 | 更接近业务的抽象:让自动化测试脚本更好地描述业务
15 | 过不了的坎:聊聊GUI自动化过程中的测试数据
16 | 脑洞大开:GUI测试还能这么玩(Page Code Gen + Data Gen + Headless)?
17 | 精益求精:聊聊提高GUI测试稳定性的关键技术
18 | 眼前一亮:带你玩转GUI自动化的测试报告
19 | 真实的战场:如何在大型项目中设计GUI自动化测试策略
20 | 与时俱进:浅谈移动应用测试方法与思路
21 | 移动测试神器:带你玩转Appium
API自动化测试篇 (3讲)
22 | 从0到1:API测试怎么做?常用API测试工具简介
23 | 知其然知其所以然:聊聊API自动化测试框架的前世今生
24 | 紧跟时代步伐:微服务模式下API测试要怎么做?
代码测试篇 (3讲)
25 | 不破不立:掌握代码级测试的基本理念与方法
26 | 深入浅出之静态测试方法
27 | 深入浅出之动态测试方法
性能测试篇 (7讲)
28 | 带你一起解读不同视角的软件性能与性能指标
29 | 聊聊性能测试的基本方法与应用领域
30 | 工欲善其事必先利其器:后端性能测试工具原理与行业常用工具简介
31 | 工欲善其事必先利其器:前端性能测试工具原理与行业常用工具简介
32 | 无实例无真相:基于LoadRunner实现企业级服务器端性能测试的实践(上)
33 | 无实例无真相:基于LoadRunner实现企业级服务器端性能测试的实践(下)
34 | 站在巨人的肩膀:企业级实际性能测试案例与经验分享
测试数据准备篇 (4讲)
35 | 如何准备测试数据?
36 | 浅谈测试数据的痛点
37 | 测试数据的“银弹”- 统一测试数据平台(上)
38 | 测试数据的“银弹”- 统一测试数据平台(下)
测试基础架构篇 (4讲)
39 | 从小作坊到工厂:什么是Selenium Grid?如何搭建Selenium Grid?
40 | 从小工到专家:聊聊测试执行环境的架构设计(上)
41 | 从小工到专家:聊聊测试执行环境的架构设计(下)
42 | 实战:大型全球化电商的测试基础架构设计
测试新技术篇 (5讲)
43 | 发挥人的潜能:探索式测试
44 | 测试先行:测试驱动开发(TDD)
45 | 打蛇打七寸:精准测试
46 | 安全第一:渗透测试
47 | 用机器设计测试用例:基于模型的测试
测试人员的互联网架构核心知识篇 (5讲)
48 | 优秀的测试工程师为什么要懂大型网站的架构设计?
49 | 深入浅出网站高性能架构设计
50 | 深入浅出网站高可用架构设计
51 | 深入浅出网站伸缩性架构设计
52 | 深入浅出网站可扩展性架构设计
特别放送篇 (8讲)
测试专栏特别放送 | 答疑解惑第一期
测试专栏特别放送 | 答疑解惑第二期
测试专栏特别放送 | 答疑解惑第三期
测试专栏特别放送 | 答疑解惑第四期
测试专栏特别放送 | 答疑解惑第五期
测试专栏特别放送 | 答疑解惑第六期
测试专栏特别放送 | 答疑解惑第七期
测试专栏特别放送 | 浅谈全链路压测
测一测 (1讲)
测一测 | 这些软件测试题目,你都掌握了吗?
结束语 (1讲)
结束语 | 不是结束,而是开始
软件测试52讲
登录|注册

26 | 深入浅出之静态测试方法

茹炳晟 2018-08-27
你好,我是茹炳晟,今天我和你分享的主题是:深入浅出之静态测试方法。
我在分享《不破不立:掌握代码级测试的基本理念与方法》这个主题时,系统地介绍了代码级测试常见的五种错误类型(包括语法特征错误、边界行为特征错误、经验特征错误、算法错误,以及部分算法错误),以及对应的四大类测试方法(包括人工静态方法、自动静态方法、人工动态方法,以及自动动态方法)。
今天,我将和你详细讨论人工静态测试方法和自动静态测试方法,来帮你理解研发流程上是如何保证代码质量的,以及如何搭建自己的自动静态代码扫描方案,并且应用到项目的日常开发工作中去。
人工静态方法本质上属于流程上的实践,实际能够发现问题的数量很大程度依赖于个人的能力,所以从技术上来讲这部分内容可以讨论的点并不多。但是,这种方法已经在目前的企业级测试项目中被广泛地应用了,所以我们还是需要理解这其中的流程,才能更好地参与到人工静态测试中。
而自动静态方法,可以通过自动化的手段,以很低的成本发现并报告各种潜在的代码质量问题,目前已经被很多企业和项目广泛采用,并且已经集成到 CI/CD 流水线了。作为测试工程师,我们需要完成代码静态扫描环境的搭建。接下来我会重点和你分享这一部分内容。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《软件测试52讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(15)

  • 缪倩
    我们是小公司,一直觉得自动静态代码是大公司专属的,看了这篇文章,我居然也装出来一个sonar环境,接下来打算在公司里面推广用起来了,收获满满!
    2018-08-28
    1
    7
  • Jia
    静态代码扫描工具,都有自己的语言偏好性,和扫描偏好性。所以最好的方法是多用几个工具,综合来看。

    常见的工具包括收费的企业级应用,比如Coverity。

    其它免费的应用,比如Findbugs(Spotbugs), Java Checker Framework, PREfast, Splint, SPIN, Microsoft SLAM, PMD, Facebook Infer.

    当然,如果用KLEE, LLVM, Clang, 也可以订制出自己扫描偏好的工具。
    2018-08-27
    5
  • sylan215

    1.人工静态方法,这个要看项目开发的习惯和良心了,貌似国内这部分做的并不好,所以很多功能测试都能发现不少的低级错误,相对来说,国外这块更成熟一些,特别是一些推崇「去 QE 化」的公司。

    2.自动静态方法相对来说,还是比较靠谱的,毕竟一条规则可以适用于所有项目,一次投入可以有一直产出的效果,目前主要存在规则范围,以及规则准确度的问题,然后就是通用检测工具和定制检测工具的选型等问题。

    3.我们公司的人工静态方法是有一个开发代码 Review 阶段,自动静态方法是有一个定制开发的代码红线扫描规则,每次编译时自动扫描,效果还挺好,可以规避大部分的低级错误。

    以上,欢迎沟通交流,公众号「sylan215」
    2018-08-27
    5
  • 姜姜
    python代码的静态扫描可以用sonar吗?
    2018-08-30
    2
  • Jia
    对于前面的提问,用sonar来分析C语言,请参考https://docs.sonarqube.org/plugins/servlet/mobile?contentId=7996665#content/view/7996665
    需要用到developer license, 是收费的。
    2018-08-27
    2
  • Struggling
    之前公司用fortify,也是通过Jenkins 集成每次提交代码自动扫描

    作者回复: 嗯嗯,fortify也是用得比较多的,不过近几年好像sonar更主流了

    2018-09-02
    1
  • Sudouble
    这个实在是太棒了,一直想提高代码质量不高,并能找到代码中隐藏的问题,一直没有想到合适方法。代码静态分析工具,很赞!
    2019-08-30
  • 芳菲菲兮满堂
    老师 cpp的扫描工具有哪些呢?
    2019-05-25
  • 口水窝
    Sonar没用过,学习,打卡。
    2019-04-23
  • 小老鼠
    sonar支持哪些语言
    2018-11-07
  • He, meng
    同问sonar有没有嵌入式C代码的自动扫描功能
    2018-10-22
  • 中艳
    sonar是否适用于java代码吗?

    作者回复: 完全适合,而且也支持很多其他的语言

    2018-09-28
  • arthur
    sonar是个特别好的工具,还可以自定义很多规则进行扫描。
    Python中可以pylint进行检查,也很方便。

    作者回复: 是的,扩展性很强,很好的补充

    2018-09-03
  • 涅槃Ls
    打卡26

    作者回复: 感谢支持

    2018-09-03
  • sonar是否适用于C语言,有没有嵌入式的自动静态检查方法的
    2018-08-27
收起评论
15
返回
顶部