伪件(fake)、傀儡(dummy)、替⾝(double)驭件
(mock)、桩(stub)。。。
最近在翻译时遇到⼀些词汇较难定夺,我的想法如下,希望得到⼤家的建议和意见。包括对本⽂内容的补充,例如其他值得参考的资料。1. 关于这些词汇的介绍和参考链接如下:
上关于Mock Object的描述:
上述页⾯中对Mock、Fake、Stub的⽐较:
《The Art of Unit Testing》⽹站:
《xUnit Partterns》⽹站上对它们的⽐较:
Martin Fowler的⽂章“Mocks Aren’t Stubs”:
ISTQB软件测试专业术语对照表v2.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 object)”这样的⽂字。⽤中⽂,其作⽤前⾯已经介绍了;附加英⽂,是为了作为过渡,以便于看得云⾥雾⾥的朋友可以根据英⽂⾃⾏解释信息、便于有翻译兴趣或能⼒的朋友提供意见和建议译⽂、便于读者针对这个词汇的翻译提出任何的意见和建议,等等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论