译文:fake, mock, stub, driver, simulator, dummy, double

最近在翻译时遇到一些词汇较难定夺,我的想法如下,希望得到大家的建议和意见。包括对本文内容的补充,例如其他值得参考的资料。

  1. 关于这些词汇的介绍和参考链接如下:
  2. 基本释义:
    • Fake:捏造、伪造、假货,通常和real相对应,也即真和伪的区别
    • Mock:嘲笑、假装、模仿
    • Stub:桩(CSTQB翻译)
    • Driver:驱动器(CSTQB翻译)
    • Simulator:模拟器(CSTQB翻译)
    • Dummy:傀儡、仿制品、哑巴
    • Double:复制品、替身
  3. Fake、Dummy、Double三个词汇相对来说意思相近,处在同一个抽象层级,也即主要强调“假”,和“真”对应,但三者也有一些细微的区别:
    • Fake:可以理解为假冒伪劣品……也即伪装成跟真的一样,但其实并不一样
    • Dummy:傀儡的意思非常贴切,也即和真的很像,但是没有自己的思想,完全听命行事
    • Double:替身的意思非常贴切,就像电影替身一样,替代真身,但要体现出相同的行为,可以有一定的自我意识和行为调整
  4. Mock、Stub、Driver、Simulator意思相近,处在比上述三个词汇稍低一级的抽象层级,它们之间含义的区别主要体现在具体的行为模式和行为模式是否可调整之上:
    • Mock:主要体现在模仿和操纵之上,也即伪造成真身(好比盗用他人身份证件或大学录取通知书),可以根据操纵者的心愿表现出和被模仿者不一样的行为。有驾驭的意思。
    • Stub:就是桩,主要是体现在被测功能或代码需要检查或调用其他功能或代码之时,提供一个虚假存在的“其他功能或代码”,让被测功能或代码有一种“恩,它在”的感觉即可。桩也可以接收被测功能给它发出来的信息,但并不会做出任何的回应。这个词汇通常用在自上而下方式集成测试时,用来指代被测功能下层被调用功能或代码的虚假品。可以认为它就跟稻草人、木头人差不多德性,或者把它看做是貔貅,只进不出。
    • Driver:在谈到集成测试时,和桩对应,通常是指代在自下而上方式集成测试中,用来指代被测功能上层发出指令的功能或代码的虚假品。可以理解为是一个虚假的发号司令者,被测功能需要从它这里接收到命令或指示。可以认为是《让子弹飞》中那个假黄四郎,或是日本战国时期大名常用的影武者那样的角色。
    • Simulator:译作模拟是非常贴切的,因为它需要做到的就是,成为1:1的复制品,所有的行为模式都跟真身一模一样。我认为它还可以提供类似于后门一样的功能,也即在运行中使用者(例如测试人员)可以通过一些简单的方式(例如发message给simulator)调整它的行为,因为它毕竟不是真身,只是一个架子,所以这些改变就得手动地做。但“改变”以及“改变后的行为”都和真身是一样的。
  5. 综上所述,我对于这些词汇的建议译法如下:

伪件(fake)、傀儡(dummy)、替身(double)

驭件(mock)、桩(stub)、司件(driver)、拟件(simulator)

一些建议和我的看法(不保证客观公正):

  • 不必翻译,留原文即可:以前我也这么想,但现在我更倾向于认为,既然是翻译成中文书籍,就是为了方便中文读者阅读。对于英文不甚好的读者朋友来说,直接使用的英文原文对他们来说可能并不容易理解,你可以想象你自己到日本去旅游,看见一些类中文字中间夹杂着日文字母,你也很难能够记住或者理解这些日文字的含义。对于英文比较好但也看中文书的朋友(例如我自己),他们的习惯可能并不依赖该中文译文,我就倾向于先看中文译作,译文如果能望文生义自然最好,但如果有不贴切不理解的地方,我也会再找英文原文查看理解。所以,我认为,还是应该翻译。
  • 但是翻译成中文很拗口啊:任何字词都有一个熟悉的过程,如果大家都认同这个词汇,即使它很晦涩,待到普及使用的时候,大家就会习惯使用了,因为文字始终只是一个指代作用,我们所关注的是,听到、看到某个词汇之后,在脑海中浮现出来的理解。
  • 不必要太区分这些词,大意都差不多:一定程度上来说我认同,但换句话讲,作为技术人员,我们的牛逼之处不就在于能发现别人所不能发现的细节和问题么?所以,如果这些词汇之间确实有差异,那我们作为译者不也应该要绞尽脑汁想到能够体现其真义的译文才对么?另一个原因则和我的翻译哲学有关,我认为翻译始终是一份“复述性质”的工作,所以务必不能添加进入任何个人的看法和情感,去妄自揣测某些字词的意思,“复述”就要完完全全地体现原作者的意思才对,如原文愚笨、啰嗦,那么译文也要愚笨、啰嗦,才算是“好翻译”(别误会,这并不是说它也是“好文章”)。
  • 我认为应该要翻译这些词汇,但针对这些较难分辨的词汇也要一并提供英文原文,采取例如“伪件(fake object)”这样的文字。用中文,其作用前面已经介绍了;附加英文,是为了作为过渡,以便于看得云里雾里的朋友可以根据英文自行找解释找信息、便于有翻译兴趣或能力的朋友提供意见和建议译文、便于读者针对这个词汇的翻译提出任何的意见和建议,等等。
About

Xu Yi is a professional Agile & Lean Coach, check out more at http://kaverjody.com/about/.

One comment on “译文:fake, mock, stub, driver, simulator, dummy, double
  1. Gavin says:

    有道理。第一次接触到翻译词,感觉有点别扭,幸好是和原词一起提供的。估计用久了,用广泛了,也许就觉得还好

Leave a Reply