① 软件测试人员需要具备哪些素质
在我看来一个软件测试人员需要具备多方面的特质:
●
细心:这个不用多解释了吧。粗枝大叶的人是没法做好软件测试的。
●
耐心:软件测试,特别是当前国内主流的手动黑盒功能测试。基本上测试的工作就是一项重复劳动,需要有一定的耐心来保证不在枯燥的重复劳动中放过那些细小的缺陷。
●
好奇心:软件测试,是需要保持一颗好奇心的工作。好奇心使得测试人员会多问一个“为什么”,“如果这样,行不行?”。往往这些问题会引导你找到缺陷。
●
会沟通:软件测试人员需要与客户,开发,产品等方方面面保持密切的关系,沟通很重要。良好的沟通过程可以有效地控制成本。
●
总结归纳能力:这跟“会沟通”有关联,软件测试人员需要找到缺陷的真正关键步骤,归纳出缺陷产生的一般规律,总结出一份详尽的测试报告。
●
理解能力:对需求的准确理解,是软件测试人员需要具备的必需条件。
●
表达能力:编写的测试用例什么的只有你自己能读懂可不行。
●
时间观念:软件测试工作是无止境的,但是软件本身是有交付日期的。软件测试工作需要在保证交付日期之前完成工作,保证软件产出的质量。时间与质量本身需要有一个平衡,为了追求零缺陷而罔顾交付日期的做法是不科学的。前期的制定计划开始,就要对整个过程有一个良好的规划并且按照这个计划的日期来推进。
好吧,以上这些差不多是我想到的对与软件测试人员来说比较重要的特质。当然,还有一些不一定是普适的要求,比如英语听说读写的能力。也欢迎补充看看我还遗漏了那些特质。
朱杉:
其实抽屉同学已经都总结得很好了,我就再说两点我自己的体会就好。
●
责任感:责任感是个系数,责任感与个人资质的乘积才是最终体现到工作中的实际能力。尤其是就目前国内的黑盒手工测试来说,极少有需要特别牛x的人才能干得下来的事情,大家的工作成果差异,常常是态度问题而非能力问题。而很多面试中体现出良好资质的人,放到工作中会发现实际效果不理想,也多与此有关。
●
原则性:测试需要一颗有原则的正直的心,不会为了凑数量,将同类问题的变体重复提交;不会因为dev简单的一句:”这不是问题“而妥协。
●
学习能力:测试需要不断接触新功能、新理论、新技术、新工具,并非一个省心的活儿。对于学习能力还是有一定的要求的。除了工作相关的以外,开阔的知识面,对于测试人员来说有时也意味着思路的可延展性。
就这些啦。其实有些能力是可以在做的过程中培养的,而做测试的过程也是对心性的一种历练
② 软件测试人员应专业技能该具备哪些
软件测试的理论以及测试用例的设计方法
linux服务器的常规操作命令
数据库的一般性操作sql
bug管理工具的使用,svn、jira、qc、禅道等
抓包工具httpwatch、wireshark等工具的使用,包括常规协议的了解
接口测试工具jmeter、fiddler、postman、soupui等至少掌握一种
文档的写作和管理输出(测试计划、方案、用例、报告)
测试环境的搭建和维护
自动化测试工具qtp或者selenium等至少会一种
性能测试工具loadrunner或jmeter至少会一种
开发语言至少熟悉一种推荐java、python(自动化脚本的编写、或者做单元测试)
appnium,app自动化的工具掌握
中间件(apache 、tomcat、nginx、MQ)等的性能参数设置、监控和调优
当然针对不同的平台,如移动端、web、嵌入式的不同,以上有所不同(不一定需要全部掌握)
可以看看你想进入的行业的招聘信息,进行针对性的了解和学习,所入行业的业务知识也是必须掌握的
以上大概是以高级测试工程师的标准写的~
③ 软件测试人员应该具备哪些基本素质
1.踏实细心
现在软件测试的工作内容以手动黑盒功能测试为主,这是一项重复性极高的工作,要有足够的耐心去执行这些枯燥的测试用例,从事大量的重复性工作,有时候同一个操作要进行几十遍。
2、良好的沟通能力
以解决问题的态度对待程序产生的bug,和开发人员进行有效的沟通。描述bug应该条理清晰、log齐全、描述不清楚的bug有时需要上传截图或者操作视频,便于开发分析问题。要有团队协作精神,要意识到需求、测试、开发是一个团队,只有团结一致软件质量才可以得到有效的保证。
3、要有好奇心,怀疑一切的态度
要从多方面考虑软件有可能出现的bug,软件的每个功能或软件之间的交互与调用都有可能出现bug。测试的主要目的是发现软件bug,满足用户的需求。而不是证明软件没有问题。多问一个“为什么”。
4、责任性
测试人员应该对自己测试的软件认真负责,而不是敷衍了事,能在软件发布前率先找出程序中的bug,保证每一个需求都能被实现,都能达到通过的标准。
④ 软件测试工程师需要具备哪些技能
首先要学习比较流行的开发语言,如:python,这是为了自动化测试的学习打下基础,不过软件测试工程师只要能用python进行简单的开发就可以,不需要像软件开发工程师一样把python学的特别好。
其次学习LoadRunner、JMeter、Selenium、Appium、Postman、Fiddler这些测试工具。第三学习目前主流的数据库系统MySQL,熟悉数据库的基本结构和原理,熟练掌握数据库的常用操作技术。最后软件测试中有五大测试方法,分别为:功能测试、web自动化测试、移动自动化测试、接口测试、性能测试,这五种测试方法软件测试工程师都需要掌握。
不仅如此,行业技能也是软件测试工程师所必须掌握的一点。
行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。
很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。行业知识与工作经验有一定关系,通过时间即可以完成积累。
⑤ 软件测试人员需要具备什么样的职业素质
1. 计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
l 测试专业技能
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
l 软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
l 网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识。
2. 行业知识
行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。
很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。
行业知识与工作经验有一定关系,通过时间即可以完成积累。
3. 个人素养[1]
作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。
责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。
自信心:自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。
“五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。
相关资料您可以查阅51测试论坛。
⑥ 好的软件测试人员需要具备哪些条件
优秀的测试员需要的条件
一、系统思维能力
无论是出软件测试方案,还是用例设计,测试建模,场景化分析等都需要具备一定的系统思维,环环相扣,把遗漏风险降到最低。也是个人提升的必备
二、项目管理能力
测试人员最终的目标是评估质量风险与风险控制,但质量并非是靠测试测出来的,而是在产品未孵化前的规划就开始了,所以了解整个项目管理流程才可以实现对各个阶段的质量把控。
三、沟通表达能力
以上案例中已提到过,无论是日常工作与其他跨部门团队的沟通还是晋升的竞聘环节,以及面试过程中对自我的展示,都需要良好的沟通表达,再优秀的技术也需要靠表达去实现继承和运用。
四、领导管理技能
测试人员的发展方向除了专家路线就是管理方向,当然技术管理还是要以技术为本的,所以领导力会显得尤其重要,但无论专家还是管理路线,拥有一定经验后需要做出决策以及测试策略如何让别人信服就需要一定的领导力了,而领导力是可以有意培养的。
五、观察能力
一般做过技术人员面试官的都会有些微表情,或面试心理学的知识储备,如何快速识别需要靠长期的细节观察能力来判断候选人。知己知彼百战百胜,不仅仅是面试官还有一些测试人员转为业务专家或顾问后会更有学习的必要。
六、导师能力
有一定经验的测试人员即使没做到管理层,也会被委任做某个方向的导师或培训人员,这时如何从自己学习到传播给他人知识会有个转变,也是工作的一部分,为测试组知识库与技术储备贡献力量。工作一定时间后,就需要有意识的培养这方面的能力了。
(6)软件测试员需要哪些技术扩展阅读:
优秀测试员需要的素质
1、有探索精神:不要害怕进入陌生环境,勇于探索。善于发现问题的症结,要喜欢解迷。
2、自信心:测试者必须对自己的观点有足够的自信心。自信心是现在多数测试者都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试者应该努力学习,建立能“解决一切测试问题”的信心。
3、责任心:责任心是做好工作必备的素质之一,测试者更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。
4、专心:测试者在执行测试任务的时候要专心,不可一心二用。高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。
5、耐心:需要有难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好
⑦ 作为一个软件测试人员,需具备哪些技术
计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
1. 测试专业技能
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
2. 软件编程技能
“软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握 Java、C#、C++之类的一门语言以及相应的开发工具。
3. 网络、操作系统、数据库、中间件等知识
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
行业知识
行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。
很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。
行业知识与工作经验有一定关系,通过时间即可以完成积累。
个人素养
作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。
4.责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。
5.自信心:自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。
“五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。
⑧ 做软件测试员需要学哪些专业知识
第一步,测试基础:
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。大概就包括:测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等。
第二步:学习脚本语言
如:python语言,当然python 是一门相对简单的计算机语言,考虑长远发展,需要了解C语言或者java。都说C语言最难,但是用得确实也多。
第三步:学习软件测试工具
学习软件测试工具并不难,只是需要我们去系统的学习。比如性能测试工具loadrunner,自动化测试工具selenium、Appium,接口测试Jmeter、Postman等。虽然说工具不是万能的但是工具能为我们提高工作效率,所以必须得会熟练的使用。最关键的一点,是要结合项目具体去操作,实践出真知,理论知识在实际项目中才能得到巩固。
第四步:计算机硬件知识
做过性能测试的都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
第五步:数据库测试
MySQL数据库
MySQL简介、命令行工具以及数据管理、MySQL数据查询(条件、分组、聚合函数、排序、分页、连接查询、自关联、子查询)、内置函数、项目练习、数据分表、Python操作MySQL。
Redis数据库
Redis简介、客户端和服务器、数据类型(string、hash、list、set、zset)、各种数据类型操作、Python操作Redis、主从、集群。
第六步:项目实战
最好参与真实项目的测试工作,积累真实项目的测试经验。
成为优秀软件测试员之提升条件,如果你想成为一个更优秀的软件测试员的话,除了上面那些,你也最好能够具备开发语言即代码编写能力,虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程 师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你 现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是Java或者是VB什么的)所以在开发语言中测试需要更广的学习。
成为软件测试员之必备条件,就是你一定要有良好的心态。心要静、细心耐心、责任心。心静不下来无法对bug展开发向思维及拓展想象。任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理