软件测试求生法则
基本信息
- 原书名: Surviving the Top Ten Challenges of Software Testing : A People-Oriented Approach
- 原出版社: Dorset House
- 作者: William E.Perry Randall W.Rice [作译者介绍]
- 译者: 周震
- 丛书名: 软件管理与软件工程译丛
- 出版社:清华大学出版社
- ISBN:7302075328
- 上架时间:2004-2-4
- 出版日期:2004 年2月
- 开本:32开
- 页码:300
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 软件质量、软件测试及维护
编辑推荐
成功的软件测试仅仅凭借技术能力是远远不够的,软件测试还需要技术以外的东西——人际沟通和交往能力。作者积累数十年软件开发和测试经验,揭示出软件测试面临的几大人际挑战,包括获得软件培训、与开发人员保持良好关系、争取管理人员的支持、与客户保持交流、满足不断变化的需求以及如何学会说不——报告软件测试的坏消息等,并且通过具体的案例讲述了解决这些挑战的策略性方法。
内容简介回到顶部↑
[a href="http://www.china-pub.com/computers/ebook15001-20000/16826/qianyan.zip" target="_blank"][font color="#ff6600"]测试是如何考查测试人员的[/font][/a]
软件中的错误几乎总会导致开发成本、进度和质量的失控。当所有的人都认为软件可以投入生产的时候,测试却通不过,于是项目延期、成本超支等问题都来了,测试人员就成为责无旁贷的受过者。现实中,测试人员总会处于开发人员和管理人员的"两败俱伤"的困境。 成功的软件测试仅仅凭借技术能力是远远不够的,软件测试还需要技术以外的东西--人际沟通和交往能力。作者积累数十年软件开发和测试经验,揭示出软件测试面临的十大人际挑战,包括获得软件培训、与开发人员保持良好关系、争取管理人员的支持、与客户保持交流、满足不断变化的需求以及如何学会说不--报告软件测试的坏消息等,并且通过具体的案例进述了解决这些挑战的策略性方法。 本书的特色在于强调软件测试中所需要的人际沟通和谈判能力,教给测试人员处理"办公室政治"的技巧。从而保证按时高效的交付软件项目。 独特的视角和生动的语言,本书是广大软件开发和测试人员的必备指南。
软件中的错误几乎总会导致开发成本、进度和质量的失控。当所有的人都认为软件可以投入生产的时候,测试却通不过,于是项目延期、成本超支等问题都来了,测试人员就成为责无旁贷的受过者。现实中,测试人员总会处于开发人员和管理人员的"两败俱伤"的困境。 成功的软件测试仅仅凭借技术能力是远远不够的,软件测试还需要技术以外的东西--人际沟通和交往能力。作者积累数十年软件开发和测试经验,揭示出软件测试面临的十大人际挑战,包括获得软件培训、与开发人员保持良好关系、争取管理人员的支持、与客户保持交流、满足不断变化的需求以及如何学会说不--报告软件测试的坏消息等,并且通过具体的案例进述了解决这些挑战的策略性方法。 本书的特色在于强调软件测试中所需要的人际沟通和谈判能力,教给测试人员处理"办公室政治"的技巧。从而保证按时高效的交付软件项目。 独特的视角和生动的语言,本书是广大软件开发和测试人员的必备指南。
作译者回到顶部↑
本书提供作译者介绍
作者简介:
威廉·派瑞(William E. Perry),奥兰多质量保证协会(QAI)执行主席。著有五十多部关于质量保证和数据处理的专业著作。拥有丰富的工业实践经验,曾出任1988年度和1989年度马尔科姆·巴德莱斯国家质量奖评选委员会委员。
兰德尔·莱斯(Randall W. Rice),软件和系统测试方面的资深顾问。俄克拉何马城质量保证协会年度国际软件测试会议主席。经常发表有关软件测试的演讲和文章。《软件质量顾问》新闻组的专栏作家和编辑。
译者简介:
周震,毕业于北京邮电大.. << 查看详细
威廉·派瑞(William E. Perry),奥兰多质量保证协会(QAI)执行主席。著有五十多部关于质量保证和数据处理的专业著作。拥有丰富的工业实践经验,曾出任1988年度和1989年度马尔科姆·巴德莱斯国家质量奖评选委员会委员。
兰德尔·莱斯(Randall W. Rice),软件和系统测试方面的资深顾问。俄克拉何马城质量保证协会年度国际软件测试会议主席。经常发表有关软件测试的演讲和文章。《软件质量顾问》新闻组的专栏作家和编辑。
译者简介:
周震,毕业于北京邮电大.. << 查看详细
目录回到顶部↑
第一章 测试是如何考查测试人员的 7
测试人员的世界 7
测试人员1与测试人员2 8
"人际"因素挑战的根本来源 9
测试人员面临的十大"人际"挑战 11
如何使用本书 15
第二章 软件测试考验你吗? 17
为什么需要自我评估 17
获得成功的必要条件 17
如何进行自我评估 18
总结自我评估的结果 21
分析自我评估结果 22
结论1 总体评价 22
结论2 个别评价 23
第三章 挑战10 获得软件测试培训 25
概述 25
案例分析 25
他们做错了什么? 26
对测试的影响 27
技术分类和描述 27
测试人员的世界 7
测试人员1与测试人员2 8
"人际"因素挑战的根本来源 9
测试人员面临的十大"人际"挑战 11
如何使用本书 15
第二章 软件测试考验你吗? 17
为什么需要自我评估 17
获得成功的必要条件 17
如何进行自我评估 18
总结自我评估的结果 21
分析自我评估结果 22
结论1 总体评价 22
结论2 个别评价 23
第三章 挑战10 获得软件测试培训 25
概述 25
案例分析 25
他们做错了什么? 26
对测试的影响 27
技术分类和描述 27
译者序回到顶部↑
算算走出校门,加入一家合资软件公司,成为一名所谓"IT精英"也有不短的时间了。开始参与的项目基本上都是套用外方使用多年的开发模式,无庸置疑,开发流程既成熟又稳定,从需求分析到方案设计,从编码到测试,大部分项目都进行地波澜不惊,产品质量有保证,项目也总能准时完成。不由得悠悠然起来,觉得这看似高深莫测的"高新技术"工作也不过如此。不过,四平八稳的日子渐渐过去了,新项目越来越多,新需求,新概念,新方法接踵而至,慢慢的发现自己的知识体系已然落伍,正所谓"逆水行舟,不进则退",若是再不开始学习新知识,新技术,就只有被淘汰出局的份了。
其实,整个软件行业何尝不是如此。从十年前手工作坊式的小公司,到现在正在逐渐形成的软件产业链,我们遇到的挑战,面临的问题实在是数不胜数。最近几年,我们开始大规模引进国外优秀的方法,概念,几乎完全涵盖了整个软件项目开发的方方面面,甚至连做人的原则都包括了进来。我们慢慢发现,许多在日常工作中逐渐积累起来的困惑,不论是管理方面,技术方面,还是为人处世,都可以从国外IT先哲那里找到现成的答案,至少是一些有益的启示。读罢史蒂芬的《高效能人士的七个习惯》,温伯格的《点燃明灯》,佛来德里的《人月神话》,方才恍然大悟,与自己"遭遇"相同的大有人在,而且别人早已有深刻的思考和完善的方法来解决问题,我们要做的就是领会其精髓,并在工作中慢慢实践。
本书也给我同样的感觉。两位作者都是国际软件测试方面的权威人士。这本书可以说是他们雄厚的理论基础和丰富的实践经验之集大成者,十分精彩。市面上介绍软件测试的著作并不少,其中也不乏经典之作。但它们多是集中于讲解软件测试的具体技术和实践技巧。诚然,开发技术是软件项目永恒的主题,但大部分IT人都已经逐渐了解到,当技术慢慢地普及,竞争对手之间已没有明显的技术差距时,决定项目成败的关键往往是人,或者说,是由每个承担具体工作的工程师组成的项目团队。如何为他们创造良好的工作环境,如何在提高他们技术能力的同时,培养他们处理人与人之间关系的技巧,构造强有力的项目团队就显得尤为重要。
本书正是"以人为本",从软件测试在项目开发流程中的地位,以及测试人员所处的环境出发,生动地描绘了测试人员的独特"世界"。作者创造性地提出了软件测试人员的面临的十大"人际"挑战。从具体的案例出发,作者详细地分析了这十大"人际"挑战的表现形式,产生根源,应对挑战的理论方法,实践方法可能遇到的问题,以及相应解决方案等。理论与实践兼备,是年轻IT人不可多得的参考材料。
绝大多数现代IT人每天都在忙碌中度过,尤其是我们这些技术出身的人,每天更是会被层出不穷的技术问题所包围。你也许会抱怨,著作虽好,可哪来那么多时间来慢慢研读体会?!况且这类带有人文色彩的作品大多抽象,很容易"过目即忘",读完一遍收效甚微,无异于浪费时间。那么,在读完了第一章简短的开场白后,建议你认真完成第二章的自我测试题,然后根据题后的分析找到最合适的"挑战",直奔主题。当然,仅仅读完相应章节的内容是远远不够的,根据书中提出的建议和自身的具体情况,制定切实可行的行动计划,并在实际工作中逐渐应用才是最重要的。如果在实践中遇到难以解决的问题,回到书中寻找答案,或是浏览作者的网页,甚至直接与作者通过电子邮件展开讨论,都是不错的方法。 本书的作者十分友善,我在翻译过程中提出的问题总能很快得到详尽的回答。作者也一再表示希望中国读者能够接受他们的观点,并能从中得到帮助和启示。
以上只是译者的一些拙见,希望各位读者指正。
其实,整个软件行业何尝不是如此。从十年前手工作坊式的小公司,到现在正在逐渐形成的软件产业链,我们遇到的挑战,面临的问题实在是数不胜数。最近几年,我们开始大规模引进国外优秀的方法,概念,几乎完全涵盖了整个软件项目开发的方方面面,甚至连做人的原则都包括了进来。我们慢慢发现,许多在日常工作中逐渐积累起来的困惑,不论是管理方面,技术方面,还是为人处世,都可以从国外IT先哲那里找到现成的答案,至少是一些有益的启示。读罢史蒂芬的《高效能人士的七个习惯》,温伯格的《点燃明灯》,佛来德里的《人月神话》,方才恍然大悟,与自己"遭遇"相同的大有人在,而且别人早已有深刻的思考和完善的方法来解决问题,我们要做的就是领会其精髓,并在工作中慢慢实践。
本书也给我同样的感觉。两位作者都是国际软件测试方面的权威人士。这本书可以说是他们雄厚的理论基础和丰富的实践经验之集大成者,十分精彩。市面上介绍软件测试的著作并不少,其中也不乏经典之作。但它们多是集中于讲解软件测试的具体技术和实践技巧。诚然,开发技术是软件项目永恒的主题,但大部分IT人都已经逐渐了解到,当技术慢慢地普及,竞争对手之间已没有明显的技术差距时,决定项目成败的关键往往是人,或者说,是由每个承担具体工作的工程师组成的项目团队。如何为他们创造良好的工作环境,如何在提高他们技术能力的同时,培养他们处理人与人之间关系的技巧,构造强有力的项目团队就显得尤为重要。
本书正是"以人为本",从软件测试在项目开发流程中的地位,以及测试人员所处的环境出发,生动地描绘了测试人员的独特"世界"。作者创造性地提出了软件测试人员的面临的十大"人际"挑战。从具体的案例出发,作者详细地分析了这十大"人际"挑战的表现形式,产生根源,应对挑战的理论方法,实践方法可能遇到的问题,以及相应解决方案等。理论与实践兼备,是年轻IT人不可多得的参考材料。
绝大多数现代IT人每天都在忙碌中度过,尤其是我们这些技术出身的人,每天更是会被层出不穷的技术问题所包围。你也许会抱怨,著作虽好,可哪来那么多时间来慢慢研读体会?!况且这类带有人文色彩的作品大多抽象,很容易"过目即忘",读完一遍收效甚微,无异于浪费时间。那么,在读完了第一章简短的开场白后,建议你认真完成第二章的自我测试题,然后根据题后的分析找到最合适的"挑战",直奔主题。当然,仅仅读完相应章节的内容是远远不够的,根据书中提出的建议和自身的具体情况,制定切实可行的行动计划,并在实际工作中逐渐应用才是最重要的。如果在实践中遇到难以解决的问题,回到书中寻找答案,或是浏览作者的网页,甚至直接与作者通过电子邮件展开讨论,都是不错的方法。 本书的作者十分友善,我在翻译过程中提出的问题总能很快得到详尽的回答。作者也一再表示希望中国读者能够接受他们的观点,并能从中得到帮助和启示。
以上只是译者的一些拙见,希望各位读者指正。
前言回到顶部↑
测试是如何考查测试人员的
"测试"这个词有多种不同的含义,不同人用不同的方法解释。它可以被定义成一种方法、一个过程,或是"对某种事情本质、价值的调查"。本书则试图从另一个角度来定义它,即测试是考查一个人的素质的事件或环境,换而言之,当我们对一个人或一个人做的某件事(如软件) 加以测试时,我们是在考查这个人的素质(Quality)。测试能够描述一个人多方面的素质,如耐心、公平性、自尊、野心、信誉、能力以及竞争力等等。
测试人员经常会发现自己处于一个相当困难的境地。测试本身已经是一件十分困难、极具挑战性的工作,当测试与"办公室政治"以及人际关系掺杂在一起时,除了对体力和智力的考验以外,测试无疑对个人的精神形成了更大的考验。本书力图提供一个切合实际的计划来指导大家如何完成一个高质量的测试,同时保证处理好各种复杂的人际关系问题。
测试人员的世界
在信息技术产业发展的初期,产品开发大多遵从高度结构化的瀑布模型,它明确的定义了项目流程中的哪些位置需要何种类型的测试,从而保证开发出高质量的软件。
但是,有两个因素妨碍了有效测试的运行,一个是瀑布模型仅仅较好的定义了软件开发的各个组成部分,而如何进行软件测试则介绍的很少,另一个是软件测试通常都会成为保证按时完成项目而缩短项目时间的牺牲品,因为它是整个开发流程的最后一个部分,而通常软件工程大部分都会延期。这两个因素在过去的50年中很大程度上界定了测试人员的世界,本书会详细介绍这个独特的世界以及其挑战性。现在让我们从对测试的一般性假设和态度开始走进这个世界。
● 测试人员会拖延项目进度。一般来说,在所有的人看来软件已经一切准备就绪,可以进入最后的投产和上市阶段时,测试还没有完成。既然总要有人为拖延负责,而测试人员又是最后批准产品投产的人,他们就自然而然的"责无旁贷"了。
● 限制测试人员最有效的方法是缩短测试的时间。许多开发人员将测试看成"他们对我们"的游戏,认为测试人员总是试图挑毛病,借一些不重要的原因来妨碍产品投产。开发人员有时会在明知时间紧迫的情况下,仍然延长开发时间以减少测试时间,进而减少测试人员发现产品缺陷的可能性。
● 先测试后编码。有些开发人员遵从这种"反向"过程,他们会发给测试人员一些部分完成的代码,希望他们可以测试这些半成品,并发现问题。这样可以为开发人员节省大量的时间和精力,至少可以使他们在不仔细编码的同时仍能保持高质量的美誉。当然,前提条件是测试人员能够发现所有缺陷。
● 测试人员要对产品的所有缺陷负责。有些软件企业总是力求将设计实现与产品的缺陷分离开。目的在于说明开发人员的责任是设计与开发,而产品的缺陷则要由测试人员负责。在产品运行的过程中出现的任何问题,都将与开发人员无关而全由测试人员负责。
● 与开发人员不同,测试人员不需要培训。大部分开发人员有机会通过参加各种培训来学习过如何设计和实现系统,而学过如何测试的却少之又少。我们曾经面试过的一些测试人员,他们所接受的测试方面的培训总结起来只有一句话:"下面,你们就可以开始测试了"。
从以上介绍的假设及态度被软件行业的同仁所广泛接受。看来,测试人员的工作可不是那么令人兴奋的。不过它是可以改变的。测试人员应该多用时间去理解他们的行业,进而力求改变它。做到这点要从理解测试人员扮演的角色开始。
测试人员1与测试人员2
一般来讲,每个测试人员都会同时扮演两个不同的角色,在这里我们称之为"测试人员1"和"测试人员2",请参考图1.1。测试人员1是技术型的,他负责计划和执行测试。而测试人员2是协调型的,他负责与各种不同类型的人和他们代表的不同职能打交道。
测试人员1可能生活的很愉快,因为绝大部分测试人员知道他们需要测试什么以及怎么去测试,但生活并不是这样简单而愉快的,否则测试就是天下最好的工作了。下面我们会逐渐了解到测试人员的实际世界要复杂得多。
测试人员2看起来更象个政治家,他必须要熟练使用许多测试人员1不了解的技巧,例如沟通能力、心理分析、市场分析以及写作能力等等。测试人员2需要在一个高度协调的环境中工作。
那些只掌握测试人员1技能的人会经常被指责,在与他人合作的过程中四处碰壁。而那些只强调测试人员2技能的人则会经常发现测试进行的一帆风顺,而用户却可以轻而易举的发现一大堆问题。
显而易见,理想的测试人员应该是上述两个角色的折衷,既拥有测试人员1娴熟的测试技能,又拥有测试人员2的"其他"能力,使工作更有效、更成功。换言之,测试人员2可以营造出一个合适的环境让测试人员1顺利的工作。
"测试"这个词有多种不同的含义,不同人用不同的方法解释。它可以被定义成一种方法、一个过程,或是"对某种事情本质、价值的调查"。本书则试图从另一个角度来定义它,即测试是考查一个人的素质的事件或环境,换而言之,当我们对一个人或一个人做的某件事(如软件) 加以测试时,我们是在考查这个人的素质(Quality)。测试能够描述一个人多方面的素质,如耐心、公平性、自尊、野心、信誉、能力以及竞争力等等。
测试人员经常会发现自己处于一个相当困难的境地。测试本身已经是一件十分困难、极具挑战性的工作,当测试与"办公室政治"以及人际关系掺杂在一起时,除了对体力和智力的考验以外,测试无疑对个人的精神形成了更大的考验。本书力图提供一个切合实际的计划来指导大家如何完成一个高质量的测试,同时保证处理好各种复杂的人际关系问题。
测试人员的世界
在信息技术产业发展的初期,产品开发大多遵从高度结构化的瀑布模型,它明确的定义了项目流程中的哪些位置需要何种类型的测试,从而保证开发出高质量的软件。
但是,有两个因素妨碍了有效测试的运行,一个是瀑布模型仅仅较好的定义了软件开发的各个组成部分,而如何进行软件测试则介绍的很少,另一个是软件测试通常都会成为保证按时完成项目而缩短项目时间的牺牲品,因为它是整个开发流程的最后一个部分,而通常软件工程大部分都会延期。这两个因素在过去的50年中很大程度上界定了测试人员的世界,本书会详细介绍这个独特的世界以及其挑战性。现在让我们从对测试的一般性假设和态度开始走进这个世界。
● 测试人员会拖延项目进度。一般来说,在所有的人看来软件已经一切准备就绪,可以进入最后的投产和上市阶段时,测试还没有完成。既然总要有人为拖延负责,而测试人员又是最后批准产品投产的人,他们就自然而然的"责无旁贷"了。
● 限制测试人员最有效的方法是缩短测试的时间。许多开发人员将测试看成"他们对我们"的游戏,认为测试人员总是试图挑毛病,借一些不重要的原因来妨碍产品投产。开发人员有时会在明知时间紧迫的情况下,仍然延长开发时间以减少测试时间,进而减少测试人员发现产品缺陷的可能性。
● 先测试后编码。有些开发人员遵从这种"反向"过程,他们会发给测试人员一些部分完成的代码,希望他们可以测试这些半成品,并发现问题。这样可以为开发人员节省大量的时间和精力,至少可以使他们在不仔细编码的同时仍能保持高质量的美誉。当然,前提条件是测试人员能够发现所有缺陷。
● 测试人员要对产品的所有缺陷负责。有些软件企业总是力求将设计实现与产品的缺陷分离开。目的在于说明开发人员的责任是设计与开发,而产品的缺陷则要由测试人员负责。在产品运行的过程中出现的任何问题,都将与开发人员无关而全由测试人员负责。
● 与开发人员不同,测试人员不需要培训。大部分开发人员有机会通过参加各种培训来学习过如何设计和实现系统,而学过如何测试的却少之又少。我们曾经面试过的一些测试人员,他们所接受的测试方面的培训总结起来只有一句话:"下面,你们就可以开始测试了"。
从以上介绍的假设及态度被软件行业的同仁所广泛接受。看来,测试人员的工作可不是那么令人兴奋的。不过它是可以改变的。测试人员应该多用时间去理解他们的行业,进而力求改变它。做到这点要从理解测试人员扮演的角色开始。
测试人员1与测试人员2
一般来讲,每个测试人员都会同时扮演两个不同的角色,在这里我们称之为"测试人员1"和"测试人员2",请参考图1.1。测试人员1是技术型的,他负责计划和执行测试。而测试人员2是协调型的,他负责与各种不同类型的人和他们代表的不同职能打交道。
测试人员1可能生活的很愉快,因为绝大部分测试人员知道他们需要测试什么以及怎么去测试,但生活并不是这样简单而愉快的,否则测试就是天下最好的工作了。下面我们会逐渐了解到测试人员的实际世界要复杂得多。
测试人员2看起来更象个政治家,他必须要熟练使用许多测试人员1不了解的技巧,例如沟通能力、心理分析、市场分析以及写作能力等等。测试人员2需要在一个高度协调的环境中工作。
那些只掌握测试人员1技能的人会经常被指责,在与他人合作的过程中四处碰壁。而那些只强调测试人员2技能的人则会经常发现测试进行的一帆风顺,而用户却可以轻而易举的发现一大堆问题。
显而易见,理想的测试人员应该是上述两个角色的折衷,既拥有测试人员1娴熟的测试技能,又拥有测试人员2的"其他"能力,使工作更有效、更成功。换言之,测试人员2可以营造出一个合适的环境让测试人员1顺利的工作。








点击看大图






加载中...

