回顾--7年软件测试

  不知不觉,从事软件测试已有7年时间。从最开始的功能测试人员,逐渐转变成测试兼运维,不确定还算不算严格的软件测试。前段时间看到过一篇文章,里面讲述了一个人8年的软件测试工程师感悟及对软件测试行业的发展看法,写了十个软件测试工程师发展方向的知识架构体系。感觉我的经历跟他这几个体系很是吻合,所以感触颇深,下面结合我自己的经历简单介绍一下。

  一.Linux必备知识

  刚刚入行时,基本都是熟悉软件测试的生命周期,及公司内较为成熟和适合的流程规范,即写测试用例,评审用例,执行用例,反馈问题。很庆幸我的第一家公司的流程还算比较正规,为我打下了软件测试最基本的职业要求,也让我接触到了Linux。Linux作为现在最流行的软件环境系统,一定需要掌握以下最最基本的要求:

  1.Linux系统的简介与准备

  2.Linux远程管理工具Xshell

  3.Linux文件属性与管理    ls -l 文件的rwx所代表的意思,结合用户/组的概念

  4.Linux用户与组管理        使用不同用户管理不同的应用,避免都使用root

  5.Linux文件编辑器

  6.Linux常用系统配置     网络设置/环境变量/硬盘设置等

  7.Linux软件安装       yum/tar/make等

  二.Shell脚本

  在第一家公司时,发布war包都是在weblogic的页面点击上传,涉及到的linux操作也仅限于查看输出日志,启停服务,当时只是熟练使用命令操作,如果当时了解了shell,应该可以做的更简单。在第二家公司时,开发只管提交代码,打包和部署及环境的管理都是测试的职责,此时接触了shell,并且初步了解了持续集成。

  掌握shell脚本,包括shell基础与应用,shell逻辑控制,shell逻辑函数等等

  三.互联网程序原理

  自动化必由之路:前端开发基础知识以及互联网网络必备知识。结合我的工作经验,我只掌握了开发者工具测试应用/HTTP协议/Cookie等

  四.Mysql数据库

  软件测试工程师必备的Mysql数据库知识,不仅仅停留在“增删改查”,还应该掌握Mysql环境的搭建,备份与恢复,Mysql高级查询等

  五.抓包工具

  此部分我没有使用过,简单提一下几种工具:Fiddler,Wireshark,Sniffer,Tcpdump等

  六.接口测试工具

  接口测试神器,你绕不开的强大工具:Jmeter。在第三家公司使用到了Jmeter,针对回归接口还是用很大帮助的,可以结合ant配置在jenkins里或者使用命令来后台执行,并输出报告

  七.Web自动化测试Java&Python

  目前我正在学习Python selenium + unittest框架 +pageobject设计模型,还没有完全学完,希望对以后工作中可以用到并节省人力

  八.接口与手机自动化

  7年的经验我却没有做过移动端的测试,以后需要了解Appium

  九.敏捷测试&TestOps构建

  敏捷即快速交付,持续集成Jenkins框架则需烂熟于心。而我使用的是gitliab-ci,gitlab自带的CI框架,原理都是类似的,目的也都是为了持续集成与交付

  十.性能测试&安全测试

  这两方面我没有太多涉猎,性能偶尔简单测一下并发,并没有过完整方案,我觉得这两方面作为主攻都可以单独找到不错的工作。

  以上即为软件工程师发展方向的知识架构体系,并不建议一上来就做自动化/性能/安全,我个人觉得写测试用例,手工执行功能测试是基础,打好基础才能对其他的测试方向有深刻理解。以我的经验,如果此片文章有幸被初学者看到(测试大牛请忽略),建议3-4年完成前六个体系,之后再接触后面内容可能更得心应手,不过在这个快节奏的时代,可能并不允许你慢慢消化吸收,那你可能就要付出更多的努力,只要你坚持了,一定会有成效。

猜你喜欢

转载自www.cnblogs.com/Nodesire/p/9484057.html
今日推荐