然而我们有时候也会听到有开发人员说某某测试人员挺厉害的,那么怎么样才能做一名让开发人员佩服的测试人员呢?
一,编程语言(Linux、shell、Python、java、C)
你至少要掌握一门语言,不管是简单的php,java,C,还是C++也好,或者其他的脚本语言python,Linux还是shell也好。
至少你用一种语言真正的做过一些事情,而且能拿来就用。
二,Mysql数据库、抓包工具(fiddler、Charles)、接口测试工具(jmter、postma)
你至少要掌握一种数据库的DBA,对SQL的操作要熟悉,至少能熟练的运用JOIN进行查询,知道基本的HAVING的用法,
如果你能写存储过程,并且能优化存储过程那当然更好了,测试人员离不开数据库的管理和数据库的操作。
三,操作系统、微机原理、数据结构、编译原理
作为测试人员,各种操作系统你应该很熟悉,系统安装,配置,管理,一个都不能少,对于Linux,你至少要对一种系统做过系统管理,熟悉常用的命令行操作,
具体要会哪些,建议google一下,用Linux的时候,尽量能用命令行,就不要去点鼠标,因为它不是windows,要改变这样的习惯。
能在Linux下能安装和配置软件,最好建议大家自己下载source code,亲自编译,了解make file的原理。
四,扎实的软件测试理论
这是做为测试人员最基本的,不要连开发人员都知道的一些测试方法,我们测试人员竟然没听过,很多测试人员觉得理论知识我看过,以为自己就了解了,其实做过一段时间之后,你再回头去看理论,会有更多的收获,
我工作多年之后再看测试方面的书籍,发现还是会有不同的收获,理论是实践经验的总结,不能说最好,但是如果说你设计测试用例的时候,如果每种方法都有涉及到,你肯定会发现用例覆盖率会高,而且容易发现bug。
五,web自动化测试 and 接口自动化、手机自动化测试
六,敏捷测试&TestOps构建
七,性能测试&安全测试
往往系统安全是很重要的,如果你能提出一些系统安全方面的漏洞,那别人自然会觉得你考虑的比较全面,
至于安全方面需要哪些知识,我觉得首先从网络安全入手,了解一些密码学方面的知识,比如了解常用的加密算法原理,
比如报文加密传输协议原理,建议看一下hash的方法,这个简单容易理解,还比较容易举一反三。
八,尽量自己分析问题(逻辑)
发现问题了,怎么办?可以找相关的开发人员帮忙分析,但是我想说的是,在发现问题之后,能自己尽量的寻找线索,
首先要确定非环境因素,比如检查配置是否全部正确,网络是否有问题等等,然后确定非环境因素后,保护现场,保存记录系统提示信息,如果有日志功能,那自己先根据日志查找一些线索,
并把自己检查过的地方和做过的分析信息尽可能多的提供给开发人员,而不是仅仅把错误日志或者错误信息丢给开发人员让他们分析就不管了。
九,多涉猎一些项目之外的知识
不要做一个项目,就两耳不闻窗外事,做测试的就是要涉猎的广,跟开发不同,测试是要能接受任何类型的项目,
因为测试是一门方法学,方法学是不受某个产品或者领域限制的,但是如果你对其他领域也了解的多,对你做测试是有帮助的,前沿技术你也要了解一些。
十,提高沟通能力,懂得尊重开发人员
测试人员要面对的人员很多,客户,项目经理,开发人员,产品经理等,有时候你会全部都接触的到,那么沉默就不一定是金,
有良好正确的沟通能力,会帮助你提高在其他人心目中的好印象,沟通不是能说就行,要正确的沟通,高效的沟通,就是能用最简洁的语言把事情描述清楚,沟通的好,你的人缘就会好,就自然会受到大家的欢迎,
其他人也愿意与你合作,千万不要在背后评论开发人员,即使评论,也评论别人的优点有哪些值得我们学习,懂得尊重开发人员,即使所你技术比别人强,懂得尊重别人的人才能被别人尊重。
十一,学好英语
十二,不要自己把自己的地位降低
很多测试人员觉得自己做的测试工作本身就没有技术含量,觉得自己的工作创造的价值少,没有挑战性,其实如果连你自己都看不起自己,那如何让别人看得起你呢?
总之,做测试,是一门技术,也是一门艺术,我们把世界分为三个层次:技术(Technology),科学(Science),艺术(Art)。
技术是底层的,科学高一层,艺术是最高层的,技术可以通过短时间内学会,而如果把技术上升为科学,是需要大量的研究和积累的,而艺术的层次,这个不是学的来的,你需要有天赋,比如乔布斯,他就是因为有了艺术的天赋才造就了成功的苹果。
软件测试人员必备素质:
1锻炼出一双测试的眼睛
2平和的心态
3积极主动【把自己的工作做好;多考虑与自己工作有衔接的公共区间;与同事分享自己的经验;开会多发言;参加公司团体活动】
4良好的团队合作精神
5耐心,细心,信心
6要坚持原则
7超强的责任心
8正确高效的沟通能力
看着上面这些,你会不会觉得做测试要比开发需要学习的东西更多呢?如果你这么想,那就是正确的,真正优秀的测试人员,绝对是要在综合能力方面超过开发人员的,因为,你懂得的不仅仅所一门技术,你已经掌握了一门艺术。
十大技能拿下!!!
1、敏捷测试——
面对工作中各种交付期限的压力,测试人员都必须学习敏捷思维,因为它可以大大促进工作模型的协作和迭代。
2、自动化测试——
随着应用程序的复杂性和集成的叠加,仅仅依靠人工测试根本无法完成任务。
3、网页&移动技术——
每个测试人员还必须熟悉网页和移动技术,以便他们能够了解应用程序的类型、构建和可伸缩性,并为其测试采取适当的操作过程。
4、SDLC(软件生命周期)——
SDLC在测试中的重要性,首先由Testin倡导并实用化,它提出发版测试,旨在满足生命周期不同阶段的不同测试需求,让测试成为APP上线的最后一件事。
5、 测试工具与相关技术 ——
每个测试人员都有必须去了解不同的测试技术和测试工具,不管是什么领域的测试、测试什么类型的app。
6、 编程 ——
这里所说的编程, 并不是让测试人员像开发人员那样工作。只是因为理解应用程序的内部情况是很重要的,这样就可以很容易地搞懂它的功能并据此创建测试。
7、 沟通书面或者口头交流——
每个测试人员也应具备良好的沟通技巧。所谓良好的沟通能力,我们的意思是,他们应该是一个好的作者、演说者、听众和读者,以有效地与相关人员沟通。
8、 测试计划和文档 ——
编写测试计划和文档的能力对于每个测试人员都是必不可少的, 因为它有助于确定正确的需求并采取适当的步骤。
9、 项目管理——
学习项目管理的技能将会强化测试人员解决问题的能力。项目管理技能还使测试人员具有对相关人员负责的能力,并承担起工作责任,同时也能处理端对端的测试项目。
10、报告 ——
一个优秀的测试人员还必须具备良好的写报告能力,以便向利害关系方提供测试项目的确切情况和描述被测试的应用。
计算机专业知识: