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

你好,我是茹炳晟,今天我和你分享的主题是:深入浅出之动态测试方法。
相较于,静态测试方法是不需要实际执行代码去发现潜在代码错误的方法,我今天要和你讨论的动态测试方法,则是要通过实际执行代码去发现潜在代码错误的测试方法。
由于自动动态方法并不能理解代码逻辑,所以仅仅被用于发现异常、崩溃和超时这类“有特征”的错误,而对于代码逻辑功能的测试,主要还是要依靠人工动态方法。
人工动态方法
人工动态方法,可以真正检测代码的业务逻辑功能,其关注点是“什么样的输入,执行了什么代码,产生了什么样的输出”,主要用于发现算法错误和部分算法错误,是最主要的代码级测试手段。
从人工动态方法的定义中,你可以很清楚地看出:代码级测试的人工动态测试方法,其实就是单元测试所采用的方法。所以,下面的分享,我会从单元测试方法的角度展开。
如果有一些代码基础,那么你在学习单元测试框架或者工具时,会感觉单元测试很简单啊,一点都不难:无非就是用驱动代码去调用被测函数,并根据代码的功能逻辑选择必要的输入数据的组合,然后验证执行被测函数后得到的结果是否符合预期。 但是,一旦要在实际项目中开展单元测试时,你会发现有很多实际的问题需要解决。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》,新⼈⾸单¥68
《软件测试 52 讲》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(12)
- 最新
- 精选
- llyl如果是遇到程序要等很久才有响应的事件,比如定时100小时后发生会什么,那这个时间要怎么处理呢?测试的话不应该要等这么久的时间吧?
作者回复: 很长时间一般是调用了后台的异步处理操作,这种情况可以考虑用mock解决,即先只验证是否后台创建了必要的job,而且相关的参数传递是否都正确,其次单独的用例在验证job实现的正确性
23 - 年轻人的瞎折腾^.感觉有点抽象,可能要多看几遍。另外打桩这种是需要开发弄好还是需要测试处理?
作者回复: 这里讲的基本都是需要开发来做的测试
1 - Jecy-8除了mock还有其他好的方法吗?期待老师指点
作者回复: 本质上就是mock了,但是mock的种类繁多,有些会提供很多特有的功能
1 - sylan2151.单元测试大部分还是需要开发做,如果测试做,那么测试人员的技术要求就比较高了; 2.可以折中的考虑是,测试提供单测需要覆盖的测试点,开发来保证测试的结果; 3.如果测试人员做单元测试,那么就需要开通代码权限,可一些公司的代码管理很严格,推动可能会比较困难,当然,如果一直有这个传统的倒还好; 4.茹老师提到的几个困难大部分是技术实现上面的,个人觉得策略制定上也有不少困难,比如之前提到的如何确定单元测试的范围(颗粒度),就是哪些代码需要做哪些不需要,这个直接影响了后续实际实施的难度,如果定的范围不好,有可能会出现所测函数的内部逻辑全部被 Mock 函数替代的情况。 以上,欢迎沟通交流,公众号「sylan215」23
- 小老鼠1,如果输入参数或数出参数是一个集合类、哈希类甚至是一个自定义类,作单元测试就复杂了。 2,若输出是个随机变量如何作单元测试,比如一个随机函数的单元测试。 3,为什么讲了那么多代码级的测试用例,不介绍语句、条件、分支、条件分支、AC/DC、路径覆盖这些概念?15
- 五花肉生成测试用例的代码模板看不懂呀~百度也搜到是什么含义 int =@a@;12
- 口水窝感觉看理论都能看懂,但是没有实践,自己说也说不出所以然,所以还是要实践,转化为自己的想法。2
- 捷后愚生这篇文章的信息量很大! 现在所在项目单元测试做不得不好,执行得不到位,学习完这篇文章之后,我想单元测试输入参数的复杂性是其中原因之一,所在单位是银行对公信贷系统,开发对信贷业务不理解,加上信贷系统对接各种外围系统,开发不了解数据流生成与走向,不少时候就做不了单元测试,或者只能做一小部分。 mock的种类繁多,老师能详细讲一下吗?觉得mock至少可以写一篇文章。 文章提到了嵌入式系统测试,没有接触过,期待老师写文章介绍一下。1
- 李丹老师,听了这章内容,受益颇深。有一点不明白希望指教。单元测试在面对方法重构时,内部调用的全局变量或者其他测试用例输入数据实现变化时,我们的单元测试用例是否也必须针对方法内部实现变化而变化?1
- 付晓杰单元测试中三个最主要的难点: 1.单元测试用例“输入参数”的复杂性; 2.单元测试用例“预期输出”的复杂性; 3.关联依赖的代码不可用。归属地:上海
收起评论