托福模拟试题 -TPO21-讲座2- 题目详解以及译文

时间 : 2013-07-11 00:14来源 : VOA官网 收听下载次数 :
下载音频

1 答案:C

解析:通过全文可知,教授举了两个团队的例子进行比较,两个团队团员角色关系不同,引出的结果不同,证明了一个观点:产生一个好的软件需要有团队各个角色(文中即developer和tester)合作。

2 答案:B

解析:Professor: ... back in the 1940s, when the computer industry was just starting, a group of computer scientists was working late one night, and there was a problem in one of the computers’ circuits1. When they examined it, they found a five-centimeter long moth caught in there. Once they debugged the computer, it worked just fine. And ever since then, all kinds of computer problems have been known as bugs. 以上的讲解详细解释了bug 一词被用作表示computer problem 的来源。

3 答案:AD

解析:Professor: ...because developers often have a bias for their own work, and it blinds them to certain problems that might be obvious to somebody else. ... The mentality of the software developer is constructive, creative, they are spending long hours working together to create and build something new. 教授指出,developer 1. is creative, 2. 因为他们自己码的代码,有时会导致他们发现不了问题。

4 答案:C

解析:Student: Ok, and what about Project Unity? How was it different? Professor: Um... this was different because two teams worked closely together during the defect meetings, instead of put up walls. 从对话可知,在Project Unity 中,developer 和tester 之间并未产生敌对的心理。

5 答案:D

解析:Professor: ...we ended up having to put the product on the market with known bugs in it, which was obviously not ideal. 教授在谈到Project Split 的结果时,表示最后不得不将存在已知bugs 的产品投入市场,即产品质量是较差的。
 

教授:之前我们一直在讲软件开发周期,今天我们进入下一阶段的讨论-----软件测试,以及为何在测试过程中找到bug是件好事。呃,软件产品的质量往往很大程度在取决于它的测试情况。利兹,有什么问题吗?

学生:就一个小小的问题,bug是指编程码存在的问题是吗?

教授:是的,编程码或者计算机本身存在的问题都叫bug. 其实这个术语的背后还有一个小故事。恩,追溯到20世纪40年代,那还是计算机产业刚刚起步的时候,几个计算机科学家一直工作到很晚,因为计算机的一个回路出现了问题。当他们去检查的时候,发现一个五公分的飞蛾卡在了那里。当他们拿走飞蛾以后,计算机就恢复正常工作了。从此以后,所有计算机的问题都被称为bug了。不管怎么说,bugs最好是在开发或者测试阶段就被发现。如果当软件产品已经投放市场了才发现bug的话,局势就会比较尴尬了。大致来讲,每个软件工程都有一组开发人员和一组测试人员,杰克?

学生:他们都是不同的人吗?

教授:大致来说他们是由两组完全不同的人组成。我个人的观点是开发人员和测试人员一定要是由两组不同的人来组成,因为软件开发人员总会自己的作品有些偏爱,这就导致他们忽视一些其他人看起来很明显的问题。所以说有不同的人来参与到项目中来的话,会使测试更完善。好啦,其实是这样,开发人员与测试人员的心态是不一样的。软件开发人员是有建设性、有创意性,他们往往花大量的时间来共同创建新的产品。而软件测试人员的主要任务就是观察这些产品并发现问题,然后来提升软件的质量。那么软件开发人员和测试人员之间的不同就会引起一点小摩擦。这种摩擦有时就会使开发人员和测试人员很难在一起协调的工作。两三年前我参与了两个项目。我称其中的一个为分离项目组,这组的开发人员和测试人员就很难在一起共事。另一组我称之为团结项目组,这组人员就合作起来很愉快。第一组人员在进行缺陷讨论会议时,也就是开发人员和测试人员在一起讨论各种各样的问题并找出解决方案, 你在一进入会议室的时候将就能感到那种紧张的气氛。准确来讲是,测试人员和开发人员完全对立来坐。呃,而且开发人员对收到的反馈总是持有怀疑的态度。

学生:恩,当bugs被指出的时候他们肯定不会开心,毕竟那是他们做的产品嘛。

教授:的确如此。正因为这两组人员不能协调的工作,所以修正工作总是进行的很缓慢。而且正如你们所知道的,有些时候当你在修正 bugs 的时候又会引发一些新的bugs,或者在进行了一些调整之后,新的bugs才显现出来,所以说这些新加的bugs总是未能及时修复。呃,测试的过程比预期的要长得多,我们最终就不得不将存有 bugs 的产品投放市场,当然这并不是明智之举。

学生:好的,那么团结项目组呢?有何不同吗?

教授:恩,这组的不同之处体现于缺陷讨论会上,开发人员和测试人员并没有产生对立的局势,而是很好的进行协作。呃,我们甚至无需指明谁来进行修复,这又是谁的错。我们也都知道到底哪些地方需要修复。所以,假如说我们有十个bugs,我们就会说“嘿,不如这样吧,我们先来修复这个吧”,因为这样就可以显露出一系列我们还没有发现的缺陷问题。因为我们也很有前瞩性和效率性。正因为我们做事很有效率,事实上我们总能不仅仅是修复了bugs,还能注入一些之前没有计划过的升级元素。