小韵子39
1. <<软件测试>> 作者:(美)Ron Patton 译者:周予滨 姚静 出版社:机械工业出版社 图书简介: 我所见过的最好最经典的软件测试入门书,有一个别名叫“软件测试的本质”。书中没有讨论太多的软件测试理论,只包含了一部分常用的、基本的知识。从什么是软件测试、为什么要作软件测试开始,逐步引入基本的和高级的测试技术和方法,然后开始把读者引入实际工作中,讲述了一般的测试过程中要经历哪些阶段,要作哪些具体的工作,如何开展测试工作,如何找到缺陷并提交缺陷。甚至还包括了对测试人员的职业指导。建议所有的测试人员都读一读。 2.<<软件测试自动化>> 作者:Daniel , Bruce 著 出版社:机械工业出版社 图书简介: 可以把这本书当做第一本书的延续——不过我指的是作用和风格,作者当然不是同一个人了——你可以把它理解为“软件测试自动化”方面的经典入门书。作者从实际工作的角度对自动化测试进行了详细的论述,包括应该何时开始自动化、测试自动化同软件开发过程中其他工作的关系,以及测试自动化工作开展的过程。还介绍了“自动化测试框架”。不过这本书最吸引我的,还并不是它将我轻松的引入了自动化测试的世界,它还在每个章节的后面提供了很多链接和文档资料,大都可以在网上搜索到和打开。配合这些资料的学习,更深一步的理解了自动化测试的本质。 建议准备学习自动化测试和已经开始尝试自动化测试的朋友阅读多几遍。 3.<<软件测试>>作者:[美]Paul 译者:韩柯 杜旭涛 出版社:机械工业出版社 原出版社: CRC 图书简介: 与第一本同名的经典测试书籍。如果说第一本的目的是快速的将你引入测试的殿堂,或者说作为一本“快速职业培训”的话,这本则是更深入的介绍了软件测试的基本知识和方法。其中重点介绍了黑盒测试(功能性测试)、白盒测试(结构性测试)的技术和方法,以及如何开展集成测试和系统测试工作。另外,书中还包含了对于面向对象测试的内容。这本书可以作为夯实测试基础的教材,建议阅读。 4. .<<有效软件测试>> 作者:[美]Elfriede Dustin/著 出版社:清华大学出版社 图书简介: 虽然这本书国内也出了影印版,但是个人感觉中文版的质量还是不错的,从中也可以看出译者有着很深的软件工程实践功底。作为一本实践经验性的著作,书中涵盖了从测试过程到测试管理,从测试方法到测试技术,以及自动化测试方面的内容,所以要求读者应当具有相当的软件测试实际工作经验,否则只有理论知识恐怕也很难理解其中的一些做法,“知其然”却无法“知其所以然”。建议先看过上面介绍的四本书(或者至少前三本)并有了一些实际测试的经验以后,再来阅读这本书效果会好一些。你会在阅读的过程中发现,原来很多测试工作开展时遇到的难题可以这样解决,原来测试工作可以通过这样来提高效率…… 虽然这本书的内容并没有特别的依赖于某些测试工具,不过看的出作者和译者的工作大都是基于RUP的,所以如果读者有这方面的了解和实践经验,阅读起来效果会更好一些。 5. .<<自动化软件测试>> (下不到,希望有人补齐)作者:[美]Elfriede Dustin等著 出版社:清华大学出版社 图书简介: 这本书虽然在国内也有中文版,我一开始看的也是中文版,不过限于中文版的质量,这里还是推荐有能力的朋友看影印版吧。 虽然书名中大主题是“自动化软件测试”,但是这本书中介绍的更多的并不是自动化测试的具体实现,而是侧重于测试过程和测试管理方面的内容,这也是因为自动化软件测试工作的开展必须依赖于一个完善的测试过程吧。 从某个角度来看,上述的三本书从测试技术、方法和测试过程几个方面都进行了详细的论述,可以作为逐步深入的“测试学习路线图”,先看第一本入门,然后通过第二本强化对测试方法和技术的理解,然后通过第三本来更深入、全面的理解测试过程。其实书不在多,如果但作为基础学习,找到基本合适的,然后反复的阅读、研究、实践,就应该足够了。 6. .<<国际化软件测试>> 出版社: 电子工业出版社 作者: 崔启亮/ 胡一鸣/ 出版日期:2006年4月 版别版次:2006年4月第1版第1次印刷 图书简介: 本书阐述了国际化软件测试的根本问题,深入剖析了如何有效进行软件国际化测试和软件本地化测试,旨在帮助读者学习和掌握国际化软件测试的概念、技术、流程、方法和市场状况,分享业界同行的最佳实践。 国际化软件测试主要包括软件国际化测试和软件本地化两个阶段。本书将围绕这两个主题深入、详细的进行论述。软件外包测试与国际化软件测试紧密相关,本书最后将对其进行简要介绍。 全书分为三个部分:国际化软件基础,国际化软件测试,软件外包测试展望。每一部分根据内容的逻辑性和重要性分多章分别论述一个主题,每章以概述开始,随后重点阐述专题内容,最后进行本章小结。 7.<<软件测试的有效方法>> [美]佩里 著,兰雨晴等 译图书简介:本书提供了两种可以改进软件测试质量的策略,一是对团队软件测试能力的评估,二是对软件测试人员测试资格的评价。本书介绍了一套软件测试的方法,这种方法对应于软件开发生命周期的各个阶段,用11步软件测试过程详细讲述了从制定测试计划到执行测试以及获得最终测试结果的全过程,并对测试策略、测试工具、测试方法、测试指标等具体内容进行了全面的阐述。另外,本书还对一些特殊系统,如客户/服务器系统、基于Web的软件系统的测试过程做了专门介绍,并提出了一整套的测试指标,使测试活动能够得到量化的结果,便于做出测试结论。本书内容丰富、实用性强,既可作为计算机及相关专业学生的学习用书,同时又可用作广大软件工程技术人员的指导用书。为了保证软件能够按照计划运行,我们就需要了解有关软件测试的技术。否则,可能会导致生产率下降、收入降低、顾客不满意等情况的发生。本书提出了一个11步软件测试过程,涵盖了评价软件的所有测试内容。这个测试过程包含了大量的工作表和检查单,可以直接采用或修改,以测试软件的各个方面。在组建有效的软件测试环境时,从制定测试策略到选择和使用测试工具,读者都可以从本书中得到非常有益的指导。本书还提供了—些改进软件开发过程和提高软件测试人员能力的方法。需要特别指出的是,本书在第2版中对以下内容给出了详细的测试程序:·Internet/Intranet应用·成品软件·多平台环境·系统安全·数据仓库应用·客户/服务器系统·快速应用开发本书较少谈及理论,而更多地去指导如何解决疑难问题,为软件测试提供了有效的方法。从而可以向客户保证生产出最可靠的软件。
谁是小小
1.计算机系统基础知识 操作系统基础知识 数据库基础知识 中间件基础知识 程序设计语言知识 4.信息化基础知识 还有编译原理,数据类型! 所有的人都知道应该如何进行测试, 但是却未必知道要成为一名优秀的测试人员,真正需要哪些素质。 优秀的系统验证测试人员应该具备哪些素质? 在8 年多的软件开发工作中,我曾从事过各种项目的设计和开发, 并且从初级开发人员成长为高级开发人员, 最终成了一名软件架构师。在此期间, 我意识到测试工作的重要性和挑战, 甚至曾自愿地对自己设计的程序进行测试,这是出于“ 自己解决自己的问题”的考虑。大约在一年前, 我成为了系统验证测试 (SVT) 组的负责人。我之所以想到要撰写这个专栏, 是因为与所在部门的一名测试人员的闲聊,情况是这样的, 该测试人员以前的一名同事申请了我部门中的测试职位。 当我向这名测试人员询问有关申请者(当时他正从事开发工作) 的情况时,她的回答是“对这个人我已经记不大清楚了, 但他肯定是一名优秀的测试人员,因为他是一名开发人员”。 听到这样的评论我感到震惊,但是后来我发现, 对于开发和测试团体来说,这是一个普遍存在的观点。 的确存在许多优秀的开发人员和优秀的测试人员, 但是在某个方面非常一流, 并不一定就意味着在其他方面也同样优秀。 所以作为一名测试管理人员,我需要说明成为一名优秀的 SVT 测试人员所面临的挑战和应该具备的独特品质, 这不仅仅是要吸引高素质人才加入到这个行列, 同时还可以分享这项工作给我们带来的自豪感, 并且或许可以为测试工作赢得更多的尊重。 发现客户价值 按照规定,SVT 组负责进行系统级测试。什么是系统级测试呢? 这是一个常见的问题。我的理解是, 进行系统级测试的目的是为了确保通过产品所提供的功能, 实现既定的客户价值。 那么,什么是“客户价值”呢? 其答案正是为什么客户购买和使用某种产品的原因之一。例如, 我使用 Microsoft Word 已有许多年了。回忆我个人使用该软件的经历,在早期的版本中, 最苦恼的事情是它容易在编辑的过程中发生崩溃, 这样就会丢失最近一次保存以来的所有工作。幸好, 现在的版本不再出现这种情况了。甚至更加完善, 它会定期地自动保存文档,这样一来, 即使在退出的时候忘了保存文档, 仍然可以恢复到最近一次自动保存的副本, 对我来说这是个非常好的特性。这种作为客户的经历使我意识到, 尽管该产品提供一般性的功能, 但正是其独特的特性使得它能够从众多的竞争产品之中脱颖而出, 并且正是这些提供价值的特性使得其客户钟情于该产品。因此, 对于优秀的 SVT 测试人员来说, 最重要的品质是能够清楚地了解每个特性的客户价值。 尽管可以很容易地从设计文档或用户手册的简介部分中找到每个特性 所允诺的客户价值, 但是要有效地将它们合并为测试设计方案的核心,并不是那么简单。 要实现这一点,测试人员需要了解技术的采用周期, 以及该技术当前位于其采用曲线中的什么位置。 他还需要了解提供类似客户价值的竞争技术, 以及有可能共同使用的协作性技术。 测试更广泛的场景 我观察到新的 SVT 测试人员常犯的一个错误是, 他们总是从局部而非整体的角度来看待某种技术(或者产品特性)。 结果,测试工作重点关注于产品与设计的符合性, 而不是它所提供的真正价值。例如,当在 J2EE 技术中引入容器管理的持久性时, 其目标是为数据库的访问提供一种更简单并且更具可移植性的编程模 式,它的竞争技术是其他持久性技术,如 JDBC 和持久的数据对象。如果该技术或特性不易于使用, 并且不能够伸缩或至少执行其竞争技术所能完成的任务, 那么该特性就难以获得接受,即使客户购买了这个产品, 他们也不会使用该特性。因此,SVT 测试人员的任务是发现问题的本质,并在产品发布之前进行报告。 是可以工作,还是工作得更好? 不久之前,一名测试人员向我解释她正在测试的新的安全会话特性, 如何通过在每次调用中与信任服务器联系以便进行身份验证, 从而使得 Web 服务能够更好并且更安全地执行。 我很怀疑向信任服务器进行附加调用的时间是否短到足以避免抵销这 个新特性所节省的时间, 以及这个信任服务器是否向系统中引入了单点故障。 对于SVT 测试人员来说,对该特性及其相关特性的技术知识同样重要, 并且仅仅有技术上的知识是不够的。 使用客户价值作为特性测试的核心, 还需要测试人员考虑更多的内容,在有些情况下, 需要跨越组织的界限。当我提出关于信任服务器性能方面的担心时, 该测试人员的回答是“我不负责测试性能,那是由性能团队负责的” 。还有一次, 有个客户向我询问关于产品如何在重负载下处理事务恢复的问题。 执行这个测试场景的测试人员无法回答这个问题, 因为她根本没有进行负载测试。 在一定程度上,这反映了组织中的定义受到很大的限制。当然, 很少有能够很好地处理各种情况的组织结构。我认为,优秀的 SVT 测试人员不仅仅只是完成特性本身的测试工作, 并且对任何可能妨碍该特性实现其允诺的客户价值的问题保持高度的 警惕,无论是性能优于该特性的竞争技术、 或未能很好集成的协作特性、或特性本身没有达到预期效果、 或在系统中产生了附加的缺陷。
优质工程师考试问答知识库