软件测试师应具备什么素质和技能?该如何处理

软件测试师应具备什么素质和技能???
我是一名软件专业的学生,我想向软件测试方向转,但不知软件测试师应具备什么样的素质和技能,希望从事软件测试的大哥们给小弟一个建议!比如要成为软件测试师应看那些书籍(尽量给出书名)等等。
------解决方案--------------------
帮你顶一顶,其实网上这些教材应该蛮多的吧。
------解决方案--------------------
学好UML,学好面向对象开发的整个流程.理解RUP,XP,模型驱动,测试驱动

更最要的,学好语言,学好常用的测试和开发工具,最好能加入到一两个中到大型的项目,小项目你是学不到太多测试的东西的,现在的大学教育还是半脱节的.

最后,一个好的测试人员首先也应是一个好的开发人员.至少要有一定的工程经验.
------解决方案--------------------
四项技术素质,测试技术,开发技术,行业知识,软件工程;
非技术素质很多,无法一一列举,例如责任心,细心,耐心,沟通,钻研精神,自学能力,自信心,团队精神等等。
书籍太多了不好推荐,就建议看看《软件评测师教程》,推荐理由,测试知识覆盖较全,理论讲解比较正统。不过价钱略贵。
------解决方案--------------------
摘录:
一个有竞争力的测试人员要具有下面三个方面的素质:

   计算机专业技能

  计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:

  测试专业技能

  现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。

  测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

  软件编程技能

  “测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“*”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。


------解决方案--------------------
我认为。。作为一个测试工程师。。应该具备以下必要的知识
1.至少懂一种语言开发。。最好有一些小项目的开发经验。。这样更能让你去进行沟通
2.至少懂得一些软件构架体系的知识。。三层结构撒的总要能忽悠两句吧。。
以上这些如果是软件专业的应该不成问题
3.最好可以掌握一种或几种测试工具。。。如果说上面的2条是理论的话。。掌握一些测试工具是更为实际的东西。。。
4.良好的沟通能力和良好的文字描述能力。。很多时候是需要沟通和文字描述的。。
5.耐心
6.最后。。最重要的也是需要积累才能获得的。。就是业务基础和业务知识。。有机会的话一定要尽量吸收。。尽管你的pm不一定会需要你了解这些。。但是你了解的越多。。对你的提升就越快。。
------解决方案--------------------
支持4楼的,我之前就看过一本书,好像是《软件测试实践》,那本书就讲了挺多关于测试人员应具备的素质,还有各种测试用例的设计方法,好好看看书。然后将理论应用到实践中,那才是最重要的。