本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 746|回复: 0
打印 上一主题 下一主题

[上海GDG]1月28日互联网测试专题之二- 【变异测试 - 一种改善代码和测试的新方法 】

[复制链接]
跳转到指定楼层
1#
发表于 2015-2-12 18:05:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jensery 于 2015-2-15 18:46 编辑

话题名称: 变异测试 - 一种改善代码和测试的新方法(Mutation Test - A New Way to Improve Code and Test)
活动场地: Autodesk办公室
活动时间:2015年1月28日7:30PM-9:00PM
讲师介绍:姚若舟(Joseph), Odd-e敏捷教练,软件工匠, CSP,CSM,CSPO。他拥有超过14年的软件开发经验(涉及互联网,移动和桌面软件),为团队提供专业的敏捷实践的教导和培训。他是中国敏捷社区的积极参与者,是敏捷之旅2011上海站和2012 Scrum Gathering大会的组织者,以及2013Scrum Gathering大会的话题评审会成员。他对软件工艺的各类实践(如编写高可读性代码,单元测试,重构,遗留代码隔离,测试驱动开发(TDD),软件设计等)有着深入的了解和丰富的实战经验,同时非常熟悉Java等多种编程语言。他是软件工艺宣言中文版翻译的发起人,从2011年开始坚持每天通过Coding Kata来不断提高自己的编程技巧,并在不少公司,社区沙龙和会议中组织过许多次代码道场(CodingDojo)和Code retreat的活动。
话题介绍: 变异测试(Mutation Test) 指的是先把一个变异 (Mutation) 放入你的代码,运行测试, 然后再看是否会有测试失败. “变异” 指的是对产品代码的一个改变, 这种改变会导致代码的行为发生变化。 如果说产品代码“刚好够” 通过测试的话 (没有任何冗余的最简代码), 那么任何“变异” 都应该导致测试失败。 如果测试没有失败, 那我们会说测试无法 “杀死” 这个变异。同时,这就说明测试代码或者产品代码可能有问题, 我们可以从中得到代码学习和改进的机会。
通过测试驱动开发 (TDD) 来写代码, 我们应该会得到 “刚好够” 的代码来通过所有的测试。但是, 我们怎么知道我们做到了这一点呢?有时, 因为写测试和写代码在 TDD 中是非常交互的, 我们有可能没有选择最简单的代码来通过测试。 这意味着我们可能写了一些代码并不是由测试所驱动出来的(代码臭味)。 另一方面, 我们可能在TDD 时遗漏一些重要的测试, 又或者写出一些 “非常弱” 的测试,原因是有时候代码对我们来说太过于直接了 (测试代码臭味)。 通过应用 “变异测试” 的思想和方法, 我们可以找到那些代码和测试代码中的臭味,从而提高代码的质量。
在这个话题中, Joseph将首先介绍什么是 “变异测试” 以及为什么我们可以通过他来获得改善我们代码和测试的机会。然后, 他会分享一个代码应用 “变异测试” 的实例以及从中学到的东西。



DSC_3172.JPG (72.83 KB, 下载次数: 24)

DSC_3172.JPG

DSC_3192.JPG (65.86 KB, 下载次数: 23)

参会者合影

参会者合影

DSC_3179.JPG (38.99 KB, 下载次数: 22)

众粉丝听的聚精会神

众粉丝听的聚精会神

20150128_195418.jpg (97.16 KB, 下载次数: 22)

20150128_195418.jpg

20150128_195413.jpg (116.01 KB, 下载次数: 23)

20150128_195413.jpg

20150128_195405.jpg (86.09 KB, 下载次数: 23)

20150128_195405.jpg

20150128_193618.jpg (100.48 KB, 下载次数: 22)

20150128_193618.jpg
ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表