软件测试52讲
茹炳晟
eBay中国研发中心,测试基础架构技术主管
立即订阅
13425 人已学习
课程目录
已完结 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讲
登录|注册

27 | 深入浅出之动态测试方法

茹炳晟 2018-08-29
你好,我是茹炳晟,今天我和你分享的主题是:深入浅出之动态测试方法。
相较于,静态测试方法是不需要实际执行代码去发现潜在代码错误的方法,我今天要和你讨论的动态测试方法,则是要通过实际执行代码去发现潜在代码错误的测试方法。
正如我在分享《不破不立:掌握代码级测试的基本理念与方法》这个主题时,将动态测试方法进一步划分为人工动态方法和自动动态方法,今天这次关于动态测试方法的分享,我也会从这两个方面展开。
由于自动动态方法并不能理解代码逻辑,所以仅仅被用于发现异常、崩溃和超时这类“有特征”的错误,而对于代码逻辑功能的测试,主要还是要依靠人工动态方法。

人工动态方法

人工动态方法,可以真正检测代码的业务逻辑功能,其关注点是“什么样的输入,执行了什么代码,产生了什么样的输出”,主要用于发现算法错误和部分算法错误,是最主要的代码级测试手段。
从人工动态方法的定义中,你可以很清楚地看出:代码级测试的人工动态测试方法,其实就是单元测试所采用的方法。所以,下面的分享,我会从单元测试方法的角度展开。
如果有一些代码基础,那么你在学习单元测试框架或者工具时,会感觉单元测试很简单啊,一点都不难:无非就是用驱动代码去调用被测函数,并根据代码的功能逻辑选择必要的输入数据的组合,然后验证执行被测函数后得到的结果是否符合预期。 但是,一旦要在实际项目中开展单元测试时,你会发现有很多实际的问题需要解决。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《软件测试52讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • sylan215

    1.单元测试大部分还是需要开发做,如果测试做,那么测试人员的技术要求就比较高了;

    2.可以折中的考虑是,测试提供单测需要覆盖的测试点,开发来保证测试的结果;

    3.如果测试人员做单元测试,那么就需要开通代码权限,可一些公司的代码管理很严格,推动可能会比较困难,当然,如果一直有这个传统的倒还好;

    4.茹老师提到的几个困难大部分是技术实现上面的,个人觉得策略制定上也有不少困难,比如之前提到的如何确定单元测试的范围(颗粒度),就是哪些代码需要做哪些不需要,这个直接影响了后续实际实施的难度,如果定的范围不好,有可能会出现所测函数的内部逻辑全部被 Mock 函数替代的情况。

    以上,欢迎沟通交流,公众号「sylan215」
    2018-08-29
    10
  • 小老鼠
    1,如果输入参数或数出参数是一个集合类、哈希类甚至是一个自定义类,作单元测试就复杂了。
    2,若输出是个随机变量如何作单元测试,比如一个随机函数的单元测试。
    3,为什么讲了那么多代码级的测试用例,不介绍语句、条件、分支、条件分支、AC/DC、路径覆盖这些概念?
    2018-11-07
    2
  • 牺牲
    自动动态方法,我明白动态,但是这个自动是如何实现的呢?使用工具吗?
    2019-09-05
  • 口水窝
    感觉看理论都能看懂,但是没有实践,自己说也说不出所以然,所以还是要实践,转化为自己的想法。
    2019-04-23
  • 年轻人的瞎折腾^.
    感觉有点抽象,可能要多看几遍。另外打桩这种是需要开发弄好还是需要测试处理?

    作者回复: 这里讲的基本都是需要开发来做的测试

    2018-12-29
  • llyl
    如果是遇到程序要等很久才有响应的事件,比如定时100小时后发生会什么,那这个时间要怎么处理呢?测试的话不应该要等这么久的时间吧?

    作者回复: 很长时间一般是调用了后台的异步处理操作,这种情况可以考虑用mock解决,即先只验证是否后台创建了必要的job,而且相关的参数传递是否都正确,其次单独的用例在验证job实现的正确性

    2018-09-07
    1
  • Struggling
    除了mock还有其他好的方法吗?期待老师指点

    作者回复: 本质上就是mock了,但是mock的种类繁多,有些会提供很多特有的功能

    2018-09-03
收起评论
7
返回
顶部