测试的漫长学习之路

发现了一篇写的不错的文章,告诉了测试的重要性,及测试需要了解学习的内容

一、页面功能测试技能:

  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、所有的敏捷建立在了解之上,互相之间了解彼此的能力,才能更好的合作,知道把任务分配给谁,才能快速高质量完成,这是一种默契,需要时间磨合。

摘自51testing。

posted @ 2018-06-01 09:41  小白菜»  阅读(354)  评论(0编辑  收藏  举报