黑盒测试:没有开发基础的测试工程师通常由黑盒测试做起,不过根据个人经验,这部分工作依然会给我们带来很多经验性的东西,比如熟悉浏览器特性,熟悉公司业务流程,业务知识,以及测试用例的设计。
接口测试:接口测试是测试工程师转向测开的第一步,这可能是功能测试人员初次接触代码,尽管实际中可能已经有比较成熟的内部接口测试工具提供给我们使用并且我们只是做一些拼接报文的工作。但在这里打下坚实的基础对性能测试以及开发测试工具有很大的帮助,我们在测试接口的过程中一定会进行正向调试,每解决一个报错,我们都会对接口测试的代码有更深的理解,尽管这是别人提供的接口,不考虑它的内部实现逻辑,依然有研究价值,比如一个http post请求的接口我们可以尝试用代码去实现包括header的设定,报文的处理,如果报文是json的,还要使用json相关的包来处理报文,这时我们已经向测开迈出了第一步,这部分工作本来也是开发人员需要做的东西。
自动化测试:当公司产品稳定后,web端的自动化测试才会产生价值,所以通常都是现将接口做成自动化。接口自动化测试框架常用的为mvn+testng+jenkins+gitlab实现,ui自动化测试常用的为mvn+selenium+jenkins+gitlab。selenium支持java和python,学习selenium我们要学习html事件以及常见的元素,并熟悉dom。所以如果有前端基础,这个框架很好学习,剩下的只是根据业务逻辑去实现。
测试工具开发:这部分对开发的要求比较高,目前处在看源码学习阶段,要会前端,servlet,jsp,angluar.js并有很好的java基础这样才能实现业务逻辑。
压力测试:楼主用的工具为jmeter,由于jmeter是java开发的压力测试工具,所以如果熟悉java就可以很好的理解jmeter。jmeter的初级使用可以用来调试接口,它可以通过beanshell sampler处理公司内部编写的接口请求,还可以处理常用的http请求。剩下的工作就是填写报文。做压力测试就要稍微难点,我们要清楚jmeter的各个元件所能实现的功能,更重要的是能和业务场景联系起来。通过阶梯式的并发线程去寻找系统瓶颈。通常来说,压力测试是所有测试工作中技术难度最高的工作。要求有良好的编程能力,同时要熟悉数据库,因为压力测试通常要造测试数据,并熟悉所测对象的设计架构,只有这样才能更准确的定位原因。而且我们还要熟悉linux工作环境,这里可能需要我们自己去观察cpu以及内存的运行情况,或者查看日志去定位问题,一般简单的命令都要会。
测试环境:高级的测试人员通常可以独自维护测试环境,并写shell脚本帮助环境部署以及版本更新。同时还要兼顾一些项目流程管理工具,比如jira,testlink等,这些都可以在本地尝试部署。
测试数据:测试数据最初版本我认为可以是我们用excel或其他编辑器记录的测试内容,到后边由于其他的业务要求可能会要求我们造大量的测试数据,比如在excel中造数据,要了解excel的一些快捷方式,然后是一些随机的数据,我们也可以通过代码来实现,也很简单,但我们要知道一些经常用来存储数据的文件,比如xml,json,bean,yaml,xlsx。这些都是可以用来存储数据的,所以如果能通过代码熟练处理这些文件以及他们之间的内部联系,对我们的代码提升能力也是有很大提高的。更难一点的是比如调用数据库api直接向数据库中导入大量的数据,我们不仅要具备阅读英文文档的能力,还要能熟练编写代码,调用api实现我们的目的。
总结:楼主也只是做了1年零4个月测试的小白,以上总结这么多也是给自己一个回顾工作的的机会。肯定会有理解有偏差并且短浅的地方。总之测试做好需要精通的东西也很多,我们可以不精通,但一定要知道它的原理,通常动手去实现demo对我们大有帮助。并且要有一门基础编程语言,我选的是java,但就测试而言python更好些,它处理数据更加容易,并且很多工作都可以以脚本来实现。
全部0条评论
快来发表一下你的评论吧 !