在上一篇文章说过,我是一名大专生,实在是拿着4000的工资,感觉过不下去了,学习了4个月的软件测试拿到了8300的工资,现在已经工作了一个月,公司还招聘了测试,公司的一些老人都待着业务、讲技术什么点、这个时候这个活就交到我身上来了,我还纳闷着呢,我这刚熟悉公司,领导就把这个任务交个我,新人啥也不会,就会计算机!
于是我就叫他写测试用例、缺陷报告、工作流程、工作标准等。后来领导验收工作,他也没有揽功劳,说是我指导的,然后领导就让我带着他一起,我就这样多了一名小弟。
熟练使用各种测试工具
作为测试工程师呢,除了会基本的测试需求分析、测试用例编写、缺陷报告编写等工作之外呢,还得会用很多的测试工具。
- APP测试工具
因为我就是做APP开发的,所以经常的要使用adb命令和monkey命令对APP进行测试,查看APP运行的日志、运行状态。
尤其是这个过程中,会在APP的界面上做一个小功能,显示APP运行时的一些基本信息和状态和运行报错的信息,直接用adb命令导出。
其他的就很少用了,可能有网友要问,不做APP的功能自动化测试么?说实话,当时真没有。现在可能会有用到像appium、airtest等。
抓包工具
抓包工具真的是非常重要的测试工具了,像查看APP和服务器之间的数据传输、查看浏览器网页和服务器的数据传输,都得用它。
一般的常用Fiddler、Charles等专门的抓包工具,有时候不需要特别处理的抓包时,都会用谷歌浏览器、火狐浏览器的F12——开发者模式,也是相当不错的选择呢。
接口测试工具
一般的,接口测试做的不多,因为接口变动并不是很大,多的都是前端调用接口。所以这里面的话呢,像Postman用的会多一些,其他的,JMeter在接口这块儿我以前用的真不多,毕竟人家JMeter是明摆的性能测试工具啊。
用Postman做接口测试的时候呢,操作起来也是毫无压力的,就那么几个单词,就像操作其他软件一样的,也是很简单的。而且测试一次之后,很久才需要进行再一次测试,因为接口基本不变的。
性能测试工具
这个也是领导要求用的,说是要抵御促销活动的大量的数据访问、防止高并发导致系统服务崩溃,虽然我嘴上没说,但是系统有几个人、促销活动能吸引多少人,我还是有数的,可能全公司人都有数,就他没数(也可能是故意的)。
我就开始研究性能测试工具了。和领导协商用Loadrunner,他说太贵了。
然后就选了最常用的JMeter了,开源,免费,好用。就是需要配个Java开发环境。剩下的其他的就没那么费劲了。内置的模块也是够用的。
AI工具用于测试使用
随着AI内容生成技术(AIGC)的兴起和广泛的应用,现在连测试工程师都要求会用AI进行测试工作了。
是的,你没看错!是要用AI进行测试工作。
比如,我们现在正在研究如何使用AI帮忙分析测试需求、和编写测试用例。这也是领导的意思,说是研究一下。但是要怎么用老板也没说,但是我听的是有点心惊胆战的,莫非是想替换我?
但是不管怎么说,AI作为目前的大主流技术,还是要研究一下的,比如我问一个AI让其给我生成一个python代码。别说,还真挺不错的,居然是对的,可以运行:
而且领导还让我研究一下大模型,顺便训练一个能分析测试点、写测试用例、生成测试脚本的大模型。天哪,真的是不得不学习啊!
其他工具上的使用要求
1.虚拟机软件
做测试的时候,绝大多数的时候是需要不同的设备进行测试的,不管是APP测试,还是Web测试。如果遇到大方的公司还好,能够多申领几台设备;如果遇到小气的公司,那只能自己想办法了,那这个时候就需要使用虚拟机或者模拟器软件。
像PC端的虚拟机软件,VMware,或者Virtual Box等,可以虚拟化PC端的Linux系统、Windows系统等;
还有能模拟Android系统运行的雷电、夜神、mumu等移动端模拟器。
2.数据库操作工具
做系统的测试的时候呢,有一个事情是必不可免的,那就是查数据,看看添加的数据、修改的数据、删除的数据,在系统里面是不是都是准确的。这往往就需要我们测试人员能够使用工具查看数据库中的数据。
所以像Navicate、Heidisql等能够连接数据库的软件就是我们必须会的了。
Linux服务器连接工具
会使用这类型的工具,并不是必备的,只是为了测试人自己的工作效率高一点而已。因为测试工程师有时候必须要查看一些服务器的信息才能够完成测试,或者提交bug,那这个时候如果我们不会这个服务器的操作,拿不到我们想要的内容怎么办?
可能有人会说测试工程师要会搭建测试环境,说实话,在我做了一年多的测试期间,我只在服务器上操作过2次:
第一次是导出日志:就用了一下查看日志在哪里的命令,然后把日志下载到Windows系统本地去看的。
哪些闲的没事儿干的,才会在系统直接看。因为Windows操作多方便啊,很快就能找到。我不是专业的运维,所以有些命令真心记不住,有查命令的时间,我想找的数据都找到了。如果面试要问的话,那还是得会的。
第二次就是在了Linux上运行JMeter脚本。因为Windows系统能力有限,所以直接申请了一个高性能的服务器做性能测试。
开发环境和编程工具
虽然是做测试的,但是一些开发的知识还是要知道的,要不然都没法跟他们交流问题,也可能会说错一些软件的缺陷。
比如说网页中的弹窗,alert、prompt、confirm就是各自不同的,那我们要知道如何使用专业术语描述这个东西。
再比如说,Android应用的弹窗和提示,通知消息,页面等也需要有专业的术语表示。
另外就是前面说的有时候需要安装一些测试工具软件,可能需要配置好开发环境。比如JDK环境配置,Android开发环境等。
大家如果有什么技术问题,也可以和小编沟通呢。