从软件测试工程师所需的一些特质讲
一、细心
软件测试工程师并不需要写太多的代码,但是作为软件质量的把关者,在进行软件测试工作时要十分的细心,因为稍有一点粗心就有可能漏掉一些重大的bug,造成软件质量不过关。严重的甚至会为团队甚至公司造成重大损失。
二、耐心
软件测试并不像软件开发需要大量的创造性,更多的是重复性的工作,所以耐心也是作为软件测试工程师非常重要的品质。不仅要耐得住一遍一遍反复的用不同方法进行测试,还要耐得住软件每一轮更新的有可能重复的测试工作。
三、良好的沟通能力
软件测试人员在提交bug给开发人员的时候,肯定免不了与开发人员进行一些技术上和问题上的沟通,这个时候就需要良好的沟通能力了。如何能让开发人员更好的去修改bug,很考验测试人员的沟通技巧。除此之外,在工作中跟产品经理等其他同事也经常需要沟通交流,所以良好的沟通能力也是很重要的。
四、责任心
虽然责任心在任何工作中都是必不可少的,但是在软件测试工作中尤为重要。不能只满足于用常规的测试方法测试,没有问题就万事大吉。还要用一些非常规的方法去发现问题,要对测试工作,包括测试的软件,以及整个团队负责。
以上这些问题其实都不是专业背景方面的要求,因为软件测试工程师的门槛不算太高,并不需要你有多么好的思维和IT背景。这些所需的品质都可以在学习和日常生活中慢慢培养,比如多与不同的人沟通交流,做事注重细节,不断培养耐心和责任心等等。
技术上软件测试从低阶到高阶之路:
1.功能测试:
功能测试是最基本的测试,保证可用性和正确性;编写测试用例一般用到的方法:等价类划分,边界值分析,错误推测,因果图,判断表驱动,正交试验法,功能图,最关键的是分析好业务逻辑,用户操作场景,异常场景,关联业务;执行测试用例的时候要掌握常用的linux命令,用来查看后台日志,还要掌握常用的sql语句,熟练掌握对数据库的操作;最后是写测试报告,体现测试价值的是测试过程中你发现的问题,进行风险点总结;
2.接口测试:
1)了解常用的网络协议,如:***
2)了解常用抓包协议,如:fiddler,wireshark,burpsuit
3)了解一些接口测试的工具,如:postman,soupui,java语言调用(httpclient包,jmeter包),python语言调用(request库)
3.自动化测试:
1)自动化测试一般有UI功能自动化,接口自动化,接口参数化
2)做自动化测试需要熟练掌握一门语言,python、,java
3)具备一定的调试能力,最长用的就是打断点,虽然笨,但是最有效
4)做好分析设计,以免后面频繁改动,维护成本不高的业务做成自动化,设计相关的测试用例,原则是还原用户操作
4.性能测试:
1)常用软件:jmeter,loadrunner,测试报告一定要注意细节,细节才能体现报告中指示的问题
2)要会一门编程语言,脚本编写用语言,由于系统的特殊性,例如jemeter调用dubbo接口,打印日志,都要用语言完成
3)深入理解linux,系统配置会影响测试结果,要监控CPU,磁盘,内存,网络
4)熟悉各种数据结构和算法
5)使用各种辅助工具帮你解决程序出现的问题,内存溢出,CPU占用过高,读写数据库,网络长短连接
6)熟悉各种中间件,tomcat,nginx,node,redis,mysql,
5.敏捷开发:
1)敏捷开发就是快速开发,具体要团队间了解彼此之间的进度,遇到问题共同讨论,促进问题快速解决,保证项目按期完成
2)持续集成(CI)持续交互(CD):一个项目由项目负责人拆分成多个模块,分给团队的每个人合作完成,其中一部分功能模块完成要做持续集成以便进行测试,持续集成部分完成测试即可持续交互,敏捷测试过程中最重要的是保证持续交互
3)谈敏捷最重要的是了解,把任务分配给合适的人,才能保证快速高质量完成
要想成为一名高水平的测试工程师,个人觉得要从以下四个方面发力:
1、业务能力
熟练掌握功能测试,基础知识扎实,熟悉测试流程,测试设计,具备分析和解决问题的能力,能够独立负责一个项目的测试工作
测试人员在开评审会时要多参与进去,多提建议,预防问题的发生。
2、沟通能力
对于测试工程师来说,交流和沟通能力也很重要。测试工程师在工作中需要和各个不同的团队一起协作;因此如何更好地问题反馈给别人,如何给领导提供决策的依据,这些对于沟通能力都有一个要求。
3、管理能力
学会自我管理和带团队,新手带团队容易走入两个极端:一个是做甩手掌柜,分配完任务就不管了,还有一种是事必躬亲,什么事都自己来做,对组员不放心,导致自己累个半死,事情不见得能做好
4、技术能力
懂编程、能够看懂代码,熟练使用各种测试工具,具备独立开发测试小工具的能力
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/6607.html