V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Shaman
V2EX  ›  GDG

[上海 GDG] 变异测试 - 一种改善代码和测试的新方法 (本次邀请了 Odd-e 的大神 Joseph)

  •  
  •   Shaman · 2015-01-21 11:44:46 +08:00 · 2537 次点击
    这是一个创建于 3592 天前的主题,其中的信息可能已经有所发展或是发生改变。
    讲师介绍:姚若舟(Joseph), Odd-e敏捷教练,软件工匠, CSP,CSM,CSPO。他拥有超过14年的软件开发经验(涉及互联网,移动和桌面软件),为团队提供专业的敏捷实践的教导和培训。他是中国敏捷社区的积极参与者,是敏捷之旅2011上海站和2012 Scrum Gathering大会的组织者,以及2013 Scrum Gathering大会的话题评审会成员。他对软件工艺的各类实践(如编写高可读性代码,单元测试,重构,遗留代码隔离,测试驱动开发(TDD),软件设计等)有着深入的了解和丰富的实战经验,同时非常熟悉Java等多种编程语言。他是软件工艺宣言中文版翻译的发起人,从2011年开始坚持每天通过Coding Kata来不断提高自己的编程技巧,并在不少公司,社区沙龙和会议中组织过许多次代码道场(Coding Dojo)和Code retreat的活动。



    话题介绍: 变异测试 (Mutation Test) 指的是先把一个变异 (Mutation) 放入你的代码, 运行测试, 然后再看是否会有测试失败. “变异” 指的是对产品代码的一个改变, 这种改变会导致代码的行为发生变化。 如果说产品代码 “刚好够” 通过测试的话 (没有任何冗余的最简代码), 那么任何 “变异” 都应该导致测试失败。 如果测试没有失败, 那我们会说测试无法 “杀死” 这个变异。同时, 这就说明测试代码或者产品代码可能有问题, 我们可以从中得到代码学习和改进的机会。



    通过测试驱动开发 (TDD) 来写代码, 我们应该会得到 “刚好够” 的代码来通过所有的测试。但是, 我们怎么知道我们做到了这一点呢? 有时, 因为写测试和写代码在 TDD 中是非常交互的, 我们有可能没有选择最简单的代码来通过测试。 这意味着我们可能写了一些代码并不是由测试所驱动出来的 (代码臭味)。 另一方面, 我们可能在 TDD 时遗漏一些重要的测试, 又或者写出一些 “非常弱” 的测试, 原因是有时候代码对我们来说太过于直接了 (测试代码臭味)。 通过应用 “变异测试” 的思想和方法, 我们可以找到那些代码和测试代码中的臭味, 从而提高代码的质量。



    在这个话题中, Joseph将首先介绍什么是 “变异测试” 以及为什么我们可以通过他来获得改善我们代码和测试的机会。 然后, 他会分享一个代码应用 “变异测试” 的实例以及从中学到的东西。



    时间: 2015年1月28日(周三)晚7:30-9:00

    地点: 浦电路399号Autodesk办公室B栋1楼TrainingRoom1

    报名: https://www.jinshuju.net/f/0qpioR


    主办方:

    谷歌开发者社区是谷歌支持的第三方开放社区,主要面向谷歌开发技术、互联网及移动互联网技术、创新创业人员举办活动,旨在推动互联网及移动互联网的开发和创新。有任何问题,请发邮件到: [email protected] 咨询。
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 20:04 · PVG 04:04 · LAX 12:04 · JFK 15:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.