我工作八年整,之前做过开发,现在正在做测试,发现人们对测试非常轻视,究其原因就在于测试入门的门槛太低了,导致人们认为测试仅仅会点页面。关于测试我想说一下我的看法。
一、页面功能测试技能:
1、按照产品给的需求文档,原型图,UI图完成测试用例,完成测试用例你要用到:等价类划分、边界值分析法、错误推测法、因果图方法、判断表驱动法、正交试验法、功能图法;同时你要分析业务逻辑,用户操作场景,异常场景,关联业务等。
2、执行用例:根据测试阶段,代码改动,环境等挑选相关用例执行;执行过程中要了解:linux简单命令:ls,cat,tail,cd等,用来看后台日志,是否有前台虽然正常展示,但后台已经抛异常;要了解sql的增删改查,以便造数据、查询数据;要了解业务相关操作对数据库的操作,新增操作入了哪些表,有哪些关键数据,哪些状态数据,更改操作入了修改了哪些表的哪些字段,以及字段对以后业务的影响;bug中问题描述,步骤,抓包,日志等,sql是绝对的重点。
3、测试报告:不是所有公司都会发测试报告,但是测试一定要了解自己测试的业务,测试过程中是否发现风险,例如:某些操作会大量写表,某些操作会需要程序进行批量处理,有关联的定时任务执行顺序、时间长短造成的衔接问题等。
二、接口功能测试技能(和功能部分重复部分就不提及了):
1、第一步就是网络协议,认识相关协议:soup,http,https,rpc,ftp,ssh,telnet等常用网络协议。
2、抓包工具:fiddler,Wireshark,burpsuite等工具。
3、接口工具,soupUI,postMan,java语言调用(httpclient jar 包,jmeter jar包),python语言调用(requests库)。
三、自动化测试:
1、分类:UI功能自动化,接口自动化,接口参数化。
2、语言:是的语言,语言,永远是编程语言,不会任何一门语言请不要说自己是测试。至少会一门主流语言:python,java,c++。
3、调试能力:其实还是语言,前端的断点,后端断点。断点调试真的很笨,很费时间,但真的是最有效的,最基础的。
4、分析设计:分析改动不频繁,后期维护成本不是特别高的相关业务做自动化;设计相关测试用例,注意要做到尽量还原用户操作。
5、部署能力:如果你已经会自动化,请尝试搭建部署测试环境。
四、性能测试,你不能仅仅会操作:
1、软件:loadrunner,jmeter等软件的熟练操作,及测试报告的解读,细节细节一定注意细节,了解细节的才能更好的发现报告中指示的问题,别非专业人士提问时,才不至于尴尬(之前我就尴尬过)。
2、编程语言:是的又是语言,脚本的编写是用语言完成的,因为软件总是有自身的局限性,而我们自己的系统总有自己的特殊性,比如jmeter调用dubbo接口,打印日志,特殊的断言方式,特殊的请求方式,这些是需要自己写代码完成的(抱歉我仅仅熟悉jmeter,所以就不介绍loadrunner了)。
3、更深入的了解linux:天哪测试要了解这个,是的,因为系统配置绝对会影响测试结果,你要监控系统的cpu,内存,磁盘读写,网络等诸多情况。
4、各种算法,数据结构:更加的深入,如果开发一时之间无法找出性能问题的所在,你要亲自动手,分析他的代码的算法,数据结构,甚至于修改程序。
5、各种辅助工具:辅助工具做什么,帮你了解程序内存暂用,判断内存溢出,cpu暂用过高,读写数据库,网络长短连接等情况。
6、中间件,数据库使用调优:包括但不限于:tomcat,nginx,node,apache,mysql,redis,oracle,memcached等等。
五、关于敏捷一点理解:
1、什么是敏捷开发:快速的开发,好像是句废话,好吧说说快速,快速体现在:团队成员互相间对彼此进度的了解,以便做出下一步判断,如何能配合着尽快完成任务。
2、持续集成与持续交付(CI 与 CD):CI,要在完成一定任务量后立即做集成,保证代码不报错,可测试;CD,完成CI后测试后的版本可发布,比如大的版本上线,由于当天的版本并不理想,但前一天的版本可能未完成某些小的功能,但是是可交付的,所以CI后进过测试的代码,即可CD。
3、在敏捷中测试重要的作用是保证CD,同时严格要求开发CI前做好自测,前后端不自测的代码,提交后很肯能就变成了联调测试,我们要的应该是继承测试,我们应该在保证质量的同时尽快进度。
4、所有的敏捷建立在了解之上,互相之间了解彼此的能力,才能更好的合作,知道把任务分配给谁,才能快速高质量完成,这是一种默契,需要时间磨合。
最后: 可以在公众号:软件测试小dao ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
好文分享
从一个萌新小白到一次拿下5个测试offer,我的测试成长之路···
95后,刚工作2-3年就年薪50W+ ,才发现打败我们的,从来不是年龄···